Breakthrough BB
This EA implements a Bollinger Band breakout strategy that enters trades when price breaks through the upper or lower Bollinger Band. It targets momentum-driven moves after price escapes the BB channel, with stop loss and take profit defined relative to the band width or fixed pip distances.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | +1.69% | +1.47% | 3.36% | 129 | 46.50% | 0.41 | 0.50 | 6 | +$1.31 | Reliable |
| GBPUSD | -6.80% | -5.94% | 10.71% | 127 | 43.70% | -1.15 | -0.64 | 8 | −$5.58 | Reliable |
| USDJPY | -0.70% | -0.61% | 3.79% | 124 | 47.20% | -0.13 | -0.18 | 6 | −$0.44 | Reliable |
| XAUUSD | -90.36% | -85.53% | 95.75% | 38 | 47.40% | -1.77 | -0.94 | 7 | −$237.80 | Account stopped out |
Profitable on 1 of 4 markets with reliable results.
Converted from MQL5 to Python and run with the same rules for every EA. Positions use MT5 lot sizes (100,000 units per FX lot, 100 oz per gold lot) with 1:100 leverage, one order at a time, and a stop-out below 10% of the starting balance. Sharpe is computed from the equity curve. Results marked as unreliable are shown for completeness only.
Against the other Breakout EAs with a reliable result on the same market: EURUSD: better than 56% of 18 · GBPUSD: better than 6% of 18 · USDJPY: better than 41% of 17 · XAUUSD: better than 11% of 19
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 62% | +2.38% 2026-04 | -1.95% 2026-07 |
| GBPUSD | 46% | +1.92% 2026-01 | -4.19% 2026-04 |
| USDJPY | 46% | +2.54% 2026-03 | -1.41% 2026-09 |
| XAUUSD | 15% | +27.66% 2026-01 | -92.40% 2026-02 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Hit a stop-out in our backtest (equity below 10%) on XAUUSD
High: stopped out in our backtest, or martingale/grid sizing without a stop loss. Elevated: martingale or grid sizing with a stop loss, or several positions at once without a stop loss. What the label means and what we found →
Strategy analysis
The strategy concept is based on Bollinger Band breakouts, going long when price closes above the upper band and short when it closes below the lower band, assuming momentum continuation after price escapes the volatility channel. Entry conditions require a candle close beyond the upper band for buy signals or below the lower band for sell signals, with some implementations offering a pullback-after-breakout option to filter false breakouts. Exit conditions include fixed-pip stop loss and take profit, or dynamic levels derived from Bollinger Band width, and some versions may close positions on opposing breakout signals. Position sizing supports fixed lots or dynamic lot calculation based on account balance with a risk percentage parameter. Money management provides stop loss protection without martingale or grid pyramiding mechanisms, keeping overall risk manageable though consecutive losses from failed breakouts remain a concern.
Strengths
- Bollinger Band breakout logic is clear and performs well in trending markets based on volatility channel escapes
- Stop loss and take profit are provided, preventing unlimited loss on any single trade
- Adjustable parameters allow traders to optimize BB settings for different instruments and timeframes
- Strategy is straightforward and easy to understand, backtest, and validate
- No martingale or grid pyramiding, keeping risk structure relatively simple and manageable
Weaknesses
- Bollinger Band breakouts generate frequent false signals in ranging markets, leading to consecutive stop losses
- Fixed stop loss and take profit don't adapt to changing market volatility, potentially too tight during high-volatility periods
- Lacks multi-timeframe confirmation, making single-timeframe signals susceptible to noise
- No spread filter detected, meaning breakout profits can be consumed by wide spreads
- Missing position count check and new bar check creates risk of duplicate order placement
Possible improvements
- Add multi-timeframe confirmation, e.g., H4 trend direction with H1 breakout signal, to reduce false breakouts
- Implement ATR-based dynamic stop loss and take profit for volatility-adaptive exit levels
- Add new bar check and maximum position limit to prevent duplicate entries on the same bar and overexposure
- Add spread filter and ranging market filter (e.g., ADX) to avoid entries during narrow consolidation and high spreads
Risk assessment
Overall risk: Medium
- Missing new bar check may cause duplicate orders on the same candle, increasing risk exposure
- Fixed stop loss can be gap-overshot during extreme volatility, resulting in actual loss exceeding expectations
- Frequent false breakouts in ranging markets trigger consecutive stop losses, accumulating drawdown
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
BB_Period | 20 | Bollinger Bands period |
BB_Deviation | 2.0 | Bollinger Bands standard deviation multiplier |
BB_Shift | 0 | Bollinger Bands offset |
LotSize | 0.1 | Fixed trading lot size |
StopLoss | 300 | Stop loss in points |
TakeProfit | 600 | Take profit in points |
MagicNumber | 18222 | EA magic number |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.