Free MT5 RSI Research Indicator
RSI Oversold Momentum/Reversal Boundary for MT5
Oversold is not automatically bullish. Sometimes it is the warning label on a falling market.
Compiled file only. Install in MQL5/Indicators. Source code is not included.
What It Solves
Separating mean-reversion RSI buys from oversold continuation risk.
This is the answer to a high-value RSI question: "Is RSI below 30 a buy or sell signal?" The honest answer is conditional, and this page gives users a framework for making that call.
Technical Method
The tool examines matured historical outcomes across a low-RSI research range, then estimates where conditional forward expectancy changes sign. Conditioning can use volatility alone or volatility plus downside impulse pressure.
How This Indicator Works In Practice
This indicator focuses on the most expensive RSI mistake: buying every oversold reading. It estimates a switch boundary across low RSI values where forward expectancy changes from downside continuation to mean reversion.
The boundary can be conditioned by volatility and downside pressure. That matters because a slow pullback into RSI 30 is different from a fast liquidation candle into RSI 30. The indicator gives traders a more nuanced answer than "below 30 equals buy."
Input Parameters Explained
| Input | Default | Meaning | Tuning Guidance |
|---|---|---|---|
InpRSIPeriod |
14 | RSI period used for low-RSI boundary analysis. | Use 14 for standard use, 21 for swing, 7-10 for aggressive scalping. |
InpVolatilityPeriod |
20 | Rolling log-return volatility period. | Match to your trading horizon. |
InpVolRankLookback |
252 | Prior volatility observations for percentile rank. | Shorter reacts faster; longer stabilizes regimes. |
InpDownsideLookback |
10 | Bars used to measure downside impulse pressure. | 5 for fast traders, 10 balanced, 20 for swing context. |
InpDownsideRankLookback |
252 | Prior downside impulses used for percentile rank. | Keep near volatility rank lookback for consistent conditioning. |
InpConditioning |
SWITCH_CONDITION_VOLATILITY | No conditioning, volatility conditioning, or volatility plus downside conditioning. | Use volatility by default. Add downside pressure for crash/liquidation markets. |
InpVolBandwidthPct |
20.0 | Similar-volatility tolerance. | 10 is stricter, 20 balanced, 30 more samples. |
InpDownsideBandwidthPct |
20.0 | Similar downside-pressure tolerance. | Use 15-25 for most XAUUSD testing. |
InpBoundaryRSILow |
5.0 | Lowest RSI considered in the boundary curve. | Keep low enough to include crash extremes. |
InpBoundaryRSIHigh |
45.0 | Highest RSI considered in the oversold boundary region. | 35 is stricter oversold-only. 45 includes early recovery zones. |
InpRSIBins |
10 | Number of bins between boundary low and high. | Fewer bins improve robustness; more bins need more history. |
InpSmoothingRadius |
1 | Blends neighboring bins for a smoother boundary. | 0 for raw research, 1 balanced, 2 smoother but less precise. |
InpConfirmPositiveBins |
2 | Positive bins required above the crossing before accepting boundary. | Increase for conservative reversal confirmation. |
InpForwardHorizon |
5 | Bars ahead used for forward outcome. | 3-5 intraday, 10-20 swing. |
InpTrainingLookback |
2500 | Fully matured historical bars used for boundary estimation. | Use as much clean history as practical. |
InpMinBinSamples |
15 | Minimum matched samples per RSI bin. | Raise for stronger evidence, lower for sparse symbols. |
InpShrinkageSamples |
10.0 | Neutral prior strength applied to noisy bins. | Increase for conservative results. |
InpSignalOversoldCeiling |
35.0 | No signals above this RSI. | 30 is stricter, 35 default, 40 more active. |
InpMinExpectedReturnBps |
5.0 | Required absolute conditional expectancy. | Raise for fewer but stronger signals. |
InpMinAbsTStat |
0.75 | Required raw-bin statistical strength. | 1.0-1.5 for conservative traders. |
InpSignalMode |
SWITCH_SIGNAL_ON_STATE_ENTRY | Marks only state entry or every qualifying bar. | Entry-only is usually cleaner. |
Parameter Ideas By Trader Type
Mean-Reversion Trader
Looks for low-RSI exhaustion after controlled pullbacks.
Suggested direction: Boundary high 35-40, volatility conditioning, min expected return 5-10 bps, t-stat 1.0.
Trend-Continuation Trader
Uses oversold continuation signals to avoid catching falling knives.
Suggested direction: Add downside-pressure conditioning, ceiling 35, require stronger t-stat and sample counts.
Gold Trader
Useful around London/New York XAUUSD liquidation candles.
Suggested direction: Downside lookback 10, vol/downside bandwidth 20-25, forward horizon 5-8.
These are research starting points, not guaranteed profitable presets. Test each symbol and timeframe with realistic spread, commission, slippage, and session filters before using any RSI signal in live trading.
Where It Fits In The RSI Stack
This indicator is part of the AlgoSpecial RSI Research Cluster: six MT5 indicators designed to answer the questions a fixed RSI line cannot answer alone. The cluster covers percentile tails, volatility-conditioned thresholds, two-dimensional expectancy, oversold continuation risk, stressed-market rebound probability, and Hidden-Markov regime probabilities.
FAQ
Is this a buy and sell signal indicator?
It can plot arrows, but it is best treated as a research-grade RSI decision layer. Confirm entries with market structure, spread, session, volatility, and risk rules.
Does the free download include source code?
No. The free download is the compiled MT5 .ex5 file only. This keeps the proprietary research logic protected while still letting traders test the indicator.
Can I use it on XAUUSD, forex, crypto, or indices?
Yes, it is symbol based and can be attached to MT5 charts. The included chart image uses XAUUSD H1 because gold exposes RSI regime changes very clearly, but the logic is not limited to gold.