Bollinger bands pierce (long)long
Backtest Results @ WMT • 1 Hour

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.

Equity Curve

Backtest covers 5.7 years of WMT • 1 Hour (Walmart Inc.) data, from October 25, 2019 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 bands pierce (long) on 5.7 years of WMT • 1 Hour candles. This backtest resulted in 187 positions, with the average win rate of 43% and reward-risk ratio of 2.07. If you assume that 2.07 reward-to-risk ratio holds, you need a minimum win rate of 32.6 to be profitable. So you're looking good so far. The key metrics are as follows:

  1. Total Return: Total Return: 62.80% vs 138.20% for the asset
  2. Max Drawdown: Max Drawdown: -14.60% vs -26.90% for the asset
  3. Exposure: Exposure: 34.20% time in the market
  4. Win Rate: Win Rate: 43.0%, vs 32.6% minimum
  5. Reward/Risk Ratio: Reward/Risk Ratio: 2.07

With that exposure in mind, you can tell that for 34% time-in-market, you get 45.44% of the asset upside potential, and 54.28% of the asset downside potential.

Bollinger bands pierce (long): enter a position when

All of the following: # Echo
  60min Chart(close) (1 candles ago) < 60min Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago)
  60min Chart(close) > 60min Bollinger Bands ® (20, 2, 2, 0, close), Up

Bollinger bands pierce (long): exit a position when

All of the following: # Oscar
  60min Chart(close) < 60min Bollinger Bands ® (20, 2, 2, 0, close), Middle

Bollinger bands pierce (long) @ WMT • 1 Hour (62.8%) backtest results explained by Alex C, Sarah

Alex C

Author

The strategy shows some interesting statistical properties, but I am not fully convinced about its robustness. The risk/reward ratio of 2.07 combined with the 43% win rate gives us a mathematical edge, which is good. The win rate leeway of 42.67% above the minimal required win rate is quite healthy - this tells us the strategy has room for deterioration before becoming unprofitable.

However, I see some red flags here. The strategy significantly underperforms buy & hold (62.8% vs 138.2%), which is not optimal for a strategy that requires active management. The Sharpe ratio of 0.35 is quite low, suggesting poor risk-adjusted returns. Also concerning is the market exposure of only 34.2% - this means we're missing out on a lot of potential moves, which explains the underperformance versus buy & hold.

Looking at the performance by time periods, there is quite some inconsistency in the numbers. While the 6-month CAGR looks impressive at 39.6%, the longer-term CAGRs are much lower, dropping to 8.6% over 5 years. This suggests the strategy might not be as reliable over longer timeframes as one would hope. I would want to see more consistency in the periodic returns before deploying real capital with this approach.

Sarah

Author

Dios mío, this strategy is a complete disaster! Let me tell you why you should probably throw this in the garbage.

First of all, the strategy severely underperforms buy & hold (62.8% vs 138.2%). This is embarassing! You're doing twice worse than someone who just bought and forgot about it. Why even bother trading if you can't beat a simple buy & hold? The market exposure of 34.2% shows you're missing most of the upside moves.

The win rate is absolutely terrible - only 43%! Even though your Risk/Reward ratio looks decent at 2.07, you're losing money more than half the time. Yes, you have some safety margin above the minimal win rate, but who wants to lose constantly? The psychological impact would kill most traders.

Looking at the performance periods - it's completely inconsistent! One month you're down 22.8%, then suddenly up 39.6% in 6 months. This kind of volatility makes no sense for serious trading. The Sharpe ratio of 0.35 is embarrasingly low - anything below 1.0 is considered poor risk-adjusted returns.

If you want my honest opinion - and you know I always give it - this strategy needs major work or should be abandoned. It's not worth the time and effort when it can't even beat a simple buy & hold approach. Back to the drawing board!

Tabular metrics of Bollinger bands pierce (long) backtested on WMT • 1 Hour

