T
Traderoid

ZigZag

Pivot point identification by percentage deviation

IndicatorPivotSwingNoise Filter

Overview

ZigZag identifies significant price swings by filtering out noise below a specified percentage threshold. When price moves 5% (or user-specified %) from last pivot, ZigZag draws a line. Smaller intraswing moves ignored. Charts appear "compressed" showing only material moves = cleaner pattern analysis. Eliminates false breakouts caused by micro-reversals; reveals true swing structure.

Used by Elliott Wave and harmonic traders to identify wave counts accurately. ZigZag prevents over-trading small bounces; focuses on significant structure. Integrates seamlessly with pattern recognition (Head and Shoulders, Triangles, Channels). Many institutions use ZigZag preprocessing before pattern analysis. Extremely simple indicator (1 parameter) with mechanical, objective output.

Critical for swing traders, pattern traders, and Elliott Wave analysis. ZigZag removes subjectivity from identifying swing points; strictly mechanical deviation-based approach.

Formula

Last Pivot = prior swing high or low (identified when last zigzag changed direction)
Current Move % = |Current Price - Last Pivot| / Last Pivot × 100
New Pivot When: Current Move % >= Deviation % (e.g., 5%)
Direction = Up if: Current High > Last High; Down if: Current Low < Last Low
Pivot Price = High (upswing) or Low (downswing) at new pivot bar
ZigZag draws zigzag lines between pivots; ignores noise below deviation threshold. Mechanical, objective.

Parameters

ParameterTypeDefaultDescription
Deviation %Percent5%Minimum price move to form new pivot; filters noise
Lookback BarsInteger50 barsHistorical bar window for swing definition
Show PivotsBooleanTrueMark pivot points with small circles on chart

Common Use Cases

1. Elliott Wave Analysis

ZigZag consolidates: Elliott Wave traders count waves accurately. 5/3 wave patterns clear on ZigZag; hidden on raw chart.

2. Chart Pattern Recognition

Head/Shoulders, Triangles, Channels appear clearly on ZigZag. Pattern lines = trendlines connect ZigZag lows/highs.

3. Swing Point Identification

ZigZag pivots = exact swing points. Use for stop placement, support/resistance, harmonic ratios.

4. Noise Filtering

Removes intraswing noise below deviation threshold. Cleaner swing structure reveals true direction bias.

Advantages & Limitations

Advantages

  • Mechanical Objective: 100% repeatable; no interpretation. Computer-generated pivots.
  • Noise Reduction: Filters micro-moves; reveals macro structure traders care about.
  • Pattern Clarity: Technical patterns (H&S, triangles) appear clearly; easy analysis.
  • Wave Counting: Elliott Wave analysis accurate; prevents miscounting from noise.

! Limitations

  • Lag On Pivot Completion: New pivot only appears after 5% deviation; entry delayed.
  • Retroactive Redrawing: Prior pivots can shift on new data; patterns unstable.
  • Parameter Sensitivity: 5% deviation changes patterns; no universal "correct" setting.
  • Not Trading Signal: Indicator only; requires additional signal (pattern, price action).

Tips & Best Practices

📊 Adjust for Instrument

Stocks: 4-7% deviation. Crypto: 5-10%. Forex: 0.5-1%. Match instrument volatility.

⚡ Use as Preprocessor

ZigZag best used to filter price for pattern analysis. Not standalone trading signal; combine with patterns.

🎯 Layer with Confluence

ZigZag pivot + price action (FVG, Order Block) + pattern = strong signal. Never trade ZigZag pivot alone.

⚠️ Monitor Redrawing

Recent pivots can shift as new bars update. Do NOT trade pivots from last 2-3 bars; wait for confirmation.

Example Strategy

1. Plot ZigZag on Daily

Daily chart: set deviation to 5%. Identify last 3-5 pivots (highs/lows) where ZigZag changes direction.

2. Draw Trendline

Connect lowest ZigZag pivots = uptrend line support. Connect highest = downtrend line resistance.

3. Wait for Pattern

Watch if recent ZigZag pivots form chart pattern (triangle compression, channel, H&S forming).

4. Trade Pattern Breakout

When price breaks ZigZag-defined pattern on volume = entry. Stop = prior ZigZag pivot. Target = next ZigZag level.

Related Nodes