RSI Levels
This EA trades based on RSI overbought and oversold levels, entering buy positions when RSI dips below the oversold threshold and sell positions when RSI rises above the overbought threshold. It aims to capture mean reversion moves as price is expected to return to neutral RSI levels. The EA includes configurable RSI period and level parameters for customization across different instruments and timeframes.
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 | -7.99% | -6.98% | 11.08% | 43 | 54.80% | -1.52 | -0.72 | 4 | −$18.51 | Reliable |
| GBPUSD | +0.94% | +0.82% | 5.55% | 51 | 68.00% | 0.17 | 0.17 | 3 | +$1.41 | Reliable |
| USDJPY | +6.66% | +5.76% | 4.77% | 81 | 53.80% | 1.24 | 1.40 | 5 | +$8.32 | Reliable |
| XAUUSD | +73.07% | +57.33% | 40.65% | 51 | 62.00% | 1.25 | 1.80 | 8 | +$172.97 | Reliable |
Profitable on 3 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 13% of 30 · GBPUSD: better than 69% of 32 · USDJPY: better than 91% of 32 · XAUUSD: better than 81% of 31
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 38% | +1.08% 2026-08 | -3.31% 2026-03 |
| GBPUSD | 69% | +2.94% 2026-04 | -2.79% 2026-09 |
| USDJPY | 62% | +3.15% 2026-03 | -1.03% 2026-01 |
| XAUUSD | 46% | +55.02% 2026-01 | -22.48% 2026-06 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: No blow-up pattern found
- Has no stop loss or trailing stop
On its own this is not a typical blow-up pattern, 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 strategy concept is rooted in mean reversion using the RSI indicator, assuming that when RSI enters overbought or oversold zones, price tends to revert toward the mean. Entry conditions trigger a buy when RSI drops below the oversold level (default 30) and a sell when RSI rises above the overbought level (default 70). Exit conditions rely on RSI returning to neutral territory or hitting predefined take-profit and stop-loss levels. Position sizing typically uses fixed lots, though some variants may include dynamic lot calculation based on account balance. Money management depends on the proper configuration of RSI level thresholds to control trade frequency and exposure, but the strategy lacks a trend environment filter which can result in consecutive counter-trend signals and losses during strong trending markets.
Strengths
- Simple and intuitive logic, easy to understand and debug
- RSI is a well-established technical indicator with statistical backing for overbought/oversold concepts
- Highly configurable parameters allow optimization across different instruments and timeframes
- Mean reversion strategy performs well in ranging markets
- Clear entry signals without ambiguous judgment criteria
Weaknesses
- Lacks trend filter, prone to consecutive counter-trend losses in strong trending markets
- Fixed lot sizing lacks dynamic money management, unable to adjust position based on market volatility
- Default stop-loss and take-profit set to 0, posing significant capital safety risk
- Single-indicator strategy is overly simplistic without multi-dimensional confirmation
- No new bar check mechanism, potentially opening multiple positions within a single bar
Possible improvements
- Add a trend filter (e.g., MA or ADX) to avoid counter-trend trades in strong trending markets
- Implement dynamic position sizing based on ATR or account risk percentage
- Add new bar check and maximum position limits to prevent duplicate entries and overexposure
- Incorporate trailing stop and break-even mechanisms to protect accumulated profits
Risk assessment
Overall risk: Caution
- Default stop-loss of 0 creates unlimited per-trade loss risk
- Lack of trend filter may cause consecutive counter-trend entries in strong trends
- No new bar check may lead to multiple entries within a single bar, amplifying risk
- Single RSI indicator has high failure probability in extreme market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
RSI_Period | 14 | RSI indicator period |
RSI_Overbought | 70 | RSI overbought level threshold |
RSI_Oversold | 30 | RSI oversold level threshold |
LotSize | 0.1 | Lot size per trade |
StopLoss | 0 | Stop loss in points, 0 means no stop loss |
TakeProfit | 0 | Take profit in points, 0 means no take profit |
MagicNumber | 12345 | EA magic number for identifying this EA's orders |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.