A level earns trust when price has respected it more than once. The non repaint support and resistance indicator keeps only levels touched twice or more, draws them as rays, and marks a candle that touches one and closes firmly away from it. Every check uses closed bars.
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: S/R Touch BUY, S/R Touch SELL |
| Alerts | popup, push notification, email, sound |
| Inputs | 16 |
What the Non Repaint Support And Resistance Indicator draws on the chart
Level rays and two marks on price.
`SupportColor` `clrLimeGreen` draws support rays.
`ResistanceColor` `clrTomato` draws resistance rays.
`S/R Touch BUY` prints deep sky blue with arrow 233.
`S/R Touch SELL` prints orange red with arrow 234.
`AutoExtend` runs the rays to the right edge.
- S/R Touch BUY: arrow, deep sky blue, width 2, arrow code 233
- S/R Touch SELL: arrow, orange red, width 2, arrow code 234

How the numbers arrive
Levels
`PivotStrength` `3` bars on each side confirm a pivot within `Lookback` `200` bars. A level needs `MinTouches` `2` before it counts.
Zone
Each level gets a band of `ZoneATRMult` `0.4` of a 14-bar range on each side. A bar that reaches the band has touched it.
Bounce
A bullish candle closing in its upper half and above support prints a buy. Resistance works the other way.
How to read the signals
Green rays sit under price, tomato above.
Blue marks are bounces off support.
Orange red marks are rejections at resistance.
Levels with one touch stay hidden.
`MaxLevels` `8` caps the rays.
`ArrowOffsetPts` `8` keeps marks close.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Touch signals send one message per closed bar. `EnableAlerts` controls them, and the popup is the one route turned on when the file is new.
Every Non Repaint Support And Resistance Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
Lookback |
bars to scan for swing structure. Bars scanned for pivots, `200`. | 200 |
PivotStrength |
bars each side of pivot. Bars on each side of a pivot, `3`. | 3 |
MinTouches |
touches needed to validate a level. Touches before a level counts, `2`. | 2 |
ZoneATRMult |
zone half-width = mult * ATR(14). Band half-width in ranges, `0.4`. | 0.4 |
MaxLevels |
hard cap on simultaneous levels. Levels drawn at most, `8`. | 8 |
AutoExtend |
extend rays to the right edge. Extend rays to the right, `true`. | on |
Display settings
| Setting | What it does | Default |
|---|---|---|
SupportColor |
(see inputs panel) | lime green |
ResistanceColor |
(see inputs panel) | tomato |
LineWidth |
Ray width, `1`. | 1 |
ArrowOffsetPts |
Mark gap in points, `8`. | 8 |
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 |
(see inputs panel) | off |
SoundFile |
(see inputs panel) | alert.wav |

Chart choice
Two-touch levels form a few times a week on hourly charts. EURUSD H1 is the reference chart. On M15 levels come and go quickly. On D1 they match the classic support and resistance traders mark by hand.
Where it breaks down
A bounce in a strong trend often fails.
Bands can overlap on tight ranges.
The strong-candle rule skips doji rejections.
Only the popup is set to deliver at first.
Copy the compiled Non Repaint Support And Resistance 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.
Related on forexmt4systems.com: Support and Resistance Strategy.
Download the Non Repaint Support And Resistance Indicator for MT4 and MT5
The zip holds the compiled Non Repaint Support And Resistance 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 MinTouches 2 hide?
Levels built from a single pivot. A price needs a second pivot inside its band before it is drawn, which keeps one-off turns off the chart.
How wide is the ZoneATRMult 0.4 band?
Four tenths of a 14-bar range on each side of the level. A bar that reaches anywhere inside that band counts as touching it, even if it never hits the exact price.
What candle does S/R Touch BUY need?
A bullish candle that closes in the upper half of its range and above the support level, after reaching the band. Weak or doji candles do not qualify.
Why is this support and resistance non repaint?
Pivots need three closed bars on each side, and touches are judged on closed bars only. A mark that prints never moves or disappears later.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Non Repaint Support And Resistance Indicator as one input. Always backtest before trading live.
Category: this is part of our Support and Resistance collection. Browse more Support and Resistance for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Synthetic replication on Wikipedia.
- For broader market context, see Stochasticoscillator at Investopedia.
