Non Repaint Elliott Wave Indicator: Counting Pivots

Written by Dominic Walsh · Published · Last updated

The non repaint elliott wave indicator counts pivots rather than interpreting them. An ATR-based deviation filter decides which turns are real. The code then labels the sequence, and when a fresh pivot lands as the third impulse leg it drops a directional arrow. `PivotConfirm` keeps every mark fixed.

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: EW BUY, EW SELL, EW Pivot High, EW Pivot Low
Alerts popup, push notification, email, sound
Inputs 10

What the Non repaint elliott wave Indicator draws on the chart

EW Pivot High and EW Pivot Low are dodger blue and orange dots at each confirmed turn.

EW BUY places a lime arrow when a third leg prints upward.

EW SELL places a red arrow for the downward case.

Signal arrows sit twice as far from the bar as the pivot dots do.

  • EW BUY: arrow, lime, width 2, arrow code 233
  • EW SELL: arrow, red, width 2, arrow code 234
  • EW Pivot High: arrow, dodger blue, width 1, arrow code 119
  • EW Pivot Low: arrow, orange, width 1, arrow code 119
Non repaint elliott wave indicator on EURUSD H1 with the counted pivot sequence
Non repaint elliott wave indicator on EURUSD H1 with the counted pivot sequence

How the Non repaint elliott wave Indicator calculates its values

Building ATR in one pass

tr takes the largest of the bar range and the two gaps to the previous close. The array then fills forward with Wilder smoothing at `ATRPeriod` `14`. One pass covers the history, so nothing recalculates the same bar twice.

Filtering pivots by deviation

dev takes the ATR reading times `ATRMultiplier` `1.2`. A candidate high is rejected unless it clears the last stored pivot price by dev. That threshold is what stops every small wobble becoming a wave.

Confirming before printing

`PivotConfirm` `2` closed bars must sit on the other side of a candidate before the code accepts it. The loop also stops short of the newest bars for the same reason. An arrow that printed on a closed bar therefore never moves.

How to read the signals

The dots show the pivot sequence the count is built from.

An arrow marks the leg the code identified as the third impulse.

Wave counting is interpretive, and a mechanical count will differ from a hand-drawn one.

Raise `ATRMultiplier` when the sequence changes more often than you find useful.

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

`EnableAlerts` starts on with `EnablePopup`, `EnablePushNotify` and `EnableSound` all true, while `EnableEmail` is false. `AlertSoundFile` picks the clip. Pivots confirm on closed bars, and the guard allows one wave message per bar.

Every Non repaint elliott wave Indicator input

Core settings

Setting What it does Default
ATRPeriod ATR period for pivot deviation. Bars in the ATR used by the deviation filter, default `14`. 14
ATRMultiplier ATR multiplier for swing threshold. Deviation threshold in ATR units, default `1.2`. 1.2
PivotConfirm Closed bars needed to confirm pivot. Closed bars required to confirm a pivot, default `2`. 2

Display settings

Setting What it does Default
ArrowOffsetPts Arrow vertical offset (points). Pivot dot distance from the bar in points, default `25`. 25

Alert settings

Setting What it does Default
EnableAlerts Master alert switch. Master switch for the wave alerts, default `true`. on
EnablePopup Popup alerts. Terminal dialog on a wave signal, default `true`. on
EnablePushNotify Push notifications. Phone push on a wave signal, default `true`. on
EnableEmail Email alerts. Mail delivery on a wave signal, default `false`. off
EnableSound Sound alerts. Sound playback on a wave signal, default `true`. on
AlertSoundFile Wav clip for the wave alert, default `alert.wav`. alert.wav
Non repaint elliott wave indicator inputs: ATRPeriod, ATRMultiplier, PivotConfirm
Non repaint elliott wave indicator inputs: ATRPeriod, ATRMultiplier, PivotConfirm

Settings that fit your chart

Wave structure needs room, so higher timeframes suit it better. EURUSD H1 is the reference chart, where `ATRMultiplier` at `1.2` filters out most intraday chop. On M5 the sequence restarts constantly. On H4 and daily each counted leg covers days, which is closer to how the theory is normally applied.

When the Non repaint elliott wave Indicator fails

Wave counting is a matter of interpretation, and this count is purely mechanical.

A single deviation threshold treats every degree of trend the same way.

Two confirmation bars is a short wait, so the sequence can still re-label as new pivots arrive.

Copy the compiled Non repaint elliott wave 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.

Background reading on the method behind the Non repaint elliott wave Indicator: Identifying Elliott Wave Patterns at StockCharts ChartSchool, Securities information processor on Wikipedia.

Download the Non repaint elliott wave Indicator for MT4 and MT5

The zip holds the compiled Non repaint elliott wave 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 ATRMultiplier at 1.2 reject?

Any candidate pivot that fails to travel 1.2 ATR from the last stored one. On a chart where ATR reads 15 pips, a turn must cover 18 pips to register. Raise it for a coarser count and far fewer legs.

How does PivotConfirm keep marks fixed?

By waiting. A candidate pivot needs `PivotConfirm` `2` closed bars on the far side before the code accepts it, and the loop stops short of the newest bars. Nothing is judged on the bar still forming, so a printed arrow cannot be withdrawn.

What do the EW Pivot High and Low dots show?

Every turn that passed the deviation filter, in dodger blue above and orange below. They are the raw sequence the wave count reads. Comparing them with the arrows shows which leg the code decided was the third impulse.

Should ArrowOffsetPts change on a fast chart?

Possibly. At `25` points the pivot dots sit clear of the wick on EURUSD, and the signal arrows sit at twice that. On an instrument with much larger candles both will look cramped, so raise it until the marks separate.

Are results guaranteed?

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