RSI Mean Reversion: The Indicator That Fails Two Different Ways
A walk-forward backtest of 11 RSI configurations on EUR/USD 4H — 2013 to 2025. Zero survivors. Unlike every prior indicator in this series, RSI split its failures almost evenly between two distinct kill mechanisms. That split is the finding.
"RSI did not fail the way MACD failed. RSI did not fail the way SMA failed. It failed two ways at once, in roughly equal measure. When an indicator has no single villain, the problem is structural."
1. Why RSI — and Why It Is Different
The first two indicator families in this series — SMA crossover and MACD — are both trend-following signals. They ask the same underlying question: is price moving in one direction? If yes, enter in that direction and hold. Their failure modes are related: they overfit to the specific trend regime captured in the training window and fail to carry that edge out-of-sample. MACD showed this most clearly, with a 100% drift-kill rate across 75 variants.
RSI asks a fundamentally different question: has price moved too far, too fast? When RSI falls below a threshold, the assumption is that the market is oversold and a mean-reversion bounce is due. When it rises above the mirror threshold, the market is overbought and a pullback is expected. The signal is not directional in the trend-following sense — it is contrarian.
This matters for the walk-forward methodology. If RSI's failure mode is the same as MACD's (regime-specific overfitting), we learn nothing new from testing it. If it fails differently, we learn something about the structure of the problem. The data shows it fails differently.
Signal logic (this study)
Enter long when RSI(14) < threshold. Enter short when RSI(14) > (100 − threshold). Exit after a fixed number of bars regardless of outcome.
All 11 variants use RSI period 14 — the canonical, most widely-used RSI setting. The study tests threshold sensitivity only: whether any entry-trigger level can produce a stable edge, not whether a different RSI period might.
2. The Parameter Grid
11 variants were tested — a simpler grid than MACD's 75-variant sweep. With RSI period fixed at 14 and exit fixed at 3 bars, the single varying parameter is the threshold level: how extreme does the RSI reading need to be before a signal fires?
| Parameter | Values Tested | Notes |
|---|---|---|
| RSI Period | 14 | Fixed at canonical value |
| Threshold | 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40 | 11 values; mirror applied (long + short) |
| Exit bars | 3 | Fixed; exit regardless of P&L |
Variants are assigned HYP_0001 through HYP_0011. All run the full six-window walk-forward: 2 years in-sample, 1 year out-of-sample, non-overlapping, on EUR/USD 4H from January 2013 through December 2025.
A threshold of 20 means entry triggers only when RSI falls below 20 (long) or rises above 80 (short) — a very rare, extreme condition. A threshold of 40 triggers when RSI crosses 40/60 — a relatively common condition that fires much more frequently. This single parameter controls both signal selectivity and trade frequency.
3. The Kill Funnel
Zero survivors. The kill-stage distribution is what distinguishes RSI from every other family tested in this series.
| Kill Stage | RSI Count | RSI % | MACD % | SMA % |
|---|---|---|---|---|
| Stage 1: Net expectancy | 5 | 45.5% | 0% | 48% |
| Stage 3: IS/OOS drift | 6 | 54.5% | 100% | 44% |
| Stage 2: Effective sample size | 0 | 0% | 0% | 8% |
45% net expectancy kills: Five variants — primarily those with tight thresholds (20, 22, 26, 30) — fired signals but lost money on average after the 2-pip round-trip cost. The signal existed. The edge did not.
55% drift kills: Six variants survived net expectancy but showed unacceptable window-to-window instability. They were not overfitting in the simple sense — their in-sample and out-of-sample win rates were often similar. The problem was variance: strong years offset by disaster years, with no way to predict which was next.
MACD reached a 100% drift-kill rate because all 75 variants had enough trades and enough gross edge — the only problem was IS/OOS instability. RSI added a second failure mode: some variants simply lost money consistently, in both training and test periods. That is a different diagnosis and it requires a different explanation.
4. Deep Findings — The Best Variant
HYP_0010 (RSI period=14, threshold=38, exit=3 bars) produced the highest aggregate OOS Sharpe ratio of any variant in this family. It still failed. Here is its complete per-window record.
Avg OOS Sharpe
+0.81
Avg Net Exp/Trade
+2.88 pips
Total OOS Trades
282
Kill Stage
Drift
| Window | OOS Year | Sharpe | Net Exp/Trade | IS Win Rate | OOS Win Rate | Trades |
|---|---|---|---|---|---|---|
| 1 | 2015 | +0.06 | −1.29 pips | 55.0% | 70.0% | 50 |
| 2 | 2017 | +2.38 | +10.45 pips | 66.4% | 75.0% | 44 |
| 3 | 2019 | +0.55 | +0.48 pips | 68.9% | 53.7% | 54 |
| 4 | 2021 | −0.64 | −5.11 pips | 61.1% | 60.0% | 50 |
| 5 | 2023 | +1.21 | +4.64 pips | 57.7% | 66.7% | 48 |
| 6 | 2025 | +1.27 | +8.09 pips | 61.8% | 69.4% | 36 |
The Window 1 paradox (2015)
Window 1 shows a 70% OOS win rate — the highest in the table — alongside a near-zero Sharpe (+0.06) and negative net expectancy (−1.29 pips/trade). This is not a contradiction. It is a signature of mean reversion fighting a trend. In a trending environment, the strategy catches many small pullback bounces (wins) while occasionally entering into continuation moves that produce outsized losses. The 70% win rate is real. The 30% of losing trades are sufficiently large to overwhelm it.
Window 4 (2021) — same disease, worse outcome
Window 4 produced a −0.64 Sharpe despite a 60% OOS win rate. The same dynamic: wins are frequent but small; losses are infrequent but large. The EUR/USD downtrend of 2021 (approximately 1.23 to 1.13 across the year) created a persistent environment where oversold entries into a falling market repeatedly produced small bounces followed by trend resumptions.
Window 2 (2017) — why the aggregate Sharpe looks good
Window 2's +2.38 Sharpe with 75% OOS win rate and +10.45 pips/trade is the outlier that pulls the aggregate upward. EUR/USD in 2017 oscillated in a range with trend that produced clean mean-reversion setups. Remove Window 2 and the remaining five windows average a Sharpe of roughly +0.43 — below the survival threshold. The aggregate Sharpe of +0.81 is, in a meaningful sense, Window 2's Sharpe diluted by the others.
5. What the Threshold Actually Does
The most striking pattern in the full variant table is that kill stages do not simply transition from net-expectancy (tight thresholds) to drift (loose thresholds) in a clean progression. They alternate.
| Threshold | Kill Stage | Avg Sharpe | Net Exp/Trade | OOS Trades |
|---|---|---|---|---|
| 20 | Net expectancy | 0.06 | −4.74 pips | 20 |
| 22 | Net expectancy | 0.24 | −0.63 pips | 31 |
| 24 | Drift | 0.41 | +6.10 pips | 48 |
| 26 | Net expectancy | 0.07 | −1.42 pips | 62 |
| 28 | Drift | 0.42 | +1.84 pips | 92 |
| 30 | Net expectancy | 0.10 | −1.12 pips | 108 |
| 32 | Drift | 0.53 | +1.20 pips | 158 |
| 34 | Net expectancy | 0.60 | −0.41 pips | 210 |
| 36 | Drift | 0.61 | +0.92 pips | 249 |
| 38 | Drift | 0.81 | +2.88 pips | 282 |
| 40 | Drift | 0.54 | +0.86 pips | 330 |
The alternating pattern below threshold=36
Between thresholds 20 and 34, net-expectancy and drift kills alternate. Threshold=24 drifts; threshold=26 loses money. Threshold=28 drifts; threshold=30 loses money. This is not noise — it reflects a genuine interaction between how frequently the signal fires and which specific market environments it captures. The odd-threshold variants happen to capture more losing trade distributions in the historical data.
Threshold=34: the clearest edge case
Threshold=34 generated 210 OOS trades and a Sharpe of 0.60 — the second-highest in the family — but posted a net expectancy of −0.41 pips/trade and was killed at Stage 1. With 210 trades and a −0.41 pip average, total losses across the sweep were modest in absolute terms, but the kill filter is per-trade expectancy: any negative average fails, regardless of aggregate performance metrics.
Above threshold=34: drift dominates
Once signals fire more than 200 times across the sweep, net expectancy is no longer the bottleneck. Thresholds 36, 38, and 40 all produce positive average expectancy. They are killed by drift: high Sharpe variance across windows that cannot be predicted in advance. The threshold dial moves the strategy from 'losing money steadily' to 'making money inconsistently' — but not to 'making money stably.'
6. The Regime Pattern
Mean reversion has a known theoretical weakness: it fails in trending markets. The per-window data for HYP_0010 confirms this empirically, and the pattern is consistent across the broader RSI family.
Problem windows (most RSI variants)
- Window 1 (OOS 2015): EUR/USD sustained directional move from ~1.18 to ~1.05 in H1 2015. RSI generated oversold long signals into a falling market repeatedly. High win-rate, poor expectancy.
- Window 4 (OOS 2021): EUR/USD declined from ~1.23 to ~1.13 across the year. Trend-following conditions. RSI oversold entries produced the worst single-window Sharpe (−0.64) of the best variant.
Strong windows (most RSI variants)
- Window 2 (OOS 2017): EUR/USD moved from ~1.05 to ~1.20 in a structured trending-with-pullbacks pattern. RSI oversold entries on pullbacks into the trend produced the best window performance. +2.38 Sharpe, 75% win rate.
- Windows 5–6 (OOS 2023–2025): More mixed price action with cleaner mean-reversion setups available. Consistent positive performance across both windows.
The core finding: RSI mean reversion is a regime-betting strategy masquerading as a stable signal. In ranging or pullback-rich environments it performs well. In trending environments it consistently underperforms, and the underperformance pattern is predictable in hindsight but not in advance. The walk-forward filter catches this: you cannot know which environment the next year will produce.
7. Cross-Series Comparison (3 Families)
The table below compares kill-stage distributions and best-variant performance across the three indicator families published so far. It will be updated as each subsequent family is added.
| Indicator Family | n | Net Exp Kill | Drift Kill | ESS Kill | Best OOS Sharpe | Survived |
|---|---|---|---|---|---|---|
| SMA Crossover | 25 | 48% | 44% | 8% | +0.86 | 0 / 25 |
| MACD | 75 | 0% | 100% | 0% | +1.24 | 0 / 75 |
| RSI Mean Reversion | 11 | 45% | 55% | 0% | +0.81 | 0 / 11 |
| Bollinger Bands | — | — | — | — | — | Part 4 |
| Ichimoku Cloud | — | — | — | — | — | Part 5 |
| Ichimoku + ADX | — | — | — | — | — | Part 6 |
| ATR Breakout | — | — | — | — | — | Part 7 |
Reading this table:SMA and RSI both show mixed failure modes (both kill stages active). MACD shows pure drift kills — it always has enough trades and gross edge, it just cannot carry that edge out-of-sample. RSI's mixed failure profile is structurally distinct from MACD's pure drift profile, which matters for Phase 3 combination testing.
8. What RSI Tells Phase 3
Two findings from the RSI sweep carry forward into combination testing.
Finding 1: RSI's failure windows differ from MACD's
RSI underperforms in trending environments (Windows 1 and 4 in the best variant). MACD underperforms in regime-change environments — windows where the character of the market shifts between training and test periods. These are not identical. A combination signal that uses MACD as a trend filter and RSI as an entry trigger would at minimum face different structural failure conditions than either signal alone. Whether it survives those conditions is an empirical question. This is not an assumption — it is a hypothesis for Phase 3.
Finding 2: Threshold 38 is the only RSI configuration with any residual interest
Four of six OOS windows produced positive Sharpe for HYP_0010. The two negative windows have a clear regime interpretation. If a directional filter could suppress RSI signals in trending environments — specifically by requiring a trend-neutral or mean-reverting regime condition before entry — the 2015 and 2021 window losses might be reduced. This is not validated here. It is a testable proposition for Phase 3. No other RSI threshold configuration merits Phase 3 inclusion: the alternating net-expectancy kills at lower thresholds have no obvious fix.
9. Frequently Asked Questions
Does RSI work as a standalone forex trading signal?↓
What RSI settings were tested?↓
Why did the best RSI configuration still fail?↓
Is a 70% win rate not sufficient for a profitable RSI strategy?↓
How does RSI compare to MACD in this study?↓
Would a different RSI period (e.g. 7 or 21) produce better results?↓
10. Next in the Series
This is Part 3 of the MT5 Indicator Backtest Series. Every study uses the same methodology, the same dataset, and the same 5-stage kill filter — making results directly comparable across indicator families.
Part 2 — Read previous
MACD Analysis
75 variants · 100% drift-kill rate · best Sharpe +1.24 · 0 survivors
Part 4 — Coming next
Bollinger Bands Analysis
Mean reversion with dynamic bands — the second volatility-adjusted signal in the series.
Put This Research to Work
The Phase 3 hypothesis emerging from this data: RSI mean reversion at threshold=38 combined with a directional trend filter may reduce the Window 1 and Window 4 losses that currently kill the signal. Building that combination as a testable MQL5 Expert Advisor is exactly what StratForge is designed for. Generate complete, reviewed EA code from a conversational strategy interview — no MQL5 knowledge required. Your own Anthropic API key means you pay Anthropic directly, typically a few cents per generation.
Generate an RSI + Filter EA →