Many RSI arrow tools mark the forming bar and then move the arrow. The non repaint RSI indicator only looks at closed bars. It draws Wilder’s 14-bar RSI with a three-bar smoothed copy and marks the bar where RSI climbs back above 30 or drops back below 70, both in the pane and on price.
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 | 4: RSI, RSI smoothed, Bull cross, Bear cross |
| Alerts | popup, push notification, email, sound |
| Inputs | 13 |
The drawn output
Two lines in a pane plus marks on both.
`RSI` traces dodger blue at width 2.
`RSI smoothed` traces orange.
`Bull cross` sits mid-pane in lime.
`Bear cross` sits mid-pane in red.
Matching marks also appear on price.
- RSI: line, dodger blue, width 2
- RSI smoothed: line, orange, width 1
- Bull cross: arrow, lime, width 2, arrow code ArrowBuyCode
- Bear cross: arrow, red, width 2, arrow code ArrowSellCode

Working it out
Wilder’s RSI
`RsiPeriod` `14` seeds the average gain and loss with a simple average, then uses Wilder’s smoothing.
Smoothed copy
`RsiSmoothing` `3` averages the last three RSI readings into the orange line.
Zone exits
A mark prints when RSI moves from below `OversoldLevel` `30.0` to 30 or above, or from above `OverboughtLevel` `70.0` to 70 or below.
On a live chart
Blue near the top means strong buying.
Likewise, blue near the bottom means strong selling.
Marks, however, flag exits from the extremes.
Price marks also sit `SignalArrowGapPts` `18` points off the bar.
So the forming bar is never checked.
Warm-up needs about fifteen bars.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Zone exits report once each closed bar. `EnableAlerts` holds them, and a popup is the route set live from the start.
Every Non Repaint Rsi Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
RsiPeriod |
Wilder’s RSI period. Wilder period, `14`. | 14 |
RsiSmoothing |
SMA smoothing applied to RSI line. Bars in the smoothed copy, `3`. | 3 |
OverboughtLevel |
Upper reference. Upper zone, `70.0`. | 70.0 |
OversoldLevel |
Lower reference. Lower zone, `30.0`. | 30.0 |
Display settings
| Setting | What it does | Default |
|---|---|---|
SignalArrowGapPts |
Arrow gap from candle in points. Price mark gap in points, `18`. | 18 |
ArrowBuyCode |
Up-arrow wingding. Symbol for buy marks, `233`. | 233 |
ArrowSellCode |
Down-arrow wingding. Symbol for sell marks, `234`. | 234 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master alert switch, `true`. | on |
EnablePopup |
Popup, `true`. | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
Speaker, `false`. | off |
SoundFile |
(see inputs panel) | alert.wav |

Home chart
RSI zone exits work on any chart. EURUSD H1 is the reference chart, with a few exits a week. On M15 they come daily. On D1 each exit marks the end of a stretched swing.
Where it comes unstuck
Zone exits come after the extreme.
RSI can stay extreme through a trend.
The smoothed copy is for reading only.
Only the popup starts switched on.
Copy the compiled Non Repaint 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 Non Repaint Rsi Indicator: Relative Strength Index at BabyPips, Relative strength index on Wikipedia.
Download the Non Repaint Rsi Indicator for MT4 and MT5
The zip holds the compiled Non Repaint 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
Why can a Bull cross never move afterwards?
Every check starts from the last closed bar and never touches the forming one. Once a mark prints, no later tick can change the RSI values behind it, so the mark stays put.
Why is a Bull cross drawn at 50 in the pane?
It sits at a fixed mid-pane height so it never hides the RSI line. The matching mark on price shows exactly which candle it belongs to.
What does RsiSmoothing 3 add?
An orange three-bar average of RSI that makes turns easier to read by eye. The zone-exit marks use the raw blue line, not this smoothed copy, so it never delays a signal.
Can ArrowBuyCode change the mark symbol?
Yes. It takes any Wingdings code, and 233 is the standard up arrow. Change it if another tool on your chart already uses that symbol and you want to tell them apart.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Non Repaint Rsi 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
- For background on this concept, see Spot date on Wikipedia.
- For broader market context, see investor resources at the NFA.
