This strategy buys whenever Bollinger Bands is squeezed into Kelther Channel. This normally indicates that the market is going sideways. This strategy then sells whenever price goes below the Bollinger Bands middle line. The idea is to buy during the obviously sideways market, hoping for it to burst.
Backtest covers 12.6 months of GLD • 10 Minutes (SPDR Gold Trust) data, from June 28, 2024 to July 11, 2025.
Equity curve is the strategy's performance over time. You should compare it to the asset's Buy & Hold performance. In general, you want the blue area to be well above the gray area.
Drawdown is how much losses (realized or unrealized) the strategy has had if compared to the highest equity peak. Compare this to the asset's drawdown to see whether your strategy does a decent job of isolating you from downside volatility. In general, the red area must be well within the gray area.
So, we have backtested Bollinger/Keltner squeeze on 12.6 months of GLD • 10 Minutes candles. This backtest resulted in 131 positions, with the average win rate of 37% and reward-risk ratio of 1.41. If you assume that 1.41 reward-to-risk ratio holds, you need a minimum win rate of 41.5 to be profitable. So you're screwed! The key metrics are as follows:
With that exposure in mind, you can tell that for 19% time-in-market, you get -9.15% of the asset upside potential, and 96.39% of the asset downside potential.
All of the following: # Whiskey 10min Chart(close) (2 candles ago) < 10min Bollinger Bands ® (20, 2, 2, 0, close), Up (2 candles ago) 10min Chart(close) (1 candles ago) > 10min Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago) 10min Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago) < 10min Keltner Channel (20, SMA, 10, 2, 0, close), Up (1 candles ago) 10min BB (20, 2, 2, 0, close) (1 candles ago) > 10min Keltner (20, SMA, 10, 2, 0, close) (1 candles ago)
Any of the following: # Papa 10min Chart(close) < 10min Bollinger Bands ® (20, 2, 2, 0, close), Middle
Yo fam, this backtest is giving me some mixed feelings tbh 😅 The strategy caught my eye with that sweet Bollinger/Keltner squeeze setup, but the numbers are making me scratch my head a bit.
Looking at the bright side, we're getting decent trading frequency with about 21 trades per month, and that 1.41 Risk/Reward ratio isn't too shabby! Plus, that win rate leeway is looking thicc - being 36.59% above what we need is pretty solid. I'm also digging that we're only exposed to the market 18.6% of the time, which means less overnight risk and more time for Wendy's shifts 🍔
But here's where it gets kinda rough bros - that -4% net profit over a year when buy & hold made 43.7% is a big oof 😬 The 37% win rate needs some work too, especially with those 9-trade losing streaks that could seriously wreck someone's account. That -8% max drawdown might not look huge, but it hits different when you're actually living through it, ya feel me?
Total Trades | 131 | Net Profit | -4.0% | Buy & Hold Profit | 43.7% |
Win Rate | 37% | Reward/Risk Ratio | 1.41 | Max Drawdown | -8.0% |
Asset Max Drawdown | -8.3% | Exposure | 18.6% | Avg Candles in Position | 13.2 |
Sharpe Ratio | -1.75 | Sortino Ratio | -2.00 | Realized Volatility | 6.00% |
Max Winning Streak | 3 | Avg Winning Streak | 1.4 | Max Losing Streak | 9 |
Avg Losing Streak | 2.3 | Avg Trades per Month | 20.8 | Avg Trades per Day | 0.7 |
Return Std Dev | 0.6 | Loss Std Dev | 0.3 | Win Std Dev | 0.6 |
Expectancy | -0.1 | Beta | 0.16 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
BTCUSD • 1 Minute | 13% | (0.2%/9.8%) 0.02x | (-0.4%/-1.6%) 0.25x | 49 | 1.2 |
EURUSD • 1 Minute | 17% | (-0.1%/-0.9%) 0.11x | (-0.5%/-1.2%) 0.42x | 28 | 2.4 |
GLD • 1 Minute | 18% | (3.6%/0.0%) Infinityx | (-1.0%/-5.5%) 0.18x | 35 | 4.0 |
NVDA • 1 Minute | 24% | (8.1%/16.7%) 0.49x | (-1.8%/-4.4%) 0.41x | 43 | 2.4 |
SPY • 1 Minute | 23% | (1.0%/4.6%) 0.22x | (-1.6%/-2.1%) 0.76x | 33 | 2.4 |
TSLA • 1 Minute | 23% | (-14.5%/-10.3%) 1.41x | (-15.5%/-21.4%) 0.72x | 28 | 1.3 |
WMT • 1 Minute | 18% | (-3.8%/-5.4%) 0.70x | (-3.9%/-6.4%) 0.61x | 31 | 1.4 |
BTCUSD • 10 Minutes | 19% | (1.0%/27.2%) 0.04x | (-6.3%/-12.1%) 0.52x | 35 | 1.9 |
EURUSD • 10 Minutes | 24% | (-0.3%/6.5%) -0.05x | (-4.3%/-4.3%) 1.00x | 30 | 2.3 |
GLD • 10 Minutes | 19% | (-4.0%/43.7%) -0.09x | (-8.0%/-8.3%) 0.96x | 37 | 1.4 |
NVDA • 10 Minutes | 25% | (-12.1%/32.9%) -0.37x | (-24.9%/-42.8%) 0.58x | 36 | 1.6 |
SPY • 10 Minutes | 26% | (-0.3%/14.3%) -0.02x | (-5.6%/-20.7%) 0.27x | 38 | 1.6 |
TSLA • 10 Minutes | 24% | (4.7%/59.0%) 0.08x | (-32.8%/-55.3%) 0.59x | 40 | 1.6 |
WMT • 10 Minutes | 27% | (17.3%/40.1%) 0.43x | (-6.2%/-23.8%) 0.26x | 44 | 1.9 |
BTCUSD • 1 Hour | 25% | (19.1%/71.4%) 0.27x | (-21.5%/-31.0%) 0.69x | 42 | 1.7 |
EURUSD • 1 Hour | 26% | (4.9%/8.2%) 0.60x | (-2.8%/-9.0%) 0.31x | 41 | 1.9 |
GLD • 1 Hour | 16% | (6.2%/117.6%) 0.05x | (-18.6%/-22.2%) 0.84x | 42 | 1.6 |
NVDA • 1 Hour | 26% | (364.4%/3126.3%) 0.12x | (-34.2%/-68.0%) 0.50x | 49 | 2.5 |
SPY • 1 Hour | 22% | (8.9%/106.7%) 0.08x | (-12.4%/-35.1%) 0.35x | 41 | 1.7 |
TSLA • 1 Hour | 21% | (505.6%/1395.5%) 0.36x | (-34.5%/-75.1%) 0.46x | 43 | 3.1 |
WMT • 1 Hour | 25% | (25.8%/138.2%) 0.19x | (-9.3%/-26.9%) 0.35x | 46 | 1.6 |
BTCUSD • Daily | 28% | (2515.4%/67440.2%) 0.04x | (-51.5%/-83.8%) 0.61x | 45 | 4.2 |
EURUSD • Daily | 25% | (5.2%/10.8%) 0.48x | (-9.1%/-23.3%) 0.39x | 39 | 1.9 |
GLD • Daily | 17% | (13.2%/595.1%) 0.02x | (-21.1%/-45.3%) 0.47x | 39 | 1.9 |
NVDA • Daily | 26% | (577.6%/373678.5%) 0.00x | (-51.4%/-90.0%) 0.57x | 43 | 2.5 |
SPY • Daily | 22% | (14.1%/1316.3%) 0.01x | (-39.4%/-56.7%) 0.69x | 39 | 1.9 |
TSLA • Daily | 24% | (1451.6%/24185.2%) 0.06x | (-38.8%/-75.0%) 0.52x | 47 | 3.9 |
WMT • Daily | 26% | (-44.0%/9978.0%) -0.00x | (-74.7%/-50.6%) 1.48x | 36 | 1.6 |