Exp_IBS_RSI_CCI_v4_X2
This EA uses a combination of IBS (Internal Bar Strength), RSI, and CCI indicators across two timeframes (X2) to identify mean reversion trading opportunities. It generates buy signals when indicators show oversold conditions and sell signals when overbought, with v4 representing the fourth iteration of the strategy refinement. The dual-timeframe approach adds confirmation filtering to reduce false signals.
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 | -5.13% | -4.47% | 8.66% | 144 | 45.50% | -1.10 | -0.59 | 5 | −$3.82 | Reliable |
| GBPUSD | +0.32% | +0.27% | 4.81% | 144 | 51.00% | 0.08 | 0.07 | 4 | +$0.06 | Reliable |
| USDJPY | -3.55% | -3.09% | 5.64% | 144 | 44.80% | -0.64 | -0.63 | 6 | −$2.37 | Reliable |
| XAUUSD | -90.58% | -85.80% | 91.60% | 35 | 34.30% | -2.42 | -0.99 | 4 | −$258.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 Mean Reversion EAs with a reliable result on the same market: EURUSD: better than 20% of 30 · GBPUSD: better than 66% of 32 · USDJPY: better than 22% of 32 · XAUUSD: better than 19% of 31
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 62% | +1.10% 2026-08 | -2.27% 2026-09 |
| GBPUSD | 62% | +1.77% 2026-07 | -1.92% 2026-02 |
| USDJPY | 23% | +2.18% 2026-08 | -1.39% 2025-11 |
| XAUUSD | 0% | 0.00% 2026-02 | -85.02% 2026-01 |
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 mean reversion, combining IBS to measure internal bar price position, RSI to gauge momentum overbought/oversold levels, and CCI to measure statistical deviation from mean price, with all three confirming overbought/oversold states together. Entry conditions: go long when IBS is below its threshold and RSI is in oversold territory and CCI is below its threshold, and conversely go short when IBS exceeds its upper threshold with RSI overbought and CCI above threshold, with both timeframes required to confirm alignment. Exit conditions include fixed take-profit and stop-loss levels, indicator reversal signal exits, and optional trailing stop protection. Position sizing uses either fixed lot sizes or percentage-based lot calculation derived from account balance. Money management includes maximum position limits and loss protection mechanisms, but lacks dynamic position adjustment and equity drawdown controls.
Strengths
- Triple indicator confluence effectively reduces false signals and improves entry quality
- Dual-timeframe filtering enhances signal reliability and reduces noise interference
- Mean reversion strategy performs well in ranging markets with clear, explainable logic
- Multi-dimensional indicator combination (momentum + statistical deviation + internal structure) provides more comprehensive market state assessment
Weaknesses
- Mean reversion strategy suffers continuous losses in strong trending markets, lacking trend identification filter
- Triple indicator simultaneous condition satisfaction may lead to sparse signals, missing some trading opportunities
- Fixed TP/SL does not account for market volatility changes, potentially causing frequent stop-outs during high volatility
- Lacks dynamic position sizing and equity drawdown protection mechanisms
- Dual-timeframe confirmation may cause entry delays, missing optimal entry prices
Possible improvements
- Add a trend filter (such as ADX or long-term moving average slope) to pause trading or reverse strategy logic during strong trending markets
- Introduce ATR-based dynamic stop-loss and take-profit that automatically adjusts based on market volatility
- Add a money management module including maximum drawdown limits, daily loss caps, and dynamic position sizing
Risk assessment
Overall risk: Medium
- Fixed stop-loss may be insufficient to cover normal volatility range in high-volatility markets
- Lacks trending market protection mechanism, mean reversion trades against trends leading to consecutive losses
- No maximum drawdown limit or daily loss protection, vulnerable to significant losses during extreme market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
IBS_Level_Up | 0.7 | IBS overbought upper threshold |
IBS_Level_Down | 0.3 | IBS oversold lower threshold |
RSI_Period | 14 | RSI indicator period |
RSI_Level_Up | 70 | RSI overbought threshold |
RSI_Level_Down | 30 | RSI oversold threshold |
CCI_Period | 14 | CCI indicator period |
CCI_Level_Up | 100 | CCI overbought threshold |
CCI_Level_Down | -100 | CCI oversold threshold |
StopLoss | 500 | Stop loss in points, limits max loss per trade |
TakeProfit | 750 | Take profit in points, locks profit target per trade |
LotSize | 0.1 | Fixed trading lot size |
Timeframe1 | H1 | First confirmation timeframe |
Timeframe2 | H4 | Second confirmation timeframe |
TrailingStop | 0 | Trailing stop in points, 0 to disable |
MagicNumber | 123456 | Magic number for closing, 0 for all positions |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.