
Order Block Master finds order blocks where they actually come from: the last opposite candle at the origin of the move that broke structure. Each break of structure can create one block, only if the move away was a real displacement, and every block is then tracked as fresh, tested, mitigated or invalidated, with the break that created it and any liquidity beside it drawn next to it.
How it works
- Structure. The shared ZynIQ swing engine finds swing highs and lows (Intraday profile: 10 candles each side; Scalping 5, Swing 20) and detects breaks: a candle closing beyond the last unbroken swing. Each swing breaks once. With “Order blocks from: Internal” the shorter internal length is used instead (Intraday: 3).
- The leg and its origin. For a bullish break, the origin is the lowest low between the broken swing high and the break; the leg runs from that low to the highest high since. For a bearish break, the origin is the highest high and the leg runs down to the lowest low.
- Displacement check. The leg must be at least
minimum impulse sizex ATR(14) long (default 2.0). Optional: the leg must contain a fair value gap in its direction (three candles where the third candle’s low is above the first candle’s high, for a bullish leg), and/or one of its candles must have volume of at least 1.5x its 20-candle average (symbols with no volume data pass). - The order-block candle. For a bullish block: the last down candle (close below open) at the origin or up to 5 candles before it; if there is none, the origin candle itself. The zone runs from that candle’s high to its low, stretched down to the origin low if the origin is lower (“Wick”), or from its open to its close (“Body”; a candle with no body falls back to the Wick zone). Bearish blocks are the mirror image (last up candle, stretched up to the origin high). A block is only drawn if the breaking candle closed clear of the zone.
- Limits. At most 3 active blocks per side (setting); a new block over the limit removes the oldest active one.
- States, checked on every closed candle after the block forms (bullish block shown; bearish is the mirror):
- Invalidated: a candle closes below the bottom of the zone.
- Mitigated: a wick reaches the 50% line (or the bottom, with “Far edge”) without closing below the bottom.
- Tested: the first time a wick enters the zone (reaches its top) without mitigating it. The block stays active.
- Fresh: not touched yet. Mitigated and invalidated blocks stop being tracked: they are kept faded or removed, by setting.
- Liquidity mapping. The 3 most recent swing lows before the origin (highs for bearish blocks) are checked, newest first. If the origin went more than the tolerance (0.1 x ATR) below one and that candle or the next one closed back above it, it is marked “Sweep”. If the origin is within the tolerance of one, it is marked “EQL” (equal lows: resting liquidity under the block). Bearish: “Sweep” or “EQH”.
- FVG confluence. Fair value gaps of any size are tracked until filled (price trades through the whole gap), the latest 30 per direction. A new block that overlaps an unfilled gap of the same direction when it forms gets “+ FVG”. With the session-gap setting on, gaps across a session break are ignored.
What you see on the chart
- Order block boxes: teal = bullish (possible support below price), fuchsia = bearish (possible resistance above). They reach 5 candles past the last candle while active.
- Fresh: solid border, normal fill, text “OB”.
- Tested: dashed border, lighter fill, “OB tested”.
- Mitigated (kept): grey, dotted border, ended at the candle that mitigated it, “OB mitigated”.
- Invalidated (kept): very faint, dotted, ended at the candle that closed through it, “OB invalid”.
- ”+ FVG” is added to the text when the block overlaps an unfilled fair value gap.
- 50% line: a dotted line through the middle of each active block (the mean threshold).
- BOS / CHoCH line: a thin line at the broken swing’s price from the swing to the candle that broke it, labelled BOS or CHoCH. It belongs to its block and disappears with it.
- Sweep / EQL / EQH: an amber dotted line from the earlier swing to the origin of the leg, with a tiny label.
- HUD (top right by default):
- ZQ Order Blocks: the profile, the structure used and its pivot length, e.g. “Intraday, swing 10”.
- Structure: the trend of the structure used for blocks.
- Last break: BOS or CHoCH, direction and candles ago.
- Nearest bullish OB / Nearest bearish OB: top - bottom of the active block closest to price, and whether it is fresh or tested.
- Active blocks: bullish and bearish counts.
- Validation: the impulse size in use, plus FVG and volume when switched on (“volume: no volume data” in amber when the symbol has none).
- Watermark: a faint “ZynIQ Order Blocks” tag.
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 length settings. |
| Structure | Order blocks from | Swing | Swing: one block per swing break (fewer, bigger). Internal: one per internal break (more, smaller). |
| Structure | Swing length (Custom) | 10 | Candles each side for a swing (2 to 50). Custom profile only. |
| Structure | Internal length (Custom) | 3 | Candles each side for internal structure (1 to 20). Custom profile and Internal only. |
| Structure | Minimum swing size (x ATR) | 0.5 | A new swing must stand this far from the previous opposite swing. 0 = off. Swing structure only. |
| Structure | ATR length | 14 | ATR for swing size, impulse size and tolerance. |
| Structure | Ignore the first bar after a session gap | On | A candle opening after a time gap of more than 2 candles cannot trigger a break (intraday charts). |
| Order blocks | Minimum impulse size (x ATR) | 2.0 | The leg away from the block must be at least this long. 0 = off; 1.5 to 3 typical. |
| Order blocks | Require a fair value gap in the leg | Off | Keep the block only if the leg left a fair value gap in its direction. |
| Order blocks | Require relative volume in the leg | Off | Keep the block only if a candle in the leg had at least the volume multiple below. No-volume symbols pass. |
| Order blocks | Relative volume at least (x 20-bar average) | 1.5 | The volume multiple used above. |
| Order blocks | Zone | Wick | Wick: high to low of the block candle, stretched to the origin if that is beyond it. Body: open to close only (thinner zone). |
| Order blocks | Search back for the opposite candle (bars) | 5 | How many candles before the origin are searched for the last opposite candle (0 to 20). |
| Order blocks | Maximum active blocks per side | 3 | Fresh and tested blocks kept per side; the oldest goes first. |
| Order blocks | Mitigated when price reaches | 50% (mean threshold) | 50%: a wick to the middle mitigates. Far edge: only a wick to the far side does. |
| After a block is used | Keep mitigated blocks (faded) | On | Keep mitigated blocks in grey, or remove them. |
| After a block is used | Keep invalidated blocks (faded) | Off | Keep invalidated blocks very faint, or remove them. |
| After a block is used | Used blocks to keep per side | 4 | How many kept blocks stay per side; the oldest goes first. |
| Mapping | Structure mapping (BOS line) | On | Draw the break that created each block. |
| Mapping | Liquidity mapping | On | Mark a swept or equal swing beside each block. |
| Mapping | Equal-level tolerance (x ATR) | 0.1 | How close counts as equal for EQL/EQH, and how far beyond a swing counts as a sweep. |
| Mapping | FVG confluence marker | On | Add “+ FVG” to blocks overlapping an unfilled same-direction gap. |
| Mapping | 50% line | On | Dotted mean-threshold line in active blocks. |
| Mapping | State label in the block | On | The small state text inside each block. |
| Style | Colour theme | ZynIQ | ZynIQ (teal / fuchsia) or Classic (green / red). |
| Style | Extend active blocks right (bars) | 5 | How far active blocks reach past the last candle. |
| 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. |
Alerts
All alerts are decided when a candle closes. Create them with Once per bar close.
| Alert | Fires when |
|---|---|
| ZQ Order Blocks - New bullish OB / New bearish OB | a break of structure creates a block that passes the checks. |
| ZQ Order Blocks - Bullish OB first touch / Bearish OB first touch | price enters a fresh block for the first time without mitigating it. |
| ZQ Order Blocks - Bullish OB mitigated / Bearish OB mitigated | a wick reaches the 50% line (or the far side, by setting) without closing through. |
| ZQ Order Blocks - Bullish OB invalidated / Bearish OB invalidated | a candle closes through the far side of an active block. |
Each block gives each alert at most once; a block ends at mitigation or invalidation, so it gives one of the two, not both. For one alert with the details, choose Any alert() function call: the message lists every event of that candle with the zone’s top and bottom, the break level and the close, rounded to the tick, for example ZQ Order Blocks | ES1! 15 | New bullish OB 5712.50 - 5706.25 from BOS up at 5721.00, overlaps an unfilled FVG | close 5724.75.
Set it up for your market
| Market | Timeframes | Profile | Key settings | Notes |
|---|---|---|---|---|
| Index futures (MNQ, NQ, MES, ES) | 3m to 15m, 1H for context | Intraday (Scalping with “Order blocks from: Internal” on 1m to 3m) | Defaults; minimum impulse 2.0. Keep the session-gap setting on. | Without a CME real-time subscription TradingView data is 10 minutes delayed. On extended-hours charts overnight blocks appear too; use a regular-hours chart if you only trade the cash session. |
| Stocks | 5m to 1H, daily for swing | Intraday (Swing on daily) | Defaults. Relative volume validation works well on liquid stocks. | Each regular-hours day opens with a gap; the gap setting stops the opening jump creating a block by itself. |
| Forex | 5m to 4H | Intraday | Defaults; impulse 1.5 to 2.0. | Forex volume on TradingView is tick volume from your broker’s feed; if you use the volume check, treat it as activity, not traded size. |
| Crypto | 5m to 4H, daily | Intraday | Defaults; impulse 2.0 to 2.5 on volatile coins. | 24/7, no session gaps. |
How to use it
- Use blocks in the direction of structure: bullish blocks after bullish breaks for longs, bearish blocks for shorts. Fading strong trends from counter-trend blocks is where order blocks fail most.
- A fresh block is the cleaner idea; a tested block has already reacted once. Once mitigated, the block has done its job; once invalidated, the idea was wrong.
- The best blocks usually combine displacement (a big leg away), liquidity taken first (“Sweep” next to the block) and an unfilled gap (“+ FVG”).
- Plan the stop beyond the far side of the block, and size it to your account, not to the block.
- Common mistakes: treating every block as an entry; using blocks from a 1-minute chart against 1-hour structure; ignoring that the block appears only when the break happens.
- Pairs with ZynIQ Market Structure Master (the same breaks, strong/weak levels and the range equilibrium), ZynIQ Liquidity Master (the pools blocks often sweep) and ZynIQ FVG Master (the gaps in the leg).
Good to know
- Timing. A block appears at the close of the candle that breaks structure, drawn back at the origin candle. The swing that was broken had to be confirmed first,
swing lengthcandles after it formed (Intraday: 10; Internal: 3), so a block can only come from a break of a confirmed swing. - Blocks are decided once. Its zone never moves after it is drawn; states change only on closed candles.
- Long legs. The FVG and volume checks look at the latest 300 candles of a leg, and a block is not made if its origin is more than 900 candles back (very rare outside very low timeframes).
- No-volume symbols (cash indices such as SPX, NDX, DXY, and some forex and CFD feeds) pass the volume check; the HUD says “no volume data”.
- Drawing limits. Up to 500 boxes, lines and labels each; with the defaults the tool uses well under 50.
- Indicator count. Each ZynIQ tool counts as one indicator towards your TradingView plan’s limit.
- An order block is an area of interest, not a guarantee of a reaction.
Version 3 changes
- Blocks at the origin of the move. v2 took the nearest down candle (for a bullish block) within 15 bars before the break that happened to be followed by a gap, which was often a candle in the middle of the move. v3 finds the low the breaking leg started from and takes the last down candle at or just before it (the last up candle before the high, for a bearish block).
- One block per break. v2 used a structure engine that broke the same swing again every 5 bars in a trend, so a new block appeared every 5 bars. v3 uses the same engine as Market Structure Master v3: each swing breaks once, so each BOS or CHoCH creates at most one block, and the breaks match Market Structure Master on the same chart.
- Minimum impulse size, as the docs promised. The leg from the origin to its furthest point must be at least 2 x ATR (setting) for the block to count.
- Optional FVG and volume validation. Require a fair value gap in the leg and/or a candle in the leg with relative volume of at least 1.5x. Volume was on by default in v2 and gave no blocks at all on symbols without volume; in v3 it is off by default and such symbols always pass, with a HUD note.
- Four states, each with its own style: fresh, tested (touched and respected), mitigated (50% or full, your choice) and invalidated (a close through the far side). v2 called any wick that closed back “mitigated”.
- Keep toggles that work. “Keep mitigated blocks” did nothing in v2. Now mitigated and invalidated blocks are kept (faded, ended at the candle that used them) or removed, each by its own setting, with a limit on how many are kept.
- Structure mapping: the BOS or CHoCH line that created each block is drawn with it.
- Liquidity mapping around blocks: a “Sweep” marker when the leg’s origin took out a recent swing low (high) and closed back, or “EQL” / “EQH” when it sits level with one.
- FVG confluence: “+ FVG” on a block that overlaps an unfilled fair value gap of the same direction.
- HUD fixed and extended: the last break no longer disappears after one bar; the nearest bullish and bearish blocks, the active counts and the validation in use are shown.
- Alerts for every event: new block, first touch, mitigation and invalidation, each side (v2 only had new-block alerts), plus one detailed alert() message.
- No compile warnings (v2 had two), non-repainting (closed candles only), ATR-based sizes, tick-rounded prices, session-gap handling.
ZynIQ Order Block Master is $79, one payment: the Pine v6 source, on any TradingView plan. Or get all 22 indicators in the Complete Suite for $399.
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 Market Structure Master: Swing and internal structure with one BOS or CHoCH per swing, strong and weak highs/lows and the range equilibrium.
- ZynIQ FVG Master: Fair value gaps tracked from fresh to filled, with inverse FVGs, 50% lines and optional higher-timeframe gaps.