Non Repaint Arrow Indicator for MT4 and MT5

Written by Dominic Walsh · Published · Last updated

Crossover arrows that move are worse than no arrows. The non repaint arrow indicator draws an 8-bar and a 21-bar exponential average and marks a cross on a closed bar. Raise the confirmation count and the cross must hold for that many bars before the mark appears.

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 4: FastEMA, SlowEMA, Buy, Sell
Alerts popup, push notification, email, sound
Inputs 10

What renders

Two lines and two marks on price.

`FastEMA` traces dodger blue at width 2.

`SlowEMA` traces orange red at width 2.

`Buy` flags an upward cross in lime, three pixels wide.

`Sell` flags a downward cross in red.

A status block shows the settings and bias.

  • FastEMA: line, dodger blue, width 2
  • SlowEMA: line, orange red, width 2
  • Buy: arrow, lime, width 3, arrow code 233
  • Sell: arrow, red, width 3, arrow code 234
non repaint arrow indicator: EMA pair with confirmed cross marks, EURUSD H1.
EMA pair with confirmed cross marks, EURUSD H1.

The arithmetic

Averages

`FastPeriod` `8` and `SlowPeriod` `21` exponential averages start from a simple average, so both lines hold sound values from the first drawn bar.

Cross check

`ConfirmBars` `1` compares the lines on the current bar with the bar before. Larger values compare with bars further back and require the new side to hold.

One mark per cross

After a buy, another buy needs a fresh cross, so a single move gets one mark.

How to follow it

Blue above orange red means bias up.

A lime mark shows an upward cross that held.

A red mark shows a downward cross that held.

Higher confirmation means later but firmer marks.

`ArrowOffsetPoints` `10.0` sets the gap.

Warm-up needs about twenty-four bars.

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

Confirmed crosses report with the pair and timeframe. `EnableAlerts` switches them, and the popup, mobile route and sound are all on from the start; email is off.

Every Non Repaint Arrow Indicator input

Core settings

Setting What it does Default
FastPeriod Fast EMA period. Quick average, `8`. 8
SlowPeriod Slow EMA period. Slow average, `21`. 21
ConfirmBars Confirmation bars after cross. Bars the cross must hold, `1`. 1

Display settings

Setting What it does Default
ArrowOffsetPoints Arrow gap from candle in points. Mark gap in points, `10.0`. 10.0

Alert settings

Setting What it does Default
EnableAlerts Master alert switch. Master alert switch, `true`. on
EnablePopup Popup alert. Popup, `true`. on
EnablePushNotify Push to mobile MetaTrader. Mobile route, ships on, `true`. on
EnableEmail Email alert. Email route, `false`. off
EnableSound Sound alert. Sound, ships on, `true`. on
SoundFile .wav file. Sound clip, `”alert.wav”`. alert.wav
non repaint arrow indicator: Inputs panel, EMA lengths above confirmation.
Inputs panel, EMA lengths above confirmation.

Settings that fit your chart

An 8 and 21 pair suits intraday charts. EURUSD H1 is the reference chart, with a cross most days. On M15 a larger confirmation count cuts whipsaws. On H4 the pair tracks swing turns.

Where it stops working

Crossovers lag the turn by design.

Ranges still produce back-to-back crosses.

Confirmation trades speed for reliability.

Phone and sound deliveries start switched on.

Copy the compiled Non Repaint Arrow 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 Arrow Indicator for MT4 and MT5

The zip holds the compiled Non Repaint Arrow 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 does ConfirmBars 1 compare?

The two averages on the current closed bar against the bar before. A cross between those two bars prints the mark as soon as the bar closes.

What happens if you raise ConfirmBars to three?

The cross must have happened three bars back, and the fast line must have stayed on its new side since then. The mark arrives later, but fewer crosses fail.

Why does FastEMA start from a simple average?

Seeding from one close makes early values drift. Starting from an eight-bar simple average gives the build a sound line from the very first bar it draws on the chart.

Can a Buy repaint after it prints?

No. The build judges the cross on closed bars only, and the averages for those bars never change. Once the mark is on the chart it stays there.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Non Repaint Arrow 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

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