A zigzag from a higher timeframe shows the swings that matter while you trade a faster chart. The MTF zigzag indicator FREE .com indicator finds H4 swing highs and lows, filters out the small ones, joins them with lines, and marks each turn on the chart bar where it happened.
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 line, Swing Low line, Swing Low (BUY), Swing High (SELL) |
| Alerts | popup, push notification, email, sound |
| Inputs | 13 |
What the MTF ZigZag Indicator FREE .com Indicator draws on the chart
Zigzag segments and two marks on price.
Segments join H4 swing highs and lows.
`Swing High line` traces tomato.
`Swing Low line` traces dodger blue.
`Swing Low (BUY)` prints lime at width 3.
`Swing High (SELL)` prints red at width 3.
- Swing High line: line, tomato, width 1
- Swing Low line: line, dodger blue, width 1
- Swing Low (BUY): arrow, lime, width 3, arrow code 233
- Swing High (SELL): arrow, red, width 3, arrow code 234

How a value appears
Source
`InpHTF` `PERIOD_H4` supplies the bars. The scan covers the last `InpLookback` `200` H4 bars.
Swings
`InpPivotWindow` `3` H4 bars on each side confirm a turn. A new swing must differ from the last by `InpDeviationPoints` `50` points.
Drawing
The newest `InpMaxPivots` `8` swings get marks, and segments join them in order.
Reading the plots
Long segments show the H4 legs.
Lime marks sit on H4 swing lows.
Red marks sit on H4 swing highs.
Marks appear three H4 bars after the turn.
Swings under 50 points never make the list.
`InpArrowOffsetPts` `25` spaces the marks.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
A newly confirmed H4 swing sends a message. `InpEnableAlerts` is the master switch; the popup and the sound playing `InpSoundFile` start on, while mobile and email wait.
Every MTF ZigZag Indicator FREE .com Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpHTF |
Timeframe the swings come from, `PERIOD_H4`. | PERIOD_H4 |
InpPivotWindow |
bars each side for pivot confirmation. H4 bars on each side of a swing, `3`. | 3 |
InpDeviationPoints |
min pivot deviation (points). Smallest swing size in points, `50`. | 50 |
InpLookback |
HTF bars scanned. H4 bars scanned, `200`. | 200 |
InpMaxPivots |
max pivots to mark. Swings marked at most, `8`. | 8 |
InpObjPrefix |
(see inputs panel) | MTFZZ_ |
Display settings
| Setting | What it does | Default |
|---|---|---|
InpArrowOffsetPts |
Mark gap in points, `25`. | 25 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpEnableAlerts |
Master alert switch, `true`. | on |
InpEnablePopup |
Popup, `true`. | on |
InpEnablePush |
Mobile route, `false`. | off |
InpEnableEmail |
(see inputs panel) | off |
InpEnableSound |
Sound, ships on, `true`. | on |
InpSoundFile |
(see inputs panel) | alert.wav |

Choosing a timeframe
H4 swings on a lower chart suit M15 and H1 trading. EURUSD H1 is the reference chart, with a new H4 swing every few days. On M5 each leg spans hundreds of bars. Set `InpHTF` to D1 for H4 charts.
The catch
Each swing confirms three H4 bars late.
Fifty points is small on volatile pairs.
Only the newest eight swings stay on the chart.
The sound route ships on.
Copy the compiled MTF ZigZag Indicator FREE .com 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 MTF ZigZag Indicator FREE .com Indicator for MT4 and MT5
The zip holds the compiled MTF ZigZag Indicator FREE .com 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 InpDeviationPoints 50 filter?
Swings that differ from the previous swing by fifty points or less. On EURUSD that is five pips, so the filter only drops small wobbles; raise it for cleaner legs.
Why does Swing Low (BUY) appear late?
An H4 low needs three H4 bars on its right, twelve hourly bars, before it counts. The build then places the mark back on the bar where the low formed.
Does the zigzag still work with InpHTF on D1?
Yes. The zigzag then follows daily swings, which suits H4 charts. Keep the source above the chart you trade so each leg still spans a meaningful move.
Why does InpMaxPivots keep only eight swings?
It keeps the chart readable. The newest eight swings stay marked and joined, and the build deletes older segments as new swings confirm, so the view always shows the current legs.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the MTF ZigZag Indicator FREE .com 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
- Learn more about the underlying method in ProRealTime on Wikipedia.
- For wider market background, see Technical Overlays at StockCharts ChartSchool.
