Structure & liquidity · Indicator guide

ZynIQ Market Structure Master

Swing and internal structure with one BOS or CHoCH per swing, strong and weak highs/lows and the range equilibrium.

ProZynIQ Market Structure Master$59Buy Market Structure Master

ZynIQ Market Structure MasterReal chart
ZynIQ Market Structure Master running on a TradingView chart

Market Structure Master maps swing structure for you: swing highs and lows joined by an alternating zigzag, every break of structure (BOS) and change of character (CHoCH) drawn as a line from the swing to the candle that broke it, and the strong and weak extremes of the current swing range with its equilibrium. It works out swing and internal (minor) structure side by side and shows the live state, the next target and the CHoCH level in a compact HUD.

How it works

  1. Swings. A swing high is a candle whose high is the highest of swing length candles on each side (a swing low the lowest low). Profiles set the length: Scalping 5, Intraday 10, Swing 20 (internal structure: 2, 3 and 5). A swing is only known once those right-hand candles have closed, so it is confirmed swing length candles after it formed.
  2. Zigzag and sensitivity. Highs and lows must alternate. A new swing high after a swing low only counts if it is at least minimum swing size x ATR(14) above that low (default 0.5 ATR; 0 turns this off). A second swing high in a row replaces the first only if it is higher. The same applies to lows.
  3. Breaks. When a candle closes above the last unbroken swing high, that is a bullish break; a close below the last unbroken swing low is a bearish break. Wicks do not count. Each swing level breaks once, then it is consumed.
  4. BOS or CHoCH. A break in the direction of the current trend is a BOS (continuation). A break against it is a CHoCH (the trend flips). The very first break on the chart is a BOS.
  5. Strong and weak. At a bullish break, the lowest low between the broken swing high and the break (the origin of the leg that broke it) becomes the strong low, and that low is also the new CHoCH level: a close below it flips structure to bearish. The highest high since is the weak high, updated as price makes new highs. Mirror image for bearish breaks. When a newer swing low is confirmed later in the trend, the CHoCH level moves to it; the strong low stays where it is until the next break.
  6. Equilibrium. The current swing range runs from the strong to the weak extreme. Its 50% line is the equilibrium; above it is premium, below it discount.
  7. Internal structure runs the same rules with the shorter internal length (and no minimum swing size). An internal break on the same candle and in the same direction as a swing break is not drawn twice.
  8. Session gaps. On intraday charts a candle that opens more than 2 candle-lengths after the previous one cannot trigger a break. If price is still beyond the level when the next candle closes, the break counts then.

What you see on the chart

  • Zigzag: thin grey lines joining alternating swing highs and lows.
  • HH / LH / HL / LL: tiny labels on each swing point. Teal for higher highs and higher lows, fuchsia for lower highs and lower lows; the first point is marked H or L.
  • BOS / CHoCH lines: a solid line at the broken swing’s price, from the swing to the candle that closed beyond it, with a small “BOS” or “CHoCH” label in the middle. Teal = upward break (label above the line), fuchsia = downward break (label below).
  • iBOS / iCHoCH (optional): the same for internal structure, dashed and fainter, with tiny labels.
  • Strong low / Strong high: a thicker solid line (teal in a bullish trend, fuchsia in a bearish one) from the strong extreme to just past the last candle, labelled at the right.
  • Weak high / Weak low: a grey dashed line from the weak extreme, labelled at the right. This is the unprotected side, where liquidity tends to sit.
  • EQ: a dashed cyan line halfway between the strong and weak extremes.
  • Premium / discount shading (optional): fuchsia above the EQ, teal below it, across the current range.
  • Background tint (optional): very light teal while swing structure is bullish, fuchsia while bearish.
  • HUD (top right by default):
    • ZQ Market Structure: the profile with its swing/internal lengths, e.g. “Intraday 10/3”.
    • Trend: swing trend, with the internal trend in brackets.
    • Last event: the last swing BOS or CHoCH and how many candles ago.
    • Strong low / high: the protected level.
    • Weak high / low: the unprotected extreme.
    • Next target: in a bullish trend, the nearest unbroken swing high above price if there is one, else the weak high; the other way round in a bearish trend.
    • CHoCH level: the close that would flip swing structure.
    • Range position: Premium, Discount or Equilibrium (within 45% to 55%) with the percentage of the range.
  • Watermark: a faint “ZynIQ Market Structure” tag (bottom right by default).

Settings

