Entered closes · confirmed pivots · minimum reversal deviation

Zig Zag Calculator

Build a transparent Zig Zag path from confirmed local close pivots, a declared pivot-leg window and a minimum percentage reversal.

Runs in your browserConfirmation lag visibleNo projected pivots or forecast

Enter chronological close values

Paste one consistent close series oldest first. Later rows are required to confirm earlier pivots, so the most recent rows remain intentionally unavailable.

Entered

Whole number from 2 through 100; floor(total ÷ 2) closes are required on each side.

Positive percentage from 0.01 through 1,000, measured from the last saved pivot.

One row per observation: Label, Close. Use commas, tabs or semicolons; omit a header row. Maximum 2,000 rows.

Zig Zag boundary: This is a confirmed close-pivot variant. It does not use bar highs/lows, MetaTrader Depth/Deviation/Backstep semantics, projected pivots, current-bar updates, price prediction or signals.

Confirmed entered-close Zig Zag

Entered Price Filter Charts 1.0.0.

Derived
No Zig Zag path calculated yetEnter enough positive closes for the pivot-leg window and a positive reversal deviation.

How this confirmed Zig Zag calculator works

Left/right confirmation bars = floor(total pivot legs ÷ 2)
Pivot high: close > every left close and close ≥ every right close
Pivot low: close < every left close and close ≤ every right close
Reversal % = |new pivot − prior saved pivot| ÷ prior saved pivot × 100

Version 1.0.0 divides the entered total pivot legs by two and rounds down. A candidate close needs that many observations on both its left and right. Strict comparisons apply on the left and inclusive comparisons on the right, making equal-value tie handling deterministic. The earliest confirmed candidate becomes the first saved pivot.

An opposite-side candidate is added only when its percentage distance from the last saved pivot meets or exceeds the declared deviation. A same-side candidate replaces the last saved pivot only when it is more extreme—higher for a pivot high or lower for a pivot low. Other confirmed candidates are retained in the audit rows as ignored branches rather than silently changing the path.

The final left/right-leg count of observations cannot be confirmed because the necessary future rows are absent. This page never draws a projected pivot into that tail. Even a saved latest pivot can be replaced later by a more extreme same-side candidate before a qualifying opposite reversal appears, which is why Zig Zag is principally a historical visualization tool.

A careful interpretation workflow

Start with the declared source, grid or pivot convention and the row-level audit trail. A cleaner chart is a lossy transformation of entered history—not new market evidence. Keep the original time-based data beside any filtered reconstruction.

  • Treat the pivot-leg value and deviation as sensitivity controls, not optimized trading parameters.
  • Keep the visible right-unconfirmed tail when explaining why the newest close cannot immediately become a confirmed pivot.
  • Compare platform results only after matching source field, pivot window, deviation unit, tie rules and projected-pivot setting.
  • Use close-based indicator guides when comparing this result; high-low Zig Zag variants can choose different prices and bars.
  • Read completed swings as historical segments, not evidence that the next segment must alternate or reach a target.
  • Test any strategy logic on time-based data with costs and without future information leaking into entry decisions.

Worked example from the audited fixture

Reproduce it with “Load audited example”The eleven-row fixture uses total pivot legs 2, so one close is required on each side, and a 5% reversal. B2 first qualifies as a high, B3’s shallow low is ignored, and B4 replaces B2 with a higher 107 pivot. B5, B6 and B7 create qualifying alternating pivots; B8 and B9 are ignored; B10 becomes the fifth saved pivot at 108. There are four completed swings, one same-side replacement and one final row without right-side confirmation.

How to interpret the result

The Zig Zag line is a compressed description of entered historical closes. It should become easier to read than the raw series precisely because it discards smaller movements and waits for later observations. That delay and possible latest-pivot replacement make it unsuitable as proof of a real-time turning point or a standalone forecasting system.

Renko, Point & Figure and Zig Zag compared

All three reduce visible price movement, but they answer different reconstruction questions. Renko advances across a fixed brick grid, Point & Figure groups fixed boxes into alternating columns, and Zig Zag links confirmed extrema that survive a deviation threshold.

FilterCore inputState changeTime treatmentExcluded here
RenkoFixed brick sizeOne-box continuation; disclosed two-box reversalRows can form zero or many bricksTick/OHLC and ATR/percentage variants
Point & FigureBox size × reversal countSame-column box or alternating X/O columnRows can form zero or many boxesHigh-low priority, patterns and objectives
Zig ZagPivot legs + deviation %Confirmed opposite pivot or more-extreme replacementRight-side rows create confirmation lagProjected pivots and future reversal calls

