Bollinger/Keltner squeezelong
Backtest Results @ GLD • 10 Minutes

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.

Equity Curve

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.

Equity Curve
Strategy
Asset
Strategy Drawdown
Asset Drawdown

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:

  1. Total Return: Total Return: -4.00% vs 43.70% for the asset
  2. Max Drawdown: Max Drawdown: -8.00% vs -8.30% for the asset
  3. Exposure: Exposure: 18.60% time in the market
  4. Win Rate: Win Rate: 37.0%, vs 41.5% minimum
  5. Reward/Risk Ratio: Reward/Risk Ratio: 1.41

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.

Bollinger/Keltner squeeze: enter a position when

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)

Bollinger/Keltner squeeze: exit a position when

Any of the following: # Papa
  10min Chart(close) < 10min Bollinger Bands ® (20, 2, 2, 0, close), Middle

Bollinger/Keltner squeeze @ GLD • 10 Minutes (-4.0%) backtest results explained by Mike

Mike

Author

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?

Tabular metrics of Bollinger/Keltner squeeze backtested on GLD • 10 Minutes

Total Trades131Net Profit-4.0%Buy & Hold Profit43.7%
Win Rate37%Reward/Risk Ratio1.41Max Drawdown-8.0%
Asset Max Drawdown-8.3%Exposure18.6%Avg Candles in Position13.2
Sharpe Ratio-1.75Sortino Ratio-2.00Realized Volatility6.00%
Max Winning Streak3Avg Winning Streak1.4Max Losing Streak9
Avg Losing Streak2.3Avg Trades per Month20.8Avg Trades per Day0.7
Return Std Dev0.6Loss Std Dev0.3Win Std Dev0.6
Expectancy-0.1Beta0.16

All backtests for Bollinger/Keltner squeeze

backtestexposurepeformance vs assetdrawdown vs assetwin%reward/risk
BTCUSD • 1 Minute
13%(0.2%/9.8%) 0.02x(-0.4%/-1.6%) 0.25x491.2
EURUSD • 1 Minute
17%(-0.1%/-0.9%) 0.11x(-0.5%/-1.2%) 0.42x282.4
GLD • 1 Minute
18%(3.6%/0.0%) Infinityx(-1.0%/-5.5%) 0.18x354.0
NVDA • 1 Minute
24%(8.1%/16.7%) 0.49x(-1.8%/-4.4%) 0.41x432.4
SPY • 1 Minute
23%(1.0%/4.6%) 0.22x(-1.6%/-2.1%) 0.76x332.4
TSLA • 1 Minute
23%(-14.5%/-10.3%) 1.41x(-15.5%/-21.4%) 0.72x281.3
WMT • 1 Minute
18%(-3.8%/-5.4%) 0.70x(-3.9%/-6.4%) 0.61x311.4
BTCUSD • 10 Minutes
19%(1.0%/27.2%) 0.04x(-6.3%/-12.1%) 0.52x351.9
EURUSD • 10 Minutes
24%(-0.3%/6.5%) -0.05x(-4.3%/-4.3%) 1.00x302.3
GLD • 10 Minutes
19%(-4.0%/43.7%) -0.09x(-8.0%/-8.3%) 0.96x371.4
NVDA • 10 Minutes
25%(-12.1%/32.9%) -0.37x(-24.9%/-42.8%) 0.58x361.6
SPY • 10 Minutes
26%(-0.3%/14.3%) -0.02x(-5.6%/-20.7%) 0.27x381.6
TSLA • 10 Minutes
24%(4.7%/59.0%) 0.08x(-32.8%/-55.3%) 0.59x401.6
WMT • 10 Minutes
27%(17.3%/40.1%) 0.43x(-6.2%/-23.8%) 0.26x441.9
BTCUSD • 1 Hour
25%(19.1%/71.4%) 0.27x(-21.5%/-31.0%) 0.69x421.7
EURUSD • 1 Hour
26%(4.9%/8.2%) 0.60x(-2.8%/-9.0%) 0.31x411.9
GLD • 1 Hour
16%(6.2%/117.6%) 0.05x(-18.6%/-22.2%) 0.84x421.6
NVDA • 1 Hour
26%(364.4%/3126.3%) 0.12x(-34.2%/-68.0%) 0.50x492.5
SPY • 1 Hour
22%(8.9%/106.7%) 0.08x(-12.4%/-35.1%) 0.35x411.7
TSLA • 1 Hour
21%(505.6%/1395.5%) 0.36x(-34.5%/-75.1%) 0.46x433.1
WMT • 1 Hour
25%(25.8%/138.2%) 0.19x(-9.3%/-26.9%) 0.35x461.6
BTCUSD • Daily
28%(2515.4%/67440.2%) 0.04x(-51.5%/-83.8%) 0.61x454.2
EURUSD • Daily
25%(5.2%/10.8%) 0.48x(-9.1%/-23.3%) 0.39x391.9
GLD • Daily
17%(13.2%/595.1%) 0.02x(-21.1%/-45.3%) 0.47x391.9
NVDA • Daily
26%(577.6%/373678.5%) 0.00x(-51.4%/-90.0%) 0.57x432.5
SPY • Daily
22%(14.1%/1316.3%) 0.01x(-39.4%/-56.7%) 0.69x391.9
TSLA • Daily
24%(1451.6%/24185.2%) 0.06x(-38.8%/-75.0%) 0.52x473.9
WMT • Daily
26%(-44.0%/9978.0%) -0.00x(-74.7%/-50.6%) 1.48x361.6