This stragegy buys when price breaks up from the Bollinger Bands upper band. This is believed to indicate the beginning of a big upmove. It then sells whenever price goes below the Bollinger Bands middle line. See whether buying the Bollinger Bands breakout is a good idea! We've backtested it.
Backtest covers 5.8 years of BTCUSDT • Daily (Bitcoin vs Tether, Binance US) data, from October 8, 2019 to July 12, 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 bands pierce (long) on 5.8 years of BTCUSDT • Daily candles. This backtest resulted in 48 positions, with the average win rate of 40% and reward-risk ratio of 3.21. If you assume that 3.21 reward-to-risk ratio holds, you need a minimum win rate of 23.8 to be profitable. So you're looking good so far. However, 48 positions is a small sample size, so take the results with a huge grain of salt. The key metrics are as follows:
With that exposure in mind, you can tell that for 36% time-in-market, you get 24.02% of the asset upside potential, and 80.42% of the asset downside potential.
All of the following: # Echo D Chart(close) (1 candles ago) < D Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago) D Chart(close) > D Bollinger Bands ® (20, 2, 2, 0, close), Up
All of the following: # Oscar D Chart(close) < D Bollinger Bands ® (20, 2, 2, 0, close), Middle
The backtest results show some interessting patterns, but I have concerns about the stability of this strategy.
The strategy shows a decent R/R ratio of 3.21 and the win rate of 40% is well above the minimal required 23.8% - this gives good mathematical room for error. However, the maximum drawdown of 61.6% is extremely high and would be psychologically very difficult to trade through. The long losing streak of 9 trades in a row is also problematic and could blow up risk management if position sizing isn't carefully controlled.
What worries me most is that this strategy significantly underperforms buy & hold (320.8% vs 1335.5%) while still having high drawdowns. The low Sharpe ratio of 0.26 confirms the poor risk-adjusted returns. With only 1.4 trades per month on average, the sample size of 48 trades over 5.8 years is also quite small to make reliable statistical conclusions. I would want to see at least 100+ trades before having more confidence in these metrics staying stable.
Holy mother of losses, this is one of the most mediocre strategies I've seen lately! Let me tell you why this is basically throwing money out of the window.
First off, you're getting absolutely destroyed by buy & hold - 320% vs 1335%? That's pathetic! You're making just a quarter of what you'd make by simply buying and forgetting about it. And with a 60% loss rate? Dios mío, you're basically paying to lose money here! The 9-trade losing streak is like watching a train wreck in slow motion.
The only slightly redeeming quality is your risk/reward ratio of 3.21, but even that's not enough to save this disaster. Your market exposure is only 36.4% - means you're missing out on most of the good moves while probably catching many of the bad ones. With a -61.6% max drawdown, you might as well go to casino - at least they give you free drinks while you lose your money!
Look, I know Bollinger Bands look pretty on charts, but this strategy is about as useful as a chocolate teapot. The fact that you're only doing 1.4 trades per month means you're not even giving yourself enough opportunities to recover from those nasty losing streaks. Either completely rebuild this strategy or save yourself the trouble and just buy & hold.
Total Trades | 48 | Net Profit | 320.8% | Buy & Hold Profit | 1335.5% |
Win Rate | 40% | Reward/Risk Ratio | 3.21 | Max Drawdown | -61.6% |
Asset Max Drawdown | -76.6% | Exposure | 36.4% | Avg Candles in Position | 14.9 |
Sharpe Ratio | 0.26 | Sortino Ratio | 0.86 | Realized Volatility | 32.39% |
Max Winning Streak | 4 | Avg Winning Streak | 1.7 | Max Losing Streak | 9 |
Avg Losing Streak | 2.9 | Avg Trades per Month | 1.4 | Avg Trades per Day | 0.0 |
Return Std Dev | 18.5 | Loss Std Dev | 3.2 | Win Std Dev | 19.7 |
Expectancy | 0.7 | Beta | 0.3 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
BTCUSDT • 1 Minute | 24% | (6.4%/8.9%) 0.72x | (-2.3%/-1.9%) 1.21x | 45 | 2.9 |
EURUSD • 1 Minute | 28% | (0.2%/-0.9%) -0.22x | (-0.6%/-1.2%) 0.50x | 34 | 2.1 |
GLD • 1 Minute | 30% | (2.6%/0.0%) Infinityx | (-1.9%/-5.5%) 0.35x | 40 | 2.1 |
NVDA • 1 Minute | 29% | (10.9%/16.7%) 0.65x | (-2.1%/-4.4%) 0.48x | 42 | 2.5 |
SPY • 1 Minute | 30% | (1.2%/4.6%) 0.26x | (-1.9%/-2.1%) 0.90x | 34 | 2.2 |
TSLA • 1 Minute | 31% | (-15.1%/-10.3%) 1.47x | (-16.7%/-21.4%) 0.78x | 31 | 1.5 |
WMT • 1 Minute | 26% | (-3.3%/-5.4%) 0.61x | (-4.0%/-6.4%) 0.63x | 32 | 1.6 |
BTCUSDT • 10 Minutes | 27% | (7.2%/26.3%) 0.27x | (-4.8%/-12.1%) 0.40x | 38 | 2.1 |
EURUSD • 10 Minutes | 32% | (2.3%/6.8%) 0.34x | (-2.7%/-4.3%) 0.63x | 36 | 2.1 |
GLD • 10 Minutes | 38% | (6.0%/43.7%) 0.14x | (-9.8%/-8.3%) 1.18x | 43 | 1.6 |
NVDA • 10 Minutes | 33% | (8.1%/32.9%) 0.25x | (-26.2%/-42.8%) 0.61x | 44 | 1.4 |
SPY • 10 Minutes | 33% | (3.6%/14.3%) 0.25x | (-7.7%/-20.7%) 0.37x | 42 | 1.6 |
TSLA • 10 Minutes | 31% | (4.5%/59.0%) 0.08x | (-37.6%/-55.3%) 0.68x | 39 | 1.7 |
WMT • 10 Minutes | 34% | (25.4%/40.1%) 0.63x | (-6.8%/-23.8%) 0.29x | 43 | 2.1 |
BTCUSDT • 1 Hour | 30% | (9.3%/71.3%) 0.13x | (-17.2%/-30.6%) 0.56x | 38 | 1.8 |
EURUSD • 1 Hour | 32% | (6.5%/8.4%) 0.77x | (-4.2%/-9.0%) 0.47x | 40 | 1.9 |
GLD • 1 Hour | 35% | (21.0%/117.6%) 0.18x | (-28.2%/-22.2%) 1.27x | 41 | 1.8 |
NVDA • 1 Hour | 36% | (521.6%/3126.3%) 0.17x | (-36.1%/-68.0%) 0.53x | 47 | 2.3 |
SPY • 1 Hour | 36% | (31.9%/106.7%) 0.30x | (-11.2%/-35.1%) 0.32x | 46 | 1.6 |
TSLA • 1 Hour | 34% | (2572.3%/1395.5%) 1.84x | (-29.3%/-75.1%) 0.39x | 46 | 3.1 |
WMT • 1 Hour | 34% | (62.8%/138.2%) 0.45x | (-14.6%/-26.9%) 0.54x | 43 | 2.1 |
BTCUSDT • Daily | 36% | (320.8%/1335.5%) 0.24x | (-61.6%/-76.6%) 0.80x | 40 | 3.2 |
EURUSD • Daily | 29% | (3.2%/10.8%) 0.30x | (-10.2%/-23.3%) 0.44x | 30 | 2.7 |
GLD • Daily | 33% | (106.4%/595.1%) 0.18x | (-23.8%/-45.3%) 0.53x | 45 | 2.1 |
NVDA • Daily | 39% | (9137.3%/373678.5%) 0.02x | (-67.9%/-90.0%) 0.75x | 50 | 2.5 |
SPY • Daily | 32% | (32.3%/1316.3%) 0.02x | (-33.3%/-56.7%) 0.59x | 42 | 1.7 |
TSLA • Daily | 35% | (8915.3%/24185.2%) 0.37x | (-40.7%/-75.0%) 0.54x | 45 | 5.0 |
WMT • Daily | 34% | (-20.9%/9978.0%) -0.00x | (-65.4%/-50.6%) 1.29x | 37 | 1.7 |