ZigZag Indicator MT4 – Settings & Free Download

Price charts are full of minor swings that make it hard to see the real structure of the market. Pullbacks within trends, overnight noise, and intraday whipsaws can blur the bigger picture. The ZigZag indicator for MT4 cuts through all of that. It connects significant swing highs and swing lows with straight lines, filtering out price movements smaller than a threshold you define. The result is a clean visual map of the market’s actual turning points.

But there’s an important caveat that too many traders overlook: the ZigZag repaints. The last leg on the chart is always provisional and can shift as new price arrives. That single fact changes everything about how you should use it. In this review, we’ll cover the settings, explain the repainting behavior in detail, and show you how to use ZigZag properly as an analytical tool rather than a signal generator.

What is the ZigZag Indicator?

The ZigZag indicator draws a line between swing highs and swing lows on your chart, but only when price has moved by a minimum percentage or number of points from the previous swing. Small fluctuations that fall below the threshold are ignored entirely, leaving you with a simplified view of the market’s directional swings.

The standard MT4 ZigZag uses three parameters to determine which price swings qualify. Depth controls the minimum number of bars between swing points. Deviation sets the minimum percentage price change required to form a new swing. Backstep defines the minimum number of bars between local highs or lows. Together, these three values act as a filter – the higher you set them, the fewer swings the indicator will plot and the smoother the resulting line.

The ZigZag has been a staple of technical analysis for decades. It’s rooted in the same principles that underpin Elliott Wave theory and Dow Theory, both of which rely on identifying sequences of higher highs and higher lows (or the reverse) to define trends. While it won’t tell you where price is going next, it gives you a clean structural framework to build your analysis on.

How the ZigZag Indicator Works on MT4

When you apply the ZigZag to a MetaTrader 4 chart, you’ll see a series of straight lines connecting the significant peaks and troughs. Upward-sloping legs connect swing lows to swing highs, and downward-sloping legs connect swing highs to the next swing low. The chart immediately looks less noisy and the underlying wave structure becomes obvious.

ZigZag indicator plotted on MT4 EURUSD H1 chart showing connected swing highs and swing lows

Here’s where it gets critical: the ZigZag repaints the most recent leg. Every completed swing in the past is fixed and won’t change. But the current, active leg is constantly being redrawn as price moves. If the market is in the middle of an upswing and you see the ZigZag line pointing upward, it can reverse and repaint downward if price reverses by more than the minimum deviation before exceeding the current swing high.

This repainting is not a bug – it’s how the indicator works by design. The ZigZag needs to see a confirmed reversal of a certain magnitude before it locks in a swing point. Until that happens, the last leg remains provisional. This means you should never trade the current ZigZag leg as if it’s a signal. Instead, use the confirmed (historical) swings for your analysis.

The indicator is most powerful when used to identify completed swing structures for tools like Fibonacci retracements, harmonic patterns, and Elliott Wave counts. These techniques all require you to accurately identify where swings started and ended, and the ZigZag automates that identification.

Key Features

  • Built into MT4 under the Custom Indicators folder – no download needed for the standard version
  • Connects swing highs and swing lows with clean straight lines, filtering out minor noise
  • Three adjustable parameters (Depth, Deviation, Backstep) for fine-tuning sensitivity
  • Works on all timeframes and all currency pairs
  • Excellent companion for Fibonacci retracement, Elliott Wave, and harmonic pattern analysis
  • Repaints the last leg – historical swings are fixed, but the current swing is always subject to change

Best Settings for ZigZag Indicator

The default ZigZag settings in MT4 are Depth 12, Deviation 5, and Backstep 3. These work reasonably well on mid-range timeframes, but you’ll want to adjust them based on how you trade:

Parameter Scalping (M5-M15) Day Trading (M30-H1) Swing Trading (H4-D1)
Depth 5 12 20-30
Deviation 3 5 8-10
Backstep 2 3 5
Result More swing points, reacts faster Balanced swing detection Only major market turning points

ZigZag indicator settings window in MT4 showing Depth, Deviation, and Backstep parameters

