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 9.6 years of EURUSD • Daily (Euro vs USD spot (Interactive Brokers)) data, from December 2, 2015 to July 10, 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 9.6 years of EURUSD • Daily candles. This backtest resulted in 44 positions, with the average win rate of 30% and reward-risk ratio of 2.73. If you assume that 2.73 reward-to-risk ratio holds, you need a minimum win rate of 26.8 to be profitable. So you're looking good so far. However, 44 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 29% time-in-market, you get 29.63% of the asset upside potential, and 43.78% 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
Yo fam, let me break down this Bollinger Bands strategy for you! 🚀 The stats are pretty interesting, ngl.
First off, that 30% win rate might look scary, but check this out - when we win, we win BIG (2.52% average wins vs -0.92% losses). That's why we're still coming out ahead with a 3.2% net profit! The strategy's got that sweet risk/reward ratio of 2.73, and we're actually crushing the minimal required win rate by a massive 2973% margin. That's what I call breathing room! 💪
But here's where it gets a bit sketch - we're looking at less than 1 trade per month on average, and that max losing streak of 9 trades could be rough on the mental game. Plus, that -10.2% max drawdown might make some paper hands fold. The market exposure is only 29.2%, so we're not even in the game most of the time, while buy & hold did 10.8%. 📉
Overall, I'd say this strategy could be a decent side hustle if you've got the patience and steel nerves to handle those losing streaks. It's not gonna make us millionaires overnight, but it's mathematically sound and could be worth adding to the portfolio. Just gotta make sure you size those positions right and don't YOLO your whole Wendy's paycheck on one trade! 🍔💎🙌
Total Trades | 44 | Net Profit | 3.2% | Buy & Hold Profit | 10.8% |
Win Rate | 30% | Reward/Risk Ratio | 2.73 | Max Drawdown | -10.2% |
Asset Max Drawdown | -23.3% | Exposure | 29.2% | Avg Candles in Position | 14.6 |
Sharpe Ratio | -1.24 | Sortino Ratio | -1.17 | Realized Volatility | 3.56% |
Max Winning Streak | 4 | Avg Winning Streak | 1.9 | Max Losing Streak | 9 |
Avg Losing Streak | 4.4 | Avg Trades per Month | 0.8 | Avg Trades per Day | 0.0 |
Return Std Dev | 2.2 | Loss Std Dev | 0.5 | Win Std Dev | 2.8 |
Expectancy | 0.1 | Beta | 0.29 |
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 |