Swing Point Highs And Lows Indicator for MT4 and MT5

Written by Dominic Walsh · Published · Last updated

Market structure is a chain of swing highs and lows. This swing point highs and lows indicator dots each swing that stands out by at least half a range, rays the latest high and low across the chart, and marks the bar that closes through one of them. An optional volume check can confirm the break.

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: Swing High, Swing Low, Buy, Sell
Alerts popup, push notification, email, sound
Inputs 13

What the build shows

Dots, two rays and two marks on price.

`Swing High` dots orange red with code 159.

`Swing Low` dots dodger blue with code 159.

`Buy` marks a broken high, lime and two pixels wide.

`Sell` marks a broken low in red.

Dotted rays mark the latest swing levels.

  • Swing High: arrow, orange red, width 1, arrow code 159
  • Swing Low: arrow, dodger blue, width 1, arrow code 159
  • Buy: arrow, lime, width 2, arrow code 233
  • Sell: arrow, red, width 2, arrow code 234
swing point highs and lows indicator: Swing dots, rays and break marks, EURUSD H1.
Swing dots, rays and break marks, EURUSD H1.

What the formula does

The swing

`SwingLen` `3` bars on each side confirm a turn. `MinSwingAtr` `0.5` then asks it to stand half a 14-bar range above its neighbours.

The break

A buy needs a close above the latest swing high after a close at or below it. Sells mirror that at the latest low.

The volume check

`UseVolumeFilter` ships `false`. Switched on, the break bar needs tick volume above its `VolLookback` `20` bar average.

Making it useful

Dots show every prominent swing.

Rays show the two levels in play now.

A lime mark means the last high gave way.

A red mark means the last low gave way.

`DrawLevels` `true` keeps the rays visible.

Each swing needs three closed bars to confirm.

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

Breaks report as BUY or SELL with a short reason. `EnableAlerts` gates them, the popup is the only route that starts on, and the others wait in the inputs.

Every Swing Point Highs And Lows Indicator input

Core settings

Setting What it does Default
SwingLen Fractal bars each side of a swing pivot. Bars on each side of a swing, `3`. 3
AtrPeriod ATR period (swing prominence + arrow offset). Range window, `14`. 14
MinSwingAtr Min swing prominence in ATR (0 = show all). Smallest swing kept, in ranges, `0.5`. 0.5
UseVolumeFilter Require above-average volume on breakout. Demand above-average volume, `false`. off
VolLookback Bars for volume average. Bars for the volume average, `20`. 20

Display settings

Setting What it does Default
ArrowOffsetAtr Arrow/marker offset in ATR. How far marks sit from the bar, in ranges, `0.6`. 0.6
DrawLevels Draw S/R rays at last swing high/low. Ray the latest high and low, `true`. on

Alert settings

Setting What it does Default
EnableAlerts Switch for break messages, `true`. on
EnablePopup Popup, `true`. on
EnablePushNotify (see inputs panel) off
EnableEmail (see inputs panel) off
EnableSound Speaker, `false`. off
SoundFile (see inputs panel) alert.wav
swing point highs and lows indicator: Inputs panel, swing settings above the volume check.
Inputs panel, swing settings above the volume check.

Settings that fit your chart

Structure breaks happen on every liquid chart. EURUSD H1 is the reference chart, with a few breaks a day. On M5 the prominence check keeps dots sparse. On D1 each break is a change in the larger structure.

When it will mislead you

A close through a swing is often a false break.

Tick volume is a proxy, not real traded volume.

Volume confirmation is off out of the box.

Messages start as popups and nothing else.

Copy the compiled Swing Point Highs And Lows 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 Swing Point Highs And Lows Indicator for MT4 and MT5

The zip holds the compiled Swing Point Highs And Lows 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 MinSwingAtr 0.5 filter out?

Small wiggles. A turn must stand at least half of the 14-bar average range away from its neighbours to earn a dot, so minor pauses inside a move are ignored.

Should UseVolumeFilter stay off on forex pairs?

Usually, yes. Forex tick volume is only a proxy for activity, and the check would silence many valid breaks. Try it on index or metal charts where volume tracks participation more closely.

Which level does a Buy mark break?

The most recent confirmed swing high, the one the upper ray marks. The close must move above it after the previous close sat at or below it.

What does DrawLevels add to the chart?

Two dotted rays at the latest swing high and low. They show at a glance which levels a close would need to break for the next mark.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Swing Point Highs And Lows 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