BRAHE Research Series·Part 3 of 7·June 2026

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.

📊 11 hypotheses tested📅 EUR/USD 4H · 2013–2025🔁 6 walk-forward windows💰 2.0 pip round-trip costs
"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?

ParameterValues TestedNotes
RSI Period14Fixed at canonical value
Threshold20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 4011 values; mirror applied (long + short)
Exit bars3Fixed; 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 StageRSI CountRSI %MACD %SMA %
Stage 1: Net expectancy545.5%0%48%
Stage 3: IS/OOS drift654.5%100%44%
Stage 2: Effective sample size00%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

WindowOOS YearSharpeNet Exp/TradeIS Win RateOOS Win RateTrades
12015+0.06−1.29 pips55.0%70.0%50
22017+2.38+10.45 pips66.4%75.0%44
32019+0.55+0.48 pips68.9%53.7%54
42021−0.64−5.11 pips61.1%60.0%50
52023+1.21+4.64 pips57.7%66.7%48
62025+1.27+8.09 pips61.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.

ThresholdKill StageAvg SharpeNet Exp/TradeOOS Trades
20Net expectancy0.06−4.74 pips20
22Net expectancy0.24−0.63 pips31
24Drift0.41+6.10 pips48
26Net expectancy0.07−1.42 pips62
28Drift0.42+1.84 pips92
30Net expectancy0.10−1.12 pips108
32Drift0.53+1.20 pips158
34Net expectancy0.60−0.41 pips210
36Drift0.61+0.92 pips249
38Drift0.81+2.88 pips282
40Drift0.54+0.86 pips330

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 FamilynNet Exp KillDrift KillESS KillBest OOS SharpeSurvived
SMA Crossover2548%44%8%+0.860 / 25
MACD750%100%0%+1.240 / 75
RSI Mean Reversion1145%55%0%+0.810 / 11
Bollinger BandsPart 4
Ichimoku CloudPart 5
Ichimoku + ADXPart 6
ATR BreakoutPart 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?
Not on EUR/USD 4H under 2-pip round-trip costs with walk-forward validation, based on this data. All 11 configurations tested failed the filter. Five lost money on average; six showed unacceptable window-to-window Sharpe variance.
What RSI settings were tested?
RSI period 14 with 11 threshold values: 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, and 40. All used a 3-bar fixed exit. The standard textbook setting of RSI(14) with 30/70 thresholds corresponds to threshold=30 in this grid — HYP_0006, which was killed at Stage 1 with a net expectancy of −1.12 pips/trade.
Why did the best RSI configuration still fail?
HYP_0010 (threshold=38) produced an aggregate OOS Sharpe of +0.81 but with per-window Sharpes ranging from −0.64 to +2.38. The walk-forward drift check requires stability across windows, not just a positive average. Two of six windows produced negative performance, and the variance between the best and worst window was too large to attribute to anything other than regime sensitivity.
Is a 70% win rate not sufficient for a profitable RSI strategy?
Not automatically. Window 1 (OOS 2015) showed a 70% OOS win rate alongside negative net expectancy (−1.29 pips/trade). In a trending market, RSI mean reversion generates frequent small wins from pullback bounces, offset by infrequent large losses when the trend resumes. Win rate alone tells you nothing about the size distribution of wins versus losses.
How does RSI compare to MACD in this study?
MACD reached 100% drift kills — every configuration had enough trades and gross edge, but none transferred that edge out-of-sample. RSI split its failures 45/55 between net-expectancy kills and drift kills. RSI's mixed failure profile means tighter configurations simply lose money, not that they overfit. These are structurally different problems requiring different potential fixes.
Would a different RSI period (e.g. 7 or 21) produce better results?
That was not tested in this study. The sweep held RSI period fixed at 14 to isolate threshold sensitivity. Testing additional periods would expand the grid to at least 33 variants (3 periods × 11 thresholds). That expansion is a candidate for a separate study or a Phase 3 hybrid test, not an extension of these 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 →