Group Setting Default What it does
Structure Profile Intraday Pivot lengths. Scalping: swing 5, internal 2. Intraday: 10 and 3. Swing: 20 and 5. Custom unlocks the two length settings.
Structure Swing length (Custom) 10 Candles each side for a swing high/low (2 to 50). Custom profile only.
Structure Internal length (Custom) 3 Candles each side for internal structure (1 to 20). Custom profile only.
Structure Minimum swing size (x ATR) 0.5 Swing sensitivity: how far a new swing must stand from the previous opposite swing. 0 = off; 0.5 to 2.0 typical. Swing structure only.
Structure ATR length 14 ATR used for the minimum swing size.
Structure Ignore the first bar after a session gap On On intraday charts, a candle opening after a time gap of more than 2 candles cannot trigger a break.
Swing structure Show swing BOS and CHoCH On Draw swing breaks as lines with labels.
Swing structure Show zigzag On Grey lines joining the swings.
Swing structure Show HH / HL / LH / LL labels On Names each swing point.
Swing structure Show strong and weak high/low On Draws the strong and weak extremes of the current range.
Swing structure Events to keep 40 BOS/CHoCH drawings kept (each for swing and internal); the oldest are removed.
Internal structure Show internal BOS and CHoCH Off Draw internal breaks (dashed) and include them in the detailed alert() message.
Equilibrium Show equilibrium (50%) line On The EQ line of the current range.
Equilibrium Shade premium and discount Off Shades the two halves of the current range.
Equilibrium Tint background by swing trend Off Light background colour by swing trend.
Style Colour theme ZynIQ ZynIQ (teal / fuchsia) or Classic (green / red).
HUD and watermark Show HUD On The live panel.
HUD and watermark HUD position Top right Top right, Top left, Bottom right, Bottom left or Middle right.
HUD and watermark HUD text size Small Tiny, Small or Normal.
HUD and watermark Show watermark On Faint product tag.
HUD and watermark Watermark position Bottom right Corner for the tag; use a different corner from the HUD.

Alerts

All alerts are decided when a candle closes. Create them with Once per bar close.

Alert Fires when
ZQ Market Structure - Swing BOS up a candle closes above the last unbroken swing high while swing structure is already bullish (or on the first break).
ZQ Market Structure - Swing BOS down a candle closes below the last unbroken swing low in a bearish (or not yet set) structure.
ZQ Market Structure - Swing CHoCH up a candle closes above the CHoCH level while swing structure is bearish (it turns bullish).
ZQ Market Structure - Swing CHoCH down a candle closes below the CHoCH level while swing structure is bullish (it turns bearish).
ZQ Market Structure - Internal BOS up / down the same for internal structure (not fired when a swing break in the same direction happens on that candle).
ZQ Market Structure - Internal CHoCH up / down the same for internal structure (also not fired when a swing break in the same direction happens on that candle).

The four internal alerts work whether or not “Show internal BOS and CHoCH” is on.

Each fires once per swing level, because a level is consumed when it breaks.

For one alert with the details, choose the condition Any alert() function call. The message names the event, the level that was broken, the new strong and weak levels and the close, rounded to the tick, for example: ZQ Market Structure | MNQ1! 5 | Swing CHoCH up: closed above 21480.25, strong low 21431.50, weak high 21492.00 | close 21486.75. Internal breaks are added only while “Show internal BOS and CHoCH” is on.

Set it up for your market

Market Timeframes Profile Key settings Notes
Index futures (MNQ, NQ, MES, ES) 1m to 15m for intraday, 1H for context Scalping on 1m to 3m, Intraday on 5m to 15m Defaults. Keep “Ignore the first bar after a session gap” on. Minimum swing size 0.5 to 1.0 in the quiet overnight session. Without a CME real-time data subscription TradingView shows futures 10 minutes delayed, so events arrive late. On an extended-hours chart the overnight session forms swings too; switch the chart to regular hours if you only trade the cash session.
Stocks 5m to 1H intraday, daily for swing trading Intraday (Swing on daily) Defaults. Regular-hours charts start each day with a gap, which the gap setting handles. Extended hours add thin, noisy swings; most traders map structure on regular hours.
Forex 5m to 4H Intraday Defaults; raise minimum swing size to 1.0 in the Asian session if it is choppy. Volume is not used. Weekend gaps are handled by the gap setting.
Crypto 5m to 4H, daily for swings Intraday Defaults. 24/7, so there are no session gaps; the gap setting has no effect.

