The RSI-2 Mean Reversion Strategy, Explained Step by Step
The idea in one line
In a healthy uptrend, sharp two- to three-day dips are usually noise, not the start of a reversal. RSI(2) turns that noise into a timing tool.
- Market
- Index ETFs, large-cap stocks
- Timeframe
- Daily
- Trade type
- Long-only pullback
- Avg hold
- 2–5 days
The rules
- Price is above its 200-day simple moving average (trend filter).
- RSI(2) closes below 10 (momentum is stretched to the downside).
- Enter at the next open.
- Exit when price closes above its 5-day SMA, or after 5 trading days — whichever comes first.
Trend filter passing + RSI(2) < 10 + entry on the next bar. No stop inside the signal; risk is controlled by position size and the time-based exit.
Why it works (and when it doesn’t)
Mean reversion pays you for providing liquidity when others panic. It stops paying when the regime changes — a break of the 200-day MA, a volatility spike, or a macro event that re-rates the whole market.
If the 200-day MA is falling, skip the strategy entirely. Mean reversion long signals in a downtrend is how most backtests quietly blow up.
Pine Script starting point
//@version=5
strategy("RSI-2 Mean Reversion", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
trendOk = close > ta.sma(close, 200)
rsi2 = ta.rsi(close, 2)
if trendOk and rsi2 < 10
strategy.entry("Long", strategy.long)
if close > ta.sma(close, 5)
strategy.close("Long")
How traders break it
- Removing the trend filter to get “more trades.”
- Adding a tight stop that turns normal noise into realised losses.
- Running it on a single volatile ticker instead of a basket.
Next steps
Backtest across at least 15 years and two bear markets. Track average win, average loss, and the worst peak-to-trough drawdown — not just the win rate.
