Gold Non Repaint Indicator MT4 + MT5 (EMA + RSI + ATR)

Written by Dominic Walsh · Published · Last updated

The gold non repaint indicator combines an EMA trend read, an RSI threshold and an ATR-scaled offset into a single BUY/SELL arrow. It reads all three from the prior closed bar rather than the forming one, which keeps the arrow from moving once it prints. It suits XAUUSD traders who want a fixed, three-part gate rather than a single-indicator trigger.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from XAUUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 2: Gold BUY, Gold SELL
Alerts popup, push notification, email, sound
Inputs 12

What the Gold non repaint Indicator draws on the chart

Gold BUY places a lime arrow (code 233) below the candle low when the buy conditions align.

Gold SELL places a red arrow (code 234) above the candle high when the sell conditions align.

  • Gold BUY: arrow, lime, width 2, arrow code 233
  • Gold SELL: arrow, red, width 2, arrow code 234
Gold non repaint indicator on XAUUSD H1 with BUY and SELL arrows.
Gold non repaint indicator on XAUUSD H1 with BUY and SELL arrows.

How the Gold non repaint Indicator calculates its values

Three readings, all from the prior closed bar

InpEMAPeriod, `20`, feeds an EMA, InpRSIPeriod, `7`, feeds an RSI, and InpATRPeriod, `14`, feeds an ATR, and the code reads all three from the bar before the one it is evaluating rather than the current bar.

The comment on InpRSIThreshold spells out the gate directly: a BUY needs RSI above 55, a SELL needs it below 45, both measured against the `55.0` default threshold.

Why it reads the prior bar

Because the code pulls the EMA, RSI and ATR values from an already-closed bar rather than the forming one, the arrow that prints does not shift as the current bar’s price keeps moving. That mechanism backs the non-repaint claim in the product name.

Why three conditions instead of one

A single RSI threshold on its own fires often, since RSI crosses 55 or 45 many times in an average session. Stacking the EMA trend read and the ATR-scaled offset on top of the RSI gate means all three must line up before the arrow prints.

That stacking is what the build notes mean by a three-part gate: RSI alone decides direction, and the EMA and ATR conditions narrow down which of those RSI crosses actually qualify.

How to read the signals

A lime Gold BUY arrow means the prior bar’s RSI cleared 55 alongside the EMA and ATR conditions.

A red Gold SELL arrow means the prior bar’s RSI fell under 45 alongside the same EMA and ATR conditions.

Because every input reads from the closed bar behind the signal bar, the arrow position does not move once it has printed.

No arrow at all across a long stretch of candles means the three conditions never lined up together, not that the market was flat.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

Alerts cover popup, push, email and sound, and fire once per closed bar.

Every Gold non repaint Indicator input

Core settings

Setting What it does Default
InpEMAPeriod EMA period. EMA period behind the trend read; default `20`. 20
InpRSIPeriod RSI period. RSI period behind the threshold check; default `7`. 7
InpATRPeriod ATR period. ATR period behind the offset and movement figure; default `14`. 14
InpATRMult ATR multiplier for breakout offset. Multiplies the ATR reading into a breakout offset; default `0.3`. 0.3
InpRSIThreshold RSI gate (BUY > 55, SELL < 45). RSI gate; BUY needs the RSI above this value, SELL needs it below 100 minus this value, 55 and 45 by default. 55.0

Display settings

Setting What it does Default
InpArrowOffsetPts Arrow vertical offset in points. 8.0

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
Inputs panel for the gold non repaint indicator showing InpEMAPeriod and InpRSIThreshold.
Inputs panel for the gold non repaint indicator showing InpEMAPeriod and InpRSIThreshold.

Settings that fit your chart

Built and screenshotted on XAUUSD H1, the gold-specific pairing the build notes call for; the same EMA/RSI/ATR combination works on other liquid instruments if you re-tune InpRSIThreshold for their typical range.

When the Gold non repaint Indicator fails

Reading the prior bar instead of the current one adds one bar of lag before the arrow can print, the trade-off for the non-repaint behaviour.

A short InpRSIPeriod of `7` swings RSI quickly, so on a choppy gold session the 55/45 threshold can cross and re-cross within a short run of bars.

InpATRMult only scales the arrow’s vertical offset; it does not filter which signals fire, so raising it will not reduce signal frequency on its own.

Because all three conditions must align, a session where price is trending but RSI stays inside the 45-55 band produces no arrow at all, even during a clear directional move.

Copy the compiled Gold non repaint 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: Gold Scalping Strategy.

Background reading on the method behind the Gold non repaint Indicator: Zürich Gold Pool on Wikipedia, Stockcharts Technical Rank Sctr at StockCharts ChartSchool.

Download the Gold non repaint Indicator for MT4 and MT5

The zip holds the compiled Gold non repaint 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.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

What makes this indicator non-repaint?

Every value behind the signal, the EMA, the RSI and the ATR, reads from the bar before the signal bar rather than the forming bar. Once a bar closes and the code prints the arrow from it, that arrow does not move.

What RSI level triggers a BUY or SELL?

The source comment on InpRSIThreshold spells it out: a BUY needs the prior bar’s RSI above 55, a SELL needs it below 45, both measured against the InpRSIPeriod `7` reading.

Does InpATRMult change how often the arrow fires?

No. InpATRMult only scales the ATR reading into the arrow’s vertical offset from the candle. The BUY/SELL decision itself comes from the EMA and RSI conditions, not from InpATRMult.

Why was this built for gold specifically?

The build notes label it gold-specific and the screenshot below is XAUUSD H1, though the underlying EMA/RSI/ATR combination runs on any symbol the platform offers.

Why might the indicator print no arrows during a clear trend?

All three conditions, EMA, RSI and ATR, must line up on the prior closed bar before an arrow prints. If RSI stays inside the 45-55 band while price trends, the RSI gate alone can keep the arrow from firing.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Gold non repaint Indicator as one input. Always backtest before trading live.

Category: this is part of our Signal and Forecast collection. Also, browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment