The rsi overbought oversold indicator puts six things into one pane. A Wilder reading runs alongside a smoothed RSI Signal line, two histograms shade the bars sitting past each boundary, and arrows mark the turns. Levels sit at 30, 50 and 70.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Separate window (levels 30 / 50 / 70) |
| Plots | 6: RSI, RSI Signal, OB Zone, OS Zone, BUY, SELL |
| Alerts | popup, push notification, email, sound |
| Inputs | 11 |
What the RSI Overbought Oversold Indicator draws on the chart
RSI (blue) is the Wilder reading over RSIPeriod bars.
RSI Signal (gold) smooths that reading with an exponential average over SignalPeriod.
OB Zone (crimson histogram) fills in only on bars where the reading sits at or above OverboughtLevel.
OS Zone (green histogram) does the same below OversoldLevel.
BUY and SELL arrows sit inside the pane, offset from the reading by ArrowGap on the RSI scale rather than in price.
- RSI: line, dodger blue, width 2
- RSI Signal: line, gold, width 1
- OB Zone: histogram, crimson, width 1
- OS Zone: histogram, lime green, width 1
- BUY: arrow, lime, width 3, arrow code 233
- SELL: arrow, red, width 3, arrow code 234

How the RSI Overbought Oversold Indicator calculates its values
The Wilder reading
Gains and losses get separated bar by bar, then smoothed the Wilder way: multiply the running average by RSIPeriod minus one, add the new value, divide the total by RSIPeriod.
The reading itself is a hundred minus a hundred divided by one plus the gain to loss ratio. A window holding no losses at all returns a flat hundred.
The signal line
RSI Signal exponentially averages the reading, with a weight of two divided by SignalPeriod plus one. At a default of 5 that gives a fast, close following line.
It seeds from the reading itself at the first calculable bar, so no artificial starting value distorts the early part of the pane.
Zones and arrow placement
Both zone histograms are copies of the reading, blanked out on every bar outside their boundary. That blanking is what makes only the extremes fill in.
Arrows get placed on the RSI scale rather than on price. A buy sits ArrowGap below the reading and a sell sits ArrowGap above it, clamped so neither leaves the pane.
How to read the signals
A crimson OB Zone stretch means the reading has held at or above OverboughtLevel across those bars.
The gap between the two lines widens when the reading moves fast and closes when it stalls.
Arrows appear inside the pane rather than on the candles, so read them against the levels around them.
The 50 line marks the middle of the range. Crossings there carry none of the extreme context the zones do.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Alerts cover popup, push, email and sound. A bar time check runs first, so a turn produces one alert per closed bar.
Every RSI Overbought Oversold Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
RSIPeriod |
RSI lookback period. RSIPeriod is the Wilder lookback. It defaults to 14, the length the reading was designed around. | 14 |
SignalPeriod |
EMA smoothing period for the signal line. SignalPeriod smooths the reading into the signal line, 5 by default. Raising it makes that line lag further behind. | 5 |
OverboughtLevel |
Overbought threshold. OverboughtLevel is the upper boundary at 70 and decides where the crimson histogram starts filling. | 70 |
OversoldLevel |
Oversold threshold. OversoldLevel is the lower boundary at 30 for the green histogram. | 30 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowGap |
Arrow offset from RSI value (RSI scale). ArrowGap is how far an arrow sits from the reading, measured on the RSI scale. It defaults to 3. | 3 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
(see inputs panel) | on |
EnablePopup |
(see inputs panel) | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
(see inputs panel) | off |
SoundFile |
(see inputs panel) | alert.wav |

Settings that fit your chart
This build ships with no recommended chart, so the defaults are the generic ones. A fourteen bar reading with boundaries at 70 and 30 is the classic setup and works on any liquid symbol. Faster timeframes touch the zones far more often, so widening the boundaries towards 80 and 20 is the usual adjustment there.
When the RSI Overbought Oversold Indicator fails
A trending market pins the reading inside a zone for long stretches. The histogram keeps filling while price keeps going.
Extremes are not reversal signals. A reading at 80 says recent gains have been one sided and nothing about what comes next.
SignalPeriod at five is fast enough to cross back and forth inside a zone, which produces clusters of arrows in a small area.
When a window holds no losses at all the reading returns a flat hundred rather than a curve, so the very top of the range behaves oddly.
Copy the compiled RSI Overbought Oversold 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 RSI Overbought Oversold Indicator: Growth investing on Wikipedia, The Traders Journal By Gatis Roze at StockCharts ChartSchool.
Download the RSI Overbought Oversold Indicator for MT4 and MT5
The zip holds the compiled RSI Overbought Oversold 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 makes OB Zone fill in on some bars and not others?
It is a copy of the reading with every bar outside the boundary blanked out. A bar whose value sits at or above OverboughtLevel keeps that value and draws as a crimson histogram bar. Everything below the level stays empty, which is why only extremes shade in.
Is ArrowGap measured in pips or in RSI points?
In RSI points. These arrows live inside the pane rather than on the price chart, so the offset works on the same zero to one hundred scale as the reading. At a default of 3 an arrow sits three points away, and the code clamps it so it cannot leave the pane.
How does SignalPeriod at 5 change the RSI Signal line?
It sets the exponential weight, two divided by SignalPeriod plus one, which at five works out to one third. That line therefore tracks the reading closely and crosses it often. Raising SignalPeriod smooths it and cuts the crossings, at the cost of a later turn.
Should I move OverboughtLevel above 70?
On a trending symbol, yes. A reading spending most of its time above 70 makes the zone histogram nearly useless. Pushing OverboughtLevel to 80 and OversoldLevel down to 20 narrows the shaded regions back to genuine extremes for that market.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the RSI Overbought Oversold Indicator as one input. Always backtest before trading live.
Category: this is part of our Oscillators collection. Browse more Oscillators for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- Learn more about the underlying method in Growth investing on Wikipedia.
- For wider market background, see The Traders Journal By Gatis Roze at StockCharts ChartSchool.