Total Trades187Net Profit62.8%Buy & Hold Profit138.2%
Win Rate43%Reward/Risk Ratio2.07Max Drawdown-14.6%
Asset Max Drawdown-26.9%Exposure34.2%Avg Candles in Position17.3
Sharpe Ratio0.35Sortino Ratio0.84Realized Volatility9.88%
Max Winning Streak7Avg Winning Streak2.0Max Losing Streak7
Avg Losing Streak2.6Avg Trades per Month5.4Avg Trades per Day0.2
Return Std Dev1.7Loss Std Dev0.8Win Std Dev1.5
Expectancy0.3Beta0.33

All backtests for Bollinger bands pierce (long)

backtestexposurepeformance vs assetdrawdown vs assetwin%reward/risk
BTCUSDT • 1 Minute
24%(6.4%/8.9%) 0.72x(-2.3%/-1.9%) 1.21x452.9
EURUSD • 1 Minute
28%(0.2%/-0.9%) -0.22x(-0.6%/-1.2%) 0.50x342.1
GLD • 1 Minute
30%(2.6%/0.0%) Infinityx(-1.9%/-5.5%) 0.35x402.1
NVDA • 1 Minute
29%(10.9%/16.7%) 0.65x(-2.1%/-4.4%) 0.48x422.5
SPY • 1 Minute
30%(1.2%/4.6%) 0.26x(-1.9%/-2.1%) 0.90x342.2
TSLA • 1 Minute
31%(-15.1%/-10.3%) 1.47x(-16.7%/-21.4%) 0.78x311.5
WMT • 1 Minute
26%(-3.3%/-5.4%) 0.61x(-4.0%/-6.4%) 0.63x321.6
BTCUSDT • 10 Minutes
27%(7.2%/26.3%) 0.27x(-4.8%/-12.1%) 0.40x382.1
EURUSD • 10 Minutes
32%(2.3%/6.8%) 0.34x(-2.7%/-4.3%) 0.63x362.1
GLD • 10 Minutes
38%(6.0%/43.7%) 0.14x(-9.8%/-8.3%) 1.18x431.6
NVDA • 10 Minutes
33%(8.1%/32.9%) 0.25x(-26.2%/-42.8%) 0.61x441.4
SPY • 10 Minutes
33%(3.6%/14.3%) 0.25x(-7.7%/-20.7%) 0.37x421.6
TSLA • 10 Minutes
31%(4.5%/59.0%) 0.08x(-37.6%/-55.3%) 0.68x391.7
WMT • 10 Minutes
34%(25.4%/40.1%) 0.63x(-6.8%/-23.8%) 0.29x432.1
BTCUSDT • 1 Hour
30%(9.3%/71.3%) 0.13x(-17.2%/-30.6%) 0.56x381.8
EURUSD • 1 Hour
32%(6.5%/8.4%) 0.77x(-4.2%/-9.0%) 0.47x401.9
GLD • 1 Hour
35%(21.0%/117.6%) 0.18x(-28.2%/-22.2%) 1.27x411.8
NVDA • 1 Hour
36%(521.6%/3126.3%) 0.17x(-36.1%/-68.0%) 0.53x472.3
SPY • 1 Hour
36%(31.9%/106.7%) 0.30x(-11.2%/-35.1%) 0.32x461.6
TSLA • 1 Hour
34%(2572.3%/1395.5%) 1.84x(-29.3%/-75.1%) 0.39x463.1
WMT • 1 Hour
34%(62.8%/138.2%) 0.45x(-14.6%/-26.9%) 0.54x432.1
BTCUSDT • Daily
36%(320.8%/1335.5%) 0.24x(-61.6%/-76.6%) 0.80x403.2
EURUSD • Daily
29%(3.2%/10.8%) 0.30x(-10.2%/-23.3%) 0.44x302.7
GLD • Daily
33%(106.4%/595.1%) 0.18x(-23.8%/-45.3%) 0.53x452.1
NVDA • Daily
39%(9137.3%/373678.5%) 0.02x(-67.9%/-90.0%) 0.75x502.5
SPY • Daily
32%(32.3%/1316.3%) 0.02x(-33.3%/-56.7%) 0.59x421.7
TSLA • Daily
35%(8915.3%/24185.2%) 0.37x(-40.7%/-75.0%) 0.54x455.0
WMT • Daily
34%(-20.9%/9978.0%) -0.00x(-65.4%/-50.6%) 1.29x371.7