How to use it

  • Read structure on one timeframe above your entry chart (for example 15m structure for 3m to 5m entries, 1H for 15m).
  • Trade in the direction of swing structure: after a bullish BOS look for longs back towards the discount half of the range and the strong low, with the weak high as the target. Mirror image after a bearish BOS.
  • Treat a CHoCH as a warning, not an entry by itself: the trend may be turning or just making a deeper pullback. Many traders wait for a BOS in the new direction (often on internal structure) before acting.
  • Turn internal structure on to time entries inside a swing leg: an internal CHoCH back in the swing direction while price is in discount (bullish) or premium (bearish) is a common trigger.
  • Common mistakes: trading every BOS on a 1-minute chart; fading a series of strong BOS events; ignoring that a swing appears only after its confirmation candles.
  • Pairs well with ZynIQ Order Block Master (blocks at the origin of the same breaks), ZynIQ Liquidity Master (where stops rest beyond the weak extreme) and ZynIQ FVG Master. All three structure tools use the same swing engine and profiles, so their swings and breaks agree.

Good to know

  • Confirmation delay. A swing high or low is confirmed swing length candles after it formed (Intraday: 10 candles, so 50 minutes on a 5-minute chart), internal swings after internal length candles (Intraday: 3). Swing points and zigzag lines are drawn back at the swing candle once confirmed. A BOS or CHoCH appears at the close of the candle that breaks the level, with no further delay, but only a confirmed swing can be broken: a very fast V-shaped move whose turning point is broken before it confirms creates no swing.
  • Strong low, weak high and EQ always show the current range only; they move as new breaks happen.
  • The first break on the chart is labelled BOS because there is no trend yet to change.
  • Wicks do not break structure, closes do. A wick beyond a swing that closes back is a sweep (see Liquidity Master).
  • Drawing limits. TradingView allows 500 lines and 500 labels per indicator. The tool keeps the latest 150 zigzag lines and labels and the latest 40 events of each kind (setting), removing the oldest first, so the far left of a long chart may have no zigzag.
  • Indicator count. Each ZynIQ tool counts as one indicator towards your TradingView plan’s limit.
  • No volume data is needed; it works on cash indices, forex and crypto alike.

Version 3 changes

  • One break per swing. In v2 a swing level was never “used up”, so the same BOS printed again every 5 bars in a trend, with an alert each time. In v3 each swing high or low can be broken once; after that it is consumed.
  • CHoCH instead of BOS, not as well as. v2 printed a BOS and a CHoCH on the same candle (and alerted twice). v3 prints exactly one: CHoCH when the break goes against the current trend, BOS when it goes with it.
  • No dropped breaks. v2’s “minimum bars between events” silently threw away breaks that fell inside the cooldown. v3 has no cooldown: one event per swing makes it unnecessary.
  • Breaks drawn as lines. Each BOS/CHoCH is a horizontal line from the broken swing to the candle that closed beyond it, with a small label, instead of a big marker under the candle.
  • Internal structure. A second, shorter pivot length tracks minor structure inside the swing legs (iBOS / iCHoCH, dashed). Its trend is always in the HUD; drawing it is optional.
  • Correct strong and weak highs/lows. v2 just renamed every new swing by the current trend. v3 uses the smart-money meaning: the low that produced a bullish break is the strong (protected) low, the highest point since is the weak high (the next target); the other way round in a bearish trend.
  • Zigzag that alternates. v2 could join two highs in a row. v3 keeps highs and lows strictly alternating; a second high only replaces the first if it is higher.
  • Swing sensitivity, as the docs promised. Besides the pivot length there is now a minimum swing size in ATR, so small wiggles do not count as swings on any market.
  • Real equilibrium. v2’s “EQ” was a 15-bar stub at the midpoint of the last high and low. v3 draws the 50% line of the current swing range (strong to weak extreme), with optional premium/discount shading and the price’s position in the range in the HUD.
  • Works the same on every market. Sizes are in ATR, prices are rounded to the tick, and on intraday charts the first candle after a session gap (futures daily halt, weekend, stock overnight close) cannot trigger a break by itself.
  • Non-repainting. Everything is decided on closed candles only, so nothing appears on a live candle and then disappears.
  • HUD rebuilt: trend (swing and internal), last event, strong and weak level, next target, CHoCH level and range position, with a position and text-size setting. Colour themes ZynIQ and Classic.
  • Alerts: eight alert conditions (swing and internal, BOS and CHoCH, up and down) plus one detailed alert() message with the levels.

ZynIQ Market Structure Master is $59, one payment: the Pine v6 source, on any TradingView plan. Or get all 22 indicators in the Complete Suite for $399.

Buy Market Structure Master

Related guides

  • ZynIQ Liquidity Master: Equal highs and lows, previous day/week/month and RTH levels, with sweeps (SFP) and breaks marked and alerted.
  • ZynIQ FVG Master: Fair value gaps tracked from fresh to filled, with inverse FVGs, 50% lines and optional higher-timeframe gaps.
  • ZynIQ Order Block Master: Order blocks at the origin of each break of structure, validated by displacement and tracked as fresh, tested, mitigated or invalid.

← Back to all docs