I tested that theory on a Bollinger Band mean-reversion system for $BTC and $ETH . The data says otherwise. 🔬
📊 Test parameters
• Assets: BTCUSDT and ETHUSDT (tested separately)
• Timeframe: 1H
• Period: Jan 2024 to Present
• Friction: 0.05% commission per trade, no slippage modelled
• Sample: 153 trades on BTCUSDT , 87 trades on $ETH (selected sets)
• Process: Optimized 192 parameter combinations on 2024 data only, then ran one continuous walk-forward test over the full history.
📐 Strategy rules
• Long: Previous 1H candle closed below the lower Bollinger Band, current candle closes back above it, and price is above a long-term EMA. (Shorts are the mirror image).
• The trend filter ensures a strong breakout is never faded head-on.
• Stop: Fixed ATR-based hard stop. No trailing.
• Target: Fixed ATR-based full exit inside the opposite band.
• Risk: Position size is a fixed fraction of equity divided by stop distance.
⚠️ Reality check
The flattering part: The selected sets were net-positive in every single year. returned +15.34% (max drawdown -7.56%). ETHUSDT returned +17.37% (max drawdown -5.18%).
The part that hurts: Those sets were chosen after seeing the full history. That isn't clean out-of-sample data. When I judged every set that was profitable in 2024 only on the later blind years:
Only 10.59% of BTCUSDT sets and 12.77% of ETHUSDT sets stayed positive in every out-of-sample year.
The median out-of-sample return fell to -2.89% for BTCUSDT and -2.24% for ETHUSDT.
The worst-case scenario was -17.68% for BTCUSDT and -20.69% for ETHUSDT.
A better training year did not predict a better future (Rank correlation was negative for both assets).
Exactly 0 sets met my quality targets for out-of-sample profit factor and drawdowns.
🛠 How I handle it
Why it fails: Mean reversion earns small, frequent wins, but gets crushed when price trends heavily through the bands. The 2024 optimization mostly just memorized that specific year's market chop. It didn't carry forward.
What I do about it: I keep the trend-bias filter, add range-regime and volatility filters so the system stays entirely out of trending conditions, and fix risk per trade with ATR-based stops. I judge sets on their worst year, not their best total return.
This is research, not a promise of returns. If you want to see how a systematic approach actually behaves live—drawdowns included—follow my Binance lead-trader profile. 📉
(Disclaimer: Backtested and past results are hypothetical and do not guarantee future performance. Not financial advice.)