What each parameter actually does:

  • Depth (default: 12) – The minimum number of bars the indicator looks back to identify a swing. Higher values mean larger, more significant swings.
  • Deviation (default: 5) – The minimum percentage move from the previous swing high or low required before a new swing is plotted. This is the primary noise filter.
  • Backstep (default: 3) – The minimum number of bars between two consecutive swing highs or swing lows. Prevents the indicator from clustering multiple swing points too close together.

Recommended starting point: If you trade the H1 or H4 timeframe, stick with the default settings initially. If the ZigZag plots too many minor swings that clutter your chart, increase Depth to 15-20. If it’s missing swings you consider important, drop Depth to 8-10.

Pros and Cons

Pros Cons
Instantly reveals the swing structure of any market Repaints the last leg – the current swing can and will change
Automates swing point identification for Fibonacci and Elliott Wave Not a signal indicator – cannot be used for direct buy/sell entries
Fully customizable sensitivity through three parameters Can mislead new traders who don’t understand the repainting behavior
Built into MT4 – no installation or cost Overly sensitive settings produce too many swings; overly aggressive settings miss important ones

How to Add the ZigZag Indicator on MT4

The ZigZag indicator ships with every MT4 installation under the Custom Indicators folder.

Step 1: Open your MT4 terminal and select the chart you want to analyze.

Step 2: Click Insert in the top menu bar, then navigate to Indicators > Custom > ZigZag.

Step 3: In the parameters window, configure Depth, Deviation, and Backstep. The defaults (12, 5, 3) are a solid starting point. Choose a color that stands out against your chart background.

Step 4: Click OK. The ZigZag line now appears on your chart, connecting swing highs and swing lows.

Step 5: To adjust after applying, double-click the ZigZag line on your chart or right-click it and select Properties. You can change the parameters in real time and see how different settings affect the swing detection.

Tip: Pair the ZigZag with a Fibonacci Retracement tool by snapping your Fibonacci levels to the confirmed swing points that ZigZag identifies. This removes the guesswork from placing retracement and extension levels.

Need help with installation basics? Check our full guide on how to install MetaTrader 4.

Trading Strategy Using ZigZag Indicator

Because the ZigZag repaints, you should never use it as a standalone signal. Instead, use it as a structural tool that feeds into a broader strategy. Here’s a practical approach that combines ZigZag with Fibonacci retracement on the H1 and H4 timeframes:

Setup: Apply the ZigZag indicator with default settings (12, 5, 3) and have the Fibonacci retracement tool ready.

Step 1 – Identify the Trend:
Look at the completed ZigZag swings. If you see a sequence of higher swing highs and higher swing lows, the trend is up. Lower highs and lower lows mean the trend is down. Ignore the current (last) leg since it can repaint.

Step 2 – Wait for a Completed Swing:
Once the ZigZag confirms a new swing high (in an uptrend) or swing low (in a downtrend), draw your Fibonacci retracement from the previous confirmed swing to the new confirmed swing.

Step 3 – Enter on Retracement:
In an uptrend, wait for price to pull back to the 38.2% or 50% Fibonacci level. Enter long when a bullish reversal candle forms at that level. In a downtrend, wait for a rally to the 38.2% or 50% level and enter short on a bearish reversal candle.

Stop Loss: Place the stop beyond the 78.6% Fibonacci level or beyond the previous confirmed swing point.

Take Profit: Target the 127.2% or 161.8% Fibonacci extension of the same swing, or trail your stop using the next ZigZag swing point that gets confirmed.

ZigZag indicator used to identify swing points for Fibonacci retracement on MT4 chart

This approach works because you’re using the ZigZag for what it does best – identifying confirmed swing points – while relying on Fibonacci confluence and price action for the actual trade trigger. The repainting issue is neutralized because you only act on completed, locked-in swings.

ZigZag vs Fractal Indicator

Both the ZigZag and the Fractal indicator aim to identify swing points, but they take fundamentally different approaches:

Feature ZigZag Fractal
Primary Use Connecting swing highs and lows into a continuous structure Marking individual swing points with arrows
Repainting Yes – last leg repaints No – fractals are confirmed after 2 bars and locked
Noise Filtering Highly adjustable via Depth, Deviation, Backstep Fixed pattern (5-bar by default) with no percentage filter
Visual Output Connected lines showing wave structure Individual arrows above/below swing points
Best For Elliott Wave counts, harmonic patterns, Fibonacci mapping Support/resistance identification, breakout confirmation

