What is Order Blocks?
Order Blocks finds the candle a strong move came from. When a displacement leg breaks structure, the last candle going the other way before it is where someone was positioned, and price returning there is assumed to meet what is left of that position. The script draws that candle as a zone, extended to the right, until price trades back into it.
It carries five tools in one script, each with its own toggle. Order Blocks are on by default. Breakers, Mitigation Blocks, Propulsion Blocks and Unicorns are off until you turn them on. Bullish blocks are watched as support and bearish blocks as resistance.
This is a closed-source premium script. It runs on Altrady's servers, so only its output reaches your chart and its code is not published.
Components
Order Blocks combines 5 tools in one script. Each one has its own switch in the settings.
- Order Blocks. The last candle opposing a displacement leg that broke structure, held until price trades back into it. On by default.
- Breakers. An order block price traded through, kept as a level with its polarity reversed.
- Mitigation Blocks. The block left by a reversal that broke structure without first taking the prior swing.
- Propulsion Blocks. An order block that forms inside an earlier one pointing the same way.
- Unicorns. The Unicorn Model, where a breaker and a fair value gap pointing the same way cover the same prices. The overlap is the zone.
How to use Order Blocks
- The first touch. An order block is a level price is expected to react at, so the first return into it is the event traders watch.
- Breakers. When price trades right through an order block, the block flips. A failed bullish block becomes resistance and a failed bearish one support.
- Mitigation blocks. A block left by a reversal that broke structure without first taking the prior swing, a lower high before a down break or a higher low before an up break.
- Propulsion and unicorn blocks. A propulsion block forms inside an earlier block pointing the same way, old territory defended again. A unicorn is where a breaker and a fair value gap pointing the same way overlap.
Settings
Components
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Show Order Blocks | On | The last candle opposing a displacement leg that broke structure, held until price trades back into it. | |
| Show Breakers | Off | Breaker blocks: an order block price traded THROUGH, kept as a level with its polarity reversed: a failed bullish block becomes resistance, a failed bearish one support. | |
| Show Mitigation Blocks | Off | The block left by a reversal that broke structure without first taking the prior swing: a lower high before a down break, a higher low before an up break. | |
| Show Propulsion Blocks | Off | An order block that forms inside an earlier one pointing the same way: old territory found defended again. | |
| Show Unicorns | Off | The Unicorn Model: where a breaker and a fair value gap pointing the same way cover the same prices. The overlap is the zone. |
Structure
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Timeframe | Chart | Chart, 15m, 30m, 1h, 4h, 1D | Read blocks from a higher timeframe while trading a lower one. The chart's own period must divide it exactly. Swings, legs and the ATR filter are all then measured on that timeframe; price trading back INTO a zone is still judged on the chart's own bars, which is the finer of the two and the one a fill happens on. |
| Swing Length | 5 | 1 or more | Bars either side of a pivot. Larger finds fewer, bigger swings, and confirms them later, since a swing needs this many bars after it. |
| Significance (ATR x) | 1.5 | 0 to 10 | A swing is ignored unless the leg into it covered this much ATR. ATR rather than a percentage so it transfers between instruments. |
| Break On | Close | Close, Wick | Close: a bar must close beyond the swing. Wick: a touch is enough, which also turns every sweep into a break. |
| Require Structure Break | On | On: only a leg that broke structure makes a block: the ICT reading. Off: any qualifying leg does, which is the looser 'displacement block' other tools ship under this name. Applies to order, breaker, propulsion and unicorn blocks; a mitigation block always requires the break, since its condition is about the break. |
Leg
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Displacement (ATR x) | 2 | 0.1 to 20 | How far the leg has to travel, close to close, in ATRs, the same measure the Displacement tool uses, so the two agree about which moves count. |
| Opposing Candle Lookback | 10 | 1 to 50 | How far back from the leg's first bar to walk looking for the last opposing candle. If none is within reach, no block is made rather than one being invented further away. |
Zone
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Zone Extent | Full Range | Full Range, Body | Full Range spans the candle's high to its low. Body spans open to close, ignoring the wicks. Both are drawn in the wild; Full Range is the more inclusive and is the default. |
| Mitigation Basis | Body | Wick, Body, Close | What counts as price being back in an order, mitigation or propulsion block, or a unicorn. |
| Mitigation Level | Touch | Touch, 50%, Full | How far in it has to reach before the zone is spent. Touch by default: a block is a level price is expected to react AT, so the first tag is the event, unlike a gap which is about being filled. Breakers have their own rule (Breaker Invalidation). |
| Max Blocks | 15 | 1 to 100 | The oldest live order block is dropped past this. Each component has its own cap; together they are the drawing budget (see the header). |
Breakers
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Fail Basis | Close | Wick, Body, Close | What counts as price trading through an order block so it becomes a breaker. Close by default: a wick through a block is a tag, not a failure. Also decides which breakers Unicorns are made from. |
| Fail Level | Full | Touch, 50%, Full | How far through the block price must go for it to flip. Full by default: a block is only beaten once it has been traded through entirely, which is what separates failing from merely being mitigated. Also applies to the breakers Unicorns use. |
| Breaker Invalidation Basis | Close | Wick, Body, Close | What counts as price reclaiming a breaker. A reclaimed breaker also stops being a Unicorn candidate. |
| Breaker Invalidation Level | Full | Touch, 50%, Full | How far back through the breaker price must go to retire it. Separate from Fail Level on purpose: these are opposite events and deserve their own answers. |
| Breaker Max Breakers | 15 | 1 to 100 | The oldest live breaker is dropped past this, from the chart and from the pool Unicorns pair against. Blocks waiting to fail are capped at four times this. |
| Breaker Support | #089981 | A failed BEARISH block, now read as support. | |
| Breaker Resistance | #f23645 | A failed BULLISH block, now read as resistance. |
Mitigation Blocks
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Mitigation Require Failed Sweep | On | The condition that makes this a mitigation block rather than an order block: the swing before the break has to have FAILED to take the one before it (a lower high ahead of a down break, a higher low ahead of an up break). Turn it off and this component is Order Blocks. | |
| Mitigation Max Blocks | 15 | 1 to 100 | The oldest live mitigation block is dropped past this. |
Propulsion Blocks
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Propulsion Containment | Inside Prior Zone | Inside Prior Zone, Inside Prior Body, Overlapping | How much of the new block has to sit within the older one. Inside Prior Zone is the default. Inside Prior Body is the strict published wording (open to close only) and is much rarer. Overlapping accepts any intersection. |
| Propulsion Prior Blocks Remembered | 20 | 1 to 100 | How many earlier order blocks a new one is tested against. They are kept whether or not they have been mitigated: returning into an older block is what spends it, and also what creates the nesting this looks for. |
| Propulsion Max Blocks | 15 | 1 to 100 | The oldest live propulsion block is dropped past this. |
Unicorns
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Unicorn Min Gap (ATR x) | 0.25 | 0 to 10 | A gap smaller than this much ATR is not a gap. This is the same threshold the Fair Value Gaps (FVG) component of Imbalances uses, so the two scripts agree about what one is. |
| Unicorn Require Aligned Gap | On | On: the gap has to point the same way as the breaker, which is the setup the name refers to. Off: any overlapping gap counts, which is the looser reading also in circulation. | |
| Unicorn Max Zones | 15 | 1 to 100 | The oldest live unicorn is dropped past this. |
Display
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Show Labels | On | A caption on each zone: 'Bull OB' / 'Bear OB', 'Bull BB' / 'Bear BB' (named for what the breaker does NOW), 'Bull MB', 'Bull PB', 'Unicorn'. | |
| Show Border | On | ||
| Label Size | Small | Tiny, Small, Normal, Large, Huge | |
| Show Mitigated | Off | Keep a spent zone on the chart, muted and no longer extending. A block price has already reacted at is history, but it is history worth seeing: it is where the move came from. For a breaker, 'spent' means reclaimed. | |
| Show State Pane | Off | A sub-pane per component that is on, counting its live zones and pulsing as each forms. The tool's internal state, and what the automated checks read. |
Colours
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Bullish | #089981 | A block left below price by an up leg, read as support. Order, mitigation and propulsion blocks and unicorns; breakers have their own colours. | |
| Bearish | #f23645 | A block left above price by a down leg, read as resistance. | |
| Mitigated | #787b86 | A spent zone, when Show Mitigated is on. | |
| Label | #b0b3b8 |
Alerts: ob_new, ob_mitigated, bb_new, bb_invalidated, mb_new, mb_mitigated, pb_new, pb_mitigated, uni_new, uni_mitigated.
How it works
The script builds on the suite's shared definitions of swings, structure breaks and displacement. When a leg of at least a set number of average true ranges breaks structure, it looks back a limited number of bars from the start of the leg for the last opposing candle. If there is none within reach, no block is made rather than one being invented further away. The zone spans the candle's full range by default, or only its body.
Three lags stack before a block appears. A swing needs Swing Length bars to confirm, a break needs a bar to close beyond it, and a leg needs a bar that fails to continue it. The zone is anchored to the original candle but drawn only once the evidence exists, so it is never drawn and then erased.
A block is spent when price trades back into it by the chosen basis and level, Body and Touch by default. A breaker needs the opposite, a close fully through the block, and is retired when price reclaims it. Each type fires one alert when it forms and one when it is spent or, for breakers, invalidated.
Limitations
- Blocks appear late. Swing confirmation, the structure break and the end of the leg all have to happen first. A block is drawn well after the candle it marks.
- Definitions vary. With Require Structure Break off, any qualifying leg makes a block, the looser displacement block many tools ship under the same name. The choice changes what you see.
- Not every leg has a block. A leg preceded by many candles of the same colour has no opposing candle within reach and makes no block.
- Touch spends the zone. Under the default rule, the first tag removes a block. If you want to see older blocks, turn on Show Mitigated.
- Higher timeframes need a matching chart. When reading blocks from a higher timeframe, the chart's own period must divide it exactly. Price trading back into a zone is still judged on the chart's own bars.
Get Order Blocks
Premium scripts are a one-time purchase in the Altrady marketplace and need a paid Altrady plan to run.
- Order Blocks $12 This script on its own.
- SMC / ICT bundle $35 7 premium scripts, Order Blocks included.
- Altrady Complete Suite $109 All 36 premium scripts.
Frequently asked questions
In ICT and smart money terms, the last candle moving against a strong leg that broke structure. It marks where the move was positioned from, and traders expect price to react when it returns there.
No. A block is only drawn once the swing, the break and the leg are all confirmed, and it is not moved afterwards. The cost is that it appears several bars after the candle it marks.
An order block is a zone price is expected to react at. A breaker is an order block price traded fully through, kept with its polarity reversed, so a failed bullish block becomes resistance.
Ten, two per type: ob_new and ob_mitigated; bb_new and bb_invalidated; mb_new and mb_mitigated; pb_new and pb_mitigated; uni_new and uni_mitigated. A type that is switched off fires no alerts.
Yes. Order Blocks is a closed-source premium script. It runs on Altrady's servers, so only its output reaches your chart and the code is never shared. You buy it once in the Altrady marketplace, on its own, in the SMC / ICT bundle or in the Altrady Complete Suite, and it needs a paid Altrady plan to run. It is also included with your first annual Premium subscription.
Use the Get it in Altrady button on this page to open its listing in the Altrady marketplace. Once it is in your account, open the indicator picker on any chart in Altrady Charts and add Order Blocks like any other indicator. Turn on the other block types in its settings panel.