Expert_ABH_BH_RSI
This EA uses the CBH_BH_RSI signal filter, which combines an RSI indicator with a moving average to identify overbought/oversold conditions and generate trade signals. It operates within MetaQuotes' standard Expert Advisor framework with fixed lot money management and no trailing stop. Entry and exit are controlled by configurable threshold values applied to the signal strength.
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.23% | +0.20% | 5.54% | 54 | 37.70% | 0.07 | 0.04 | 5 | −$0.20 | Reliable |
| GBPUSD | -0.18% | -0.15% | 7.56% | 48 | 31.90% | 0.01 | -0.02 | 10 | −$1.01 | Reliable |
| USDJPY | +4.07% | +3.53% | 5.64% | 40 | 35.00% | 0.66 | 0.72 | 8 | +$10.18 | Reliable |
| XAUUSD | -95.67% | -92.53% | 98.80% | 51 | 29.40% | -1.39 | -0.97 | 7 | −$187.59 | Account stopped out |
Profitable on 2 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 67% of 30 · GBPUSD: better than 56% of 32 · USDJPY: better than 78% of 32 · XAUUSD: better than 6% of 31
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 54% | +2.33% 2026-04 | -2.76% 2026-03 |
| GBPUSD | 54% | +2.70% 2026-04 | -3.64% 2026-02 |
| USDJPY | 62% | +2.23% 2026-03 | -1.80% 2026-04 |
| XAUUSD | 38% | +54.38% 2026-01 | -80.80% 2026-11 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Has no stop loss or trailing stop
- 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 core strategy of this EA is a mean reversion approach based on the RSI indicator, using RSI(37) to identify overbought and oversold market conditions, then applying MA(7) smoothing to the RSI value to reduce false signals. Entry conditions rely on a signal threshold mechanism: positions are opened when the composite signal strength exceeds the open threshold (40) and closed when it falls below the close threshold (20), which is a signal-strength-based long/short decision logic. Exit conditions are primarily triggered by signal reversal for closing positions, with stop loss and take profit settings supported but both defaulted to 0 meaning they are effectively disabled. Position sizing uses a fixed lot model (CMoneyFixedLot) with a default of 0.1 lots, without dynamic adjustment based on account equity. Money management combines a 10% percentage parameter with fixed lots, lacking dynamic position scaling and comprehensive risk control mechanisms. The overall strategy lacks stop loss protection and trailing stops, which may lead to significant drawdowns during trending market conditions.
Strengths
- Clear mean reversion strategy logic based on RSI; the longer 37-period RSI reduces market noise
- MA smoothing on RSI effectively filters out false signals from short-term fluctuations
- Uses MetaQuotes standard EA framework with well-structured, modular code architecture
- Flexible signal threshold mechanism allows simultaneous control of both entry and exit conditions
- Fixed lot money management is simple and intuitive, suitable for beginners to understand and debug
Weaknesses
- Stop loss and take profit default to 0, providing no hard risk protection which may lead to catastrophic losses
- No trailing stop mechanism means profits cannot be locked in during favorable market moves
- Fixed lot sizing does not dynamically adjust based on account size or volatility, resulting in coarse risk management
- Relies on a single RSI signal filter without multi-dimensional confirmation, prone to false entries
- No spread filter or slippage protection, which may cause unnecessary losses under adverse market conditions
Possible improvements
- Set reasonable default stop loss and take profit values to ensure every trade has hard risk protection
- Replace TrailingNone with an actual trailing stop module to enable profit protection and dynamic exits
- Introduce multi-timeframe confirmation or additional signal filters (e.g., MACD, Bollinger Bands) to improve signal reliability
- Add spread filtering and trading session controls to avoid trading during high-cost and low-liquidity periods
Risk assessment
Overall risk: High risk
- Stop loss and take profit both default to 0, trades have absolutely no hard stop protection
- No new bar check mechanism (Expert_EveryTick=false partially mitigates), may open repeated positions on the same bar
- Fixed lots do not adjust with account fluctuations, unable to reduce risk exposure during consecutive losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Signal_ThresholdOpen | 40 | Open signal threshold [0...100], open when signal exceeds |
Signal_ThresholdClose | 20 | Close signal threshold [0...100], close when signal falls below |
Signal_PriceLevel | 0.0 | Trade execution price level, 0 for market execution |
Signal_StopLevel | 0.0 | Stop loss level (points), 0 means no SL set |
Signal_TakeLevel | 0.0 | Take profit points |
Signal_Expiration | 4 | Pending order expiration (bars) |
Signal__PeriodRSI | 37 | RSI indicator period |
Signal__PeriodMA | 7 | MFI MA smoothing period |
Signal__Weight | 1.0 | Signal weight [0...1.0] |
Money_FixLot_Percent | 10.0 | Money management percentage |
Money_FixLot_Lots | 0.1 | Fixed trading lot size |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.