Reversal marks that vanish after the fact are common in free tools. The non repainting forex reversal indicator only marks a pivot after two closed bars on each side lock it in, and only when RSI at that pivot sits at 35 or below for a low, or 65 or above for a high.
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: Buy, Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 14 |
Drawn output, plot by plot
Two marks on price.
`Buy` prints lime at width 2 under confirmed lows.
`Sell` prints red at width 2 over confirmed highs.
Marks sit `InpArrowOffsetATR` `0.6` ranges off the bar.
A comment shows the settings.
No lines are drawn.
- Buy: arrow, lime, width 2, arrow code 233
- Sell: arrow, red, width 2, arrow code 234

Step by step through the logic
Pivot
`InpPivotLeft` `2` bars before and `InpPivotRight` `2` bars after must stay above a low for it to count.
RSI
`InpRSIPeriod` `14` at the pivot must read `InpOversold` `35.0` or less for a buy, `InpOverbought` `65.0` or more for a sell.
Spacing
`InpCooldownBars` `5` keeps repeat marks apart, and each mark lands on the pivot bar itself.
How to take it
Each lime mark sits under a locked-in low with weak RSI.
Each red mark sits over a locked-in high with strong RSI.
Turns with ordinary RSI get nothing.
Expect every mark two bars after its pivot.
Gap size follows the 14-bar range.
About fifteen bars of history come first.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Confirmed reversals report once per closed bar. `InpEnableAlerts` is the master switch; the popup and the sound playing `InpSoundFile` start on, and the other routes do not.
Every Non Repainting Forex Reversal Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpRSIPeriod |
RSI period. RSI length, `14`. | 14 |
InpOversold |
Oversold threshold. RSI ceiling for buys, `35.0`. | 35.0 |
InpOverbought |
Overbought threshold. RSI floor for sells, `65.0`. | 65.0 |
InpPivotLeft |
Pivot left bars. Older bars that must sit higher, `2`. | 2 |
InpPivotRight |
Pivot right bars (closed-bar confirm). Newer bars that lock the pivot, `2`. | 2 |
InpATRPeriod |
ATR period for arrow offset. Range window, `14`. | 14 |
InpCooldownBars |
Min bars between same-direction signals. Wait before a repeat mark on the same side, `5`. | 5 |
Display settings
| Setting | What it does | Default |
|---|---|---|
InpArrowOffsetATR |
Arrow offset in ATR multiples. Mark gap in ranges, `0.6`. | 0.6 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpEnableAlerts |
Master alert switch. Master alert switch, `true`. | on |
InpEnablePopup |
Popup alerts. | on |
InpEnablePush |
Push notification. | off |
InpEnableEmail |
Email alerts. | off |
InpEnableSound |
Sound alerts. Sound, ships on, `true`. | on |
InpSoundFile |
Sound file. | alert.wav |

Chart choice
Stretched pivots come a few times a week on the hourly EURUSD screenshot. On M15 they come daily. On D1 they mark important turns.
The trade-offs
Two-bar pivots catch small swings too.
RSI at 35 or 65 is only a mild stretch.
A lock-in delay of two bars is built in.
Sound delivery starts switched on.
Copy the compiled Non Repainting Forex 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 Repainting Forex Reversal Indicator for MT4 and MT5
The zip holds the compiled Non Repainting Forex 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
What makes these reversal marks non repainting?
A pivot counts only after two closed bars on its right confirm it. By then the low is final, so a mark never appears and later disappears from the chart.
Why use InpOversold 35.0 rather than 30?
It widens the net a little, since many hourly lows form with RSI in the low to mid 30s. Lower it to 30 for fewer, deeper setups.
Can InpPivotRight be raised for bigger swings?
Yes. More right-hand bars confirm larger swings and filter out small ones. The trade-off is timing: each mark then arrives that many bars after the actual turn.
Why do two InpOversold lows sometimes give one mark?
`InpCooldownBars` blocks a second buy within five bars. When price makes two shallow lows close together, only the first one that qualifies gets a mark.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Non Repainting Forex 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
- Learn more about the underlying method in Trading desk on Wikipedia.
- For wider market background, see Doublebottom at Investopedia.
