The adaptive rsi indicator adds a signal line to RSI, and that line changes speed. An efficiency ratio measures how directly the reading has moved over `ErPeriod` bars. A clean run makes the signal line quick. A choppy stretch makes it slow.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Separate window (levels 30 / 50 / 70) |
| Plots | 2: Adaptive RSI, Signal |
| Alerts | popup, push notification, email, sound |
| Inputs | 10 |
What the Adaptive Rsi Indicator draws on the chart
Adaptive RSI is the deep sky blue line, a standard reading at `RsiPeriod` bars.
Signal is the orange line, an adaptive smoothing of that reading.
Reference lines mark 30, 50 and 70.
Both lines stay bounded between 0 and 100.
- Adaptive RSI: line, deep sky blue, width 2
- Signal: line, orange, width 1

How the Adaptive Rsi Indicator calculates its values
The base reading
iRSI supplies the value at `RsiPeriod` `14` on the close. Nothing unusual happens here, so the blue line matches any other RSI at the same length on the same chart.
Measuring efficiency
change takes the gap between the current reading and the one `ErPeriod` `10` bars back. vol sums the bar-to-bar moves in between. er divides one by the other. A value near 1 means a straight run.
Adapting the smoothing
alpha slides between a fast constant and a slow one, driven by er. SigBuf then takes its own previous value plus alpha times the gap to the current reading. So the orange line hugs the blue one in a clean move and lags it in chop.
How to read the signals
The gap between the two lines widens when the reading turns choppy.
A crossing means the reading has moved decisively enough to pull the signal line.
`OverBought` and `OverSold` frame where a crossing carries most weight.
The signal line flattening is itself a sign that the reading has stopped travelling.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
`EnableAlerts` ships enabled, with `EnablePopup` handling delivery. `EnablePushNotify`, `EnableEmail` and `EnableSound` all start false. `SoundFile` picks the clip. The cross test reads two completed bars, one message per bar.
Every Adaptive Rsi Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
RsiPeriod |
Length of the base reading, default `14`. | 14 |
ErPeriod |
Bars in the efficiency ratio, default `10`. | 10 |
OverBought |
Upper reference level, default `70`. | 70 |
OverSold |
Lower reference level, default `30`. | 30 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
master toggle. Master toggle for the signal cross alerts, default `true`. | on |
EnablePopup |
MT4 popup dialog. MT4 popup dialog on a signal cross, default `true`. | on |
EnablePushNotify |
mobile MT4 push notification. Mobile push on a signal cross, default `false`. | off |
EnableEmail |
SMTP email (Tools > Options > Email). SMTP email on a signal cross, default `false`. | off |
EnableSound |
play sound file from MT4/Sounds/. Plays a file from the Sounds folder, default `false`. | off |
SoundFile |
Wav clip for the signal alert, default `alert.wav`. | alert.wav |

Settings that fit your chart
Adaptive smoothing pays off where conditions alternate. EURUSD H1 is the reference chart, where `ErPeriod` at `10` covers under half a day. On M5 the ratio swings fast and the orange line changes pace often. On H4 it settles for long stretches.
When the Adaptive Rsi Indicator fails
The efficiency ratio measures the RSI reading, not price, so it can disagree with what the chart looks like.
A crossing near 50 carries little information, whatever speed the line was moving.
Adaptive smoothing changes how fast the line follows, never whether the reading is right.
Copy the compiled Adaptive Rsi Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Background reading on the method behind the Adaptive Rsi Indicator: Rahul Mohindar oscillator on Wikipedia, RSI 2 at StockCharts ChartSchool.
Download the Adaptive Rsi Indicator for MT4 and MT5
The zip holds the compiled Adaptive Rsi Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
What does ErPeriod at 10 measure?
How directly the RSI reading moved over ten bars. change takes the net distance. vol sums every step in between. A ratio near 1 means a straight run. Near 0 means the reading wandered back to where it started.
How does the efficiency ratio change the Signal line?
It sets alpha, the smoothing constant. A high ratio pushes alpha fast, so the orange line tracks the blue one closely. A low ratio pushes it slow, and the signal line then lags through choppy stretches.
Why does the ratio read RSI, not price?
Because the line it smooths is RSI. Measuring efficiency on the same series keeps the adaptation consistent with what it is adapting. It does mean the ratio can look clean while price itself looks messy.
Do OverBought and OverSold gate anything?
Only loosely. The alert logic checks that a crossing happens within reach of `OverSold` `30` or `OverBought` `70` rather than in the middle. The two lines themselves ignore the levels entirely.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Adaptive Rsi Indicator as one input. Always backtest before trading live.
Category: this is part of our Oscillators collection. Thus, truly, hence, browse more Oscillators for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- The core method is documented in Rahul Mohindar oscillator on Wikipedia.
- Additional market context is at RSI 2 at StockCharts ChartSchool.
