BolRSIMAs
This EA combines Bollinger Bands, RSI, and Moving Averages to identify mean reversion trading opportunities. It enters buy positions when price touches the lower Bollinger Band and RSI is oversold, and sell positions when price touches the upper Bollinger Band and RSI is overbought, with Moving Averages serving as trend filters. Exits are triggered when price reverts to the mean or when opposing signals occur.
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 | +0.50% | +0.43% | 0.44% | 7 | 85.70% | — | — | — | — | Too few trades |
| GBPUSD | +1.15% | +1.00% | 1.74% | 7 | 71.40% | — | — | — | — | Too few trades |
| USDJPY | -1.11% | -0.96% | 2.29% | 6 | 66.70% | — | — | — | — | Too few trades |
| XAUUSD | +18.02% | +14.67% | 17.81% | 9 | 66.70% | — | — | — | — | Too few trades |
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.
Blow-up risk: No blow-up pattern found
None of the usual blow-up patterns were found in the code, and the account was not stopped out in our backtests. That is not a guarantee: any EA can lose money.
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 core strategy is Bollinger Band mean reversion, exploiting the tendency of price to revert to the mean after touching the upper or lower bands. Entry conditions: for buy signals, price must touch or cross below the lower Bollinger Band while RSI is in oversold territory (below threshold), with Moving Averages acting as directional filters; sell signals are the mirror opposite. Exit conditions include price reverting to the Bollinger Band middle band, RSI leaving overbought or oversold zones, or opposing crossover signals appearing. Position sizing uses either fixed lots or a balance-proportional lot calculation method. Money management incorporates stop loss and take profit levels, with stops typically placed beyond the outer Bollinger Band and take profit targets near the middle band. The overall strategy logic is clear and follows a classic overbought-oversold mean reversion framework, but it carries the risk of consecutive losses during strong trending markets where mean reversion fails.
Strengths
- Multi-indicator confirmation reduces false signals and improves entry quality
- Bollinger Band mean reversion is a proven, classic strategy that performs well in ranging markets
- Dual overbought-oversold confirmation from both RSI and Bollinger Bands enhances signal reliability
Weaknesses
- Mean reversion strategy is vulnerable to consecutive losses in strong trending markets without adequate trend protection
- Default stop loss and take profit values are zero, posing risk of trading without protective orders
- Lacks new bar check mechanism, potentially opening duplicate positions on the same candle
Possible improvements
- Add trend filtering mechanism to pause mean reversion trades or switch strategy during strong trending markets
- Enforce mandatory stop loss with non-zero default values to prevent large losses during extreme market moves
- Implement new bar check and position check logic to prevent duplicate entries and overtrading
Risk assessment
Overall risk: Medium
- Default zero stop loss and take profit may expose positions to extreme market risk without protection
- Missing new bar check creates possibility of duplicate entries on the same candle
- Mean reversion strategy may incur consecutive stop losses during sustained one-directional trends
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
BollingerPeriod | 20 | Bollinger Bands period |
BollingerDeviation | 2.0 | Bollinger Bands standard deviation multiplier |
RSIPeriod | 14 | RSI indicator period |
RSIOverbought | 70 | RSI overbought threshold |
RSIOversold | 30 | RSI oversold threshold |
FastMA_Period | 10 | Fast moving average period |
SlowMA_Period | 50 | Slow moving average period |
StopLoss | 0 | Stop loss in points |
TakeProfit | 0 | Take profit in points |
LotSize | 0.1 | Fixed trading lot size |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.