Use the ATR Calculator or Average Daily Range Calculator if you first need an observed volatility reference. This batch deliberately does not choose a box or brick size for you, because converting a historical range into a chart setting requires a separate declared rule and sensitivity review.

Assumptions and limits

  • At least 2 × floor(pivot legs ÷ 2) + 1 positive close observations are required; the overall limit is 2,000.
  • Total pivot legs must be a whole number from two through 100; odd inputs round down after division by two.
  • Reversal deviation is a positive percentage from 0.01 through 1,000 and is measured from the last saved pivot.
  • The close source is enforced; bar high/low pivots and MetaTrader point-based Deviation and Backstep are not replicated.
  • Only confirmed pivots are displayed. The newest rows have no projected or provisional endpoint.
  • A same-side more extreme confirmed pivot replaces the last saved pivot, so historical endpoints can change as more rows are added.
  • No Elliott Wave label, harmonic pattern, support/resistance verdict, future reversal, profitability claim or advice is produced.

Prepare close data before calculating

Export completed closes from one symbol, one broker or data vendor, one timeframe and one time zone. Keep every row in chronological order and use one consistent price scale. The page validates positive finite decimals and row structure, but it cannot discover duplicate timestamps, missing sessions, daylight-saving shifts or a mislabeled instrument.

Do not mix pips with quoted prices. If EUR/USD closes are entered near 1.1700, a ten-pip fixed box is normally 0.0010 under the common 0.0001 pip convention; JPY pairs and non-FX instruments use different price increments. The calculator works in raw entered price units and does not infer pip size, tick size, contract size or broker symbol suffixes.

Sampling matters. Daily closes, hourly closes and tick-by-tick movement can produce different filtered structures even when their first and last prices match. Record the source interval, date range, first-close anchor, parameters and model version with any exported observation so another person can reproduce the exact arithmetic.

For execution or backtesting, return to time-based bid/ask data and model spreads, commission, slippage, gaps, order latency and liquidity. Synthetic filter levels can be useful for visualization, but they do not prove when a market price was tradable or whether an order would have filled.

Frequently asked questions

  • A candidate close must be more extreme than the required left closes and at least as extreme as the required right closes under the disclosed tie rules.
  • Version 1.0.0 uses floor of total pivot legs divided by two on each side, so odd totals round down.
  • An opposite candidate must move at least the entered percentage from the last saved pivot to join the path.
  • A later confirmed same-side candidate replaces the latest pivot when it is more extreme and no qualifying opposite reversal has been saved.
  • Right-side confirmation requires later observations, so the final left-right-leg count of rows cannot yet become confirmed pivots.
  • No. MetaTrader Depth, point Deviation and Backstep variants differ from this confirmed close-pivot percentage method.
  • No. It displays confirmed pivots only and keeps the right-unconfirmed tail visible.
  • No. It filters entered history and is not a future turning-point forecast or standalone trading system.

Sources and methodology

The operational contract is Entered Price Filter Charts version 1.0.0. Independent fixture oracles, boundary equality, translation and scale transformations, validation, content guards and production isolation are tested before staging acceptance. Sources explain the broader chart families; the exact versioned choices on this page govern its output.

Compare chart feeds and execution terms

Before transferring a filtered level into live analysis, compare each broker’s historical feed, session boundary, quote precision, spreads, commissions and order rules. Two platforms can produce different Renko, P&F or Zig Zag structures from different source data without either arithmetic engine being broken.

XM

Review instruments, chart history and account conditions available for your region.

Check XM terms

FBS

Compare symbol specifications, pricing feeds and execution conditions.

Check FBS terms

FXOpen

Confirm tick size, platform history, costs and order rules.

Check FXOpen terms

Risk and affiliate disclosure: Leveraged forex and CFD trading can result in substantial losses. These are affiliate links, so ForexMT4Indicators.com may receive compensation if you register or trade through them, at no additional cost to you. Availability and terms vary by jurisdiction and broker entity.

Disclaimer: The results from this tool are estimates for educational and informational purposes only and may differ from your broker's figures. This is not financial or investment advice. Trading forex and CFDs carries a high level of risk and can result in the loss of all your capital. Always verify calculations with your broker and trade within your risk tolerance.