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 WMT • 10 Minutes (Walmart Inc.) 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 WMT • 10 Minutes candles. This backtest resulted in 175 positions, with the average win rate of 44% and reward-risk ratio of 1.85. If you assume that 1.85 reward-to-risk ratio holds, you need a minimum win rate of 35.1 to be profitable. So you're looking good so far. The key metrics are as follows:
With that exposure in mind, you can tell that for 27% time-in-market, you get 43.14% of the asset upside potential, and 26.05% 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
The numbers look quite interesting but also raise some concerns. The win rate of 44% combined with the 1.85 risk/reward ratio makes mathematical sense - that's why the strategy is profitable. The minimal required win rate of 35.1% gives good safety margin, which is positive.
What worries me is the high amount of trades per month - 27.8 is quite high for this timeframe. This could make the strategy sensible to spreads and slippage which are not included in backtest. Also the maximum drawdown of 6.2% is not bad, but the 10-trade losing streak is concerning. With leverage, this could be psychologically challenging to trade.
The market exposure of 27.2% suggests this is rather conservative strategy, which explains why it underperformed buy & hold (17.3% vs 40.1%). But the Sharpe ratio of 1.93 is quite good, although Sortino of 0.49 suggests some fat tails in the negative returns distribution. I would recommend running more tests with different time periods to verify the stability of these metrics.
Yo fam, this Bollinger/Keltner squeeze strategy on WMT is looking pretty interesting! 🚀 Not gonna lie, that 17.3% net profit isn't matching the buy & hold, but check out those risk metrics!
The strategy is giving us some sweet risk management vibes with that 1.85 R/R ratio and only 27.2% market exposure. That's like working the Wendy's drive-thru - you're not there all day, but when you are, you're making those tendies count! 💪 The max drawdown is only -6.2% compared to the asset's -23.8%, which means we're keeping our account safer than my paycheck in a savings account.
What's really got me hyped is that win rate leeway - we're crushing the minimal required win rate by over 4000%! 🔥 Sure, the 44% win rate might not look amazing at first, but with those juicy average wins being almost twice the size of average losses, we're playing this smart. The only thing that makes me a bit nervous is that 10-trade losing streak - that could be rough on the mental game, ngl. But hey, if you can handle working the fryer during rush hour, you can handle this! 🍟
Madre mía, this strategy is like a mediocre student who somehow manages to pass the class - barely functioning but nothing to be proud of.
Let's be real here - a 17.3% return when the market gave you 40.1%? That's pathetic! You're basically paying money to underperform. The win rate of 44% is technically above your minimal required rate, but it's like bragging about getting a D- when you needed an F to fail. And that 10-trade losing streak? Dios mío, that's enough to make any sane trader throw their laptop out the window!
The only somewhat decent thing here is your risk management - the 1.85 risk/reward ratio isn't complete garbage, and the -6.2% max drawdown is manageable compared to the asset's -23.8%. But let's not throw a fiesta just yet - your market exposure is only 27.2%, meaning you're sitting on the sidelines most of the time while the market is making real money without you.
I wouldn't touch this strategy with a 10-foot pole. Either fix it or throw it in the basura where it belongs. The market is giving you a beautiful 40% return, and you're choosing to make less than half of that? That's not trading, that's self-sabotage!
Total Trades | 175 | Net Profit | 17.3% | Buy & Hold Profit | 40.1% |
Win Rate | 44% | Reward/Risk Ratio | 1.85 | Max Drawdown | -6.2% |
Asset Max Drawdown | -23.8% | Exposure | 27.2% | Avg Candles in Position | 14.6 |
Sharpe Ratio | 1.93 | Sortino Ratio | 0.49 | Realized Volatility | 8.63% |
Max Winning Streak | 5 | Avg Winning Streak | 1.9 | Max Losing Streak | 10 |
Avg Losing Streak | 2.3 | Avg Trades per Month | 27.8 | Avg Trades per Day | 0.9 |
Return Std Dev | 0.7 | Loss Std Dev | 0.3 | Win Std Dev | 0.8 |
Expectancy | 0.3 | Beta | 0.17 |
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 |