Most swing turns mean little on their own. The non repaint reversal indicator confirms each pivot with four bars on the left and three on the right, then keeps only those where RSI reached an extreme within the last six bars. It marks the pivot once the right-hand bars have closed.
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 | Main price chart |
| Plots | 2: Reversal BUY, Reversal SELL |
| Alerts | popup, push notification, email, sound |
| Inputs | 13 |
Everything the Non Repaint Reversal Indicator draws
Two marks on price.
`Reversal BUY` prints dodger blue with arrow 233.
`Reversal SELL` prints orange red with arrow 234.
Marks sit on the pivot bar itself.
A comment shows the RSI and pivot settings.
`ArrowOffsetPts` `12.0` sets the gap.
- Reversal BUY: arrow, dodger blue, width 2, arrow code 233
- Reversal SELL: arrow, orange red, width 2, arrow code 234

What happens on each bar
Pivot
`PivotLeft` `4` bars before and `PivotRight` `3` bars after must stay above a low for it to count as a swing low.
RSI context
`RsiPeriod` `14` must have reached `OversoldLevel` `35` or lower within `LookbackBars` `6` bars of the pivot.
Mark
A swing low with oversold RSI prints a buy on the pivot bar. Swing highs with RSI at 65 or more print a sell.
Reading it on a live chart
Blue marks show exhausted lows.
Orange red marks show exhausted highs.
Marks appear three bars after the turn.
Pivots without an RSI extreme stay unmarked.
The 35 and 65 levels are wider than usual.
Warm-up needs about twenty bars.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
A confirmed reversal pivot sends one message. `EnableAlerts` controls it; popup delivery is the only route live at the start.
Every Non Repaint Reversal Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
PivotLeft |
bars on the left of pivot. Bars before the pivot, `4`. | 4 |
PivotRight |
bars on the right (waits this many to confirm). Bars after the pivot, `3`. | 3 |
RsiPeriod |
RSI lookback. RSI length, `14`. | 14 |
OverboughtLevel |
overbought threshold. Upper RSI level, `65`. | 65 |
OversoldLevel |
oversold threshold. Lower RSI level, `35`. | 35 |
LookbackBars |
RSI lookback window for confirmation. Window for the RSI extreme, `6`. | 6 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetPts |
arrow distance from high/low (points). Mark gap in points, `12.0`. | 12.0 |
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 |

Picking a chart for it
Pivots with RSI support come a few times a week on hourly charts. EURUSD H1 is the reference chart. On M15 they appear daily. On D1 each one marks a major swing.
What it cannot do
Every mark is three bars late.
Strong trends keep RSI extreme for long stretches.
Wider 35 and 65 levels admit weaker setups.
Only a popup reports out of the box.
Copy the compiled Non Repaint Reversal 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.
Download the Non Repaint Reversal Indicator for MT4 and MT5
The zip holds the compiled Non Repaint Reversal 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 wait for PivotRight 3 bars?
A low is only a swing low once three later bars have stayed above it. Waiting for them keeps the mark from appearing and then vanishing as price moves.
Why use OversoldLevel 35 instead of 30?
It widens the net slightly, since RSI often turns around 32 or 33 without touching 30. Tighten it to 30 for fewer, more extreme setups.
What does LookbackBars 6 cover?
The six bars leading up to and including the pivot. RSI only needs to touch the extreme once in that window, not on the pivot bar itself.
Why does Reversal BUY sit on an older bar?
The mark goes on the pivot, which is three bars old by the time it is confirmed. It then stays fixed, which is what makes the build non repaint.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Non Repaint Reversal Indicator as one input. Always backtest before trading live.
Category: this is part of our Signal and Forecast collection. Browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Spoofing (finance) on Wikipedia.
- For broader market context, see the trading articles library at MQL5.
