← Glossary

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.