Verdict: Use the ZigZag when you need to see the overall wave structure and map multi-swing patterns like Elliott Waves or harmonics. Use Fractals when you want non-repainting, confirmed swing points for support/resistance levels or breakout entries. Many traders use both together – Fractals for confirmed levels and ZigZag for the structural context.

Frequently Asked Questions

Is the ZigZag indicator free for MT4?

Yes. The ZigZag is built into every copy of MetaTrader 4. You’ll find it under Insert > Indicators > Custom > ZigZag. No download or purchase required. Our enhanced version with non-repainting mode and swing alerts is also available as a free download here on ForexOBroker.

Does the ZigZag indicator repaint?

Yes, and this is the most important thing to understand about it. The last leg of the ZigZag can and will change as new price data comes in. All previous, completed swings are fixed permanently. But the current swing direction and endpoint will shift until a reversal of sufficient magnitude is confirmed. Never trade the current leg as a signal.

What are the best ZigZag settings for MT4?

The defaults (Depth 12, Deviation 5, Backstep 3) suit most situations on the H1 and H4 timeframes. For scalping on M5-M15, reduce Depth to 5-8 and Deviation to 3. For swing trading on Daily charts, increase Depth to 20-30 and Deviation to 8-10 to capture only major turning points.

Can I use ZigZag as a buy/sell signal indicator?

No. The ZigZag is an analytical tool, not a signal generator. Because the most recent leg repaints, acting on the current swing direction is unreliable. Instead, use ZigZag to map completed swing points and feed them into other tools like Fibonacci, harmonic scanners, or Elliott Wave counts.

Can I use the ZigZag indicator on MT5?

Yes. The ZigZag is also built into MT5 with the same three parameters and identical behavior. Your settings and analysis techniques transfer directly between both platforms.

Download Enhanced ZigZag Indicator for MT4 – Free

The built-in ZigZag does the job, but our enhanced version adds features that serious swing traders need:

  • Non-repainting mode – optionally lock swing points after confirmation, eliminating the repainting issue on the last leg
  • Swing alerts – popup, email, and push notifications when a new swing high or low is confirmed
  • Multi-timeframe display – see the H4 and D1 ZigZag structure overlaid on your H1 chart
  • Swing labels – automatic price labels at each confirmed swing point for quick reference

Platform: MT4 (Build 1000+)
File type: .ex4
File size: 18 KB
Version: 1.7
Last updated: March 2026

Download the ZigZag Indicator – Free Instant Access

No payment. No catch. Enter your email below and the ZigZag Indicator file lands in your inbox within 60 seconds. Here’s everything you get:

  • The non-repainting ZigZag Indicator file (.ex4) – install in 30 seconds
  • Step-by-step installation guide with chart screenshots
  • Best-performing settings for scalping, day trading, and swing trading
  • The exact entry and exit rules Dom uses in live trading
  • Weekly trading insights from a developer with 16+ years of market experience


 

100% free forever. Your email is safe – we never sell, share, or spam. Unsubscribe with one click anytime.

By downloading, you agree to receive trading tips and indicator updates from ForexOBroker. Unsubscribe anytime.

Overall Rating: 4.2/5

Category Rating
Accuracy 3.8/5
Ease of Use 4.5/5
Features 4.0/5
Value 4.8/5

Related Indicators


Trading forex involves significant risk of loss and is not suitable for all investors. Past performance is not indicative of future results. The indicators provided on ForexOBroker are for educational purposes only. Always use proper risk management and never trade with money you cannot afford to lose.

Author: Dominic Walsh
blank

I am a highly regarded trader, author & coach with over 16 years of experience trading financial markets. Today I am recognized by many as a forex strategy developer. After starting blogging in 2014, I became one of the world's most widely followed forex trading coaches, with a monthly readership of more than 40,000 traders! Make sure to follow me on social media: Instagram | Facebook | Youtube| Twitter | Pinterest | Reddit | Telegram Channel