Indicators
RSI (Relative Strength Index)
A momentum oscillator from 0 to 100 comparing recent gains to recent losses. The classic gauge of overbought and oversold conditions.
RSI measures how one-sided recent price action has been, over a lookback of
N periods (14 by default):
RS = average gain over N periods / average loss over N periods
RSI = 100 − 100 / (1 + RS)
(The averages use Wilder's smoothing, an EMA with α = 1/N.)
RSI of 50 means gains and losses balanced. Above 70 is conventionally "overbought", below 30 "oversold".
How it's actually used
Mean-reversion systems buy dips when RSI drops below 30 and turns up, betting on a snap-back; this works best in ranging markets. Trend traders use it the other way around, because in a strong trend RSI stays pinned above 70 (or below 30) for a long time and the overbought reading is the trend. Fading it there is the classic way RSI loses money. A third read is divergence: price makes a new extreme, RSI doesn't, and the move is running on fewer participants.
In backtests
RSI rules are extremely parameter-sensitive. RSI(14) with 30/70 thresholds and RSI(10) with 25/75 can produce opposite verdicts on the same data, which makes RSI strategies prime candidates for overfitting checks and forward-walk validation rather than single-backtest judgment.
On AlphaProve
Because RSI is so parameter-sensitive, the no-code builder's per-field sweep
arrays fit it well: give the period and the 30/70 thresholds a list of up to
25 candidate values and every combination gets tested, while the forward-walk
Meta-ML selector keeps the parameters that stay stable out-of-sample rather
than the single best in-sample pair. The library also carries the smoothed
relatives stoch_rsi and inverse_fisher_rsi for when the raw oscillator's
whipsaw is the real problem.