ZigZag Indicator

The ZigZag indicator draws straight lines between significant swing highs and lows, ignoring any move smaller than a set percentage (often 5%). It cleans up noise to show market structure, but it has no predictive power because its last line can change.

Price charts are noisy: lots of small wiggles hide the bigger swings that matter. The ZigZag indicator strips them away, connecting only the meaningful turning points. It is popular for spotting swing structure, counting Elliott waves and drawing Fibonacci levels. But it has a big catch — the most recent line keeps redrawing until a new swing is confirmed. This entry explains how it works and how to use it safely.

Category
Indicators and Tools
Reading time
4 min
Also called
ZigZag, Zig Zag indicator, ZigZag overlay
Updated

ZigZag in plain words

ZigZag is less an indicator than a filter that hides smaller price moves: set it to 10 and every move under 10% is ignored.1

It is drawn as a line over the price chart, and 5% is the traditional threshold, though you can change it.1

Because the lines are drawn with hindsight, ZigZag has no predictive power on its own.1

How ZigZag is drawn, step by step

  1. Choose a threshold

    For example 5% or 10%.

  2. Start from a swing point

    The last confirmed high or low.

  3. Wait for a reversal

    Price must move against the swing by at least the threshold.

  4. Draw the line

    Connect the previous swing point to the new extreme.

  5. Keep updating

    The last line extends until a new reversal is confirmed.

  6. Read the structure

    Higher highs and lows, or lower ones. See Market Structure.

Worked examples

Example 1 — Filtering noise

Dip filtered out

ZigZag at 5%. A stock rises from $100 to $120, dips to $116, then climbs to $130.

Example 1 — Filtering noise — calculation
Dip size($120 − $116) ÷ $120 ≈ 3.3%
ZigZag resultOne line $100 → $130

Moves smaller than the threshold are left off the ZigZag line.1

Example 2 — A confirmed swing

Swing high confirmed

Same 5% setting. From $130 the stock falls to $122.

Example 2 — A confirmed swing — calculation
Drop($130 − $122) ÷ $130 ≈ 6.2%
ZigZag resultNew swing high at $130

Only moves larger than the threshold appear on the line, so a drop above 5% marks $130 as a swing high.1

Example 3 — The redraw problem

Last leg repaints

The last ZigZag leg points up to $140. Price then rises to $145 without a 5% pullback.

Example 3 — The redraw problem — calculation
Last leg beforeEnds at $140
Last leg afterRedrawn to $145

Because ZigZag uses hindsight, its latest leg changes and cannot be traded as a signal.1

ZigZag vs moving average

AspectZigZagMoving average
What it showsSwing highs and lowsSmoothed average price
Changes past valuesLast leg can redrawNo
LagConfirmed only after a reversalLags price
Main useStructure and patternsTrend direction. See Moving Average

How traders use ZigZag

Advantages and disadvantages

Advantages

  • Removes noise to show real swings.
  • Simple to set up and read.
  • Great for structure, waves and Fibonacci work.

Disadvantages

  • The last leg repaints.
  • No predictive power on its own.
  • Results depend heavily on the threshold.

Going deeper

Read as far as you need. Each level builds on the one before it.

Choosing the threshold

Beginner

A small percentage shows many swings; a large one shows only major turns. Match it to the asset's volatility and your time frame. See Volatility.

Overlays and indicators

Intermediate

Some tools are drawn directly on the price plot so they can be compared with price, while others sit in a separate panel.2 ZigZag is an overlay, so it sits on the price chart.1

Backtesting trap

Advanced

Because the latest leg redraws, a backtest that uses final ZigZag points can look perfect but be impossible to trade live. Only use confirmed swings. See Look-Ahead Bias.

Common mistakes

  1. Trading the last leg

    It can change completely.

  2. Wrong threshold

    Too small is noisy, too large misses swings.

  3. Using it alone

    It describes, it does not predict.

  4. Backtesting with hindsight

    Results will be unrealistic.

Check your understanding

Test yourself before moving on. Each answer comes with an explanation.

Q1ZigZag is set to 8%. Price falls from $50 to $47. Does a new swing appear?
Q2Why can't the ZigZag line be traded as a signal?

Key points to remember

  1. ZigZag connects swing highs and lows above a set threshold.
  2. 5% is the traditional setting.
  3. It filters noise to show structure.
  4. Its last leg redraws, so it has no predictive power.
  5. Use it for Elliott Wave, Fibonacci and patterns.

Frequently asked questions

Does the ZigZag indicator repaint?

Yes, its most recent leg changes until a new swing is confirmed.

What is the best ZigZag setting?

There is no single best one; 5% is traditional, but match it to volatility and time frame.

Is ZigZag good for beginners?

It is a useful learning tool for seeing structure, as long as you don't trade its last leg.

Further learning

Sources

This article is written in our own words. The sources below support the specific facts, rules and figures marked with a number in the text. Links open the original publisher’s page.

  1. StockCharts ChartSchool. ZigZag (opens in a new tab) Checked .
  2. StockCharts ChartSchool. Introduction to Technical Indicators and Oscillators (opens in a new tab) Checked .

Educational content, not financial advice. Examples use hypothetical prices and simplified costs; actual fees, margin rules and regulations vary by broker, market and country. We are not affiliated with any publisher linked above. Last reviewed . Report an error or request a source credit.