Short answer: the popular order block scripts disagree on the first question, which candle is the order block. The most boosted, Market Structure Break & Order Block by EmreKb, boxes the textbook one, the last down candle before the move that broke structure, but its break comes from a zigzag and it decides on the live bar. For a close beyond a swing with zones drawn on closed candles, Order Blocks by Flux Charts is the closest free one in our read: its block is the candle with the lowest low before the break, whatever its colour, a wick ends a zone unless you switch "Zone Invalidation" to Close, and it has no alerts. None of the 14 boxes the candle's body by default.
Most lists name order block indicators.
This one reads them.
What we checked
We read every script against one rule, the one our own tools use. A candle closes beyond a confirmed swing: a break of structure (BOS). Walk back from the candle before it to the last candle that closed the other way: that candle is the order block. Its zone is that candle's body, or its whole range from wick to wick. A close through the zone's far edge ends it. The rule sits beside the ones it's built on in our smart money concepts guide. Many scripts use another rule, and the table says which.
We searched TradingView's scripts for four terms on 31 October 2026 ("order block", "order blocks", "orderblock" and "order block indicator"), which returned 115 scripts with "order block" in the name: 76 open source, 28 protected and 11 invite-only. We took the 14 most-boosted open-source scripts that draw order blocks from their own code and read every line that decides what is drawn. Five questions:
- Which candle: the last opposite candle before a break of structure, before a strong move, or another candle?
- Its range: the candle's body, its wicks, or another price?
- What ends it: a touch, a wick through the far edge, a close through it, or nothing?
- When it decides: on a closed candle or the live one, and how many candles late its swing is known?
- Alerts and licence.
Four of these scripts were also in the table of our SMC indicator repaint check, which asked when each one draws, not which candle it boxes.
The table
Boosts as TradingView's search showed them on 31 October 2026.
| Script | Boosts | The candle | Its range | What ends it | Decides on | Alerts |
|---|---|---|---|---|---|---|
| Market Structure Break & Order Block (EmreKb) | 64,446 | The last down candle at or before the swing low its break started from. The break: a zigzag high that clears the previous one by a third of the swing | Wick to wick | A close below it; but the code removes the oldest box in its list, not always the one that broke | The live bar; the zigzag registers a high only after a new 9-candle low | The break, and price inside each kind of zone |
| Order Block Finder (Experimental) (wugamlo) | 41,049 | The last down candle before 5 up candles in a row; no break needed | Open to low, the body and lower wick; wick to wick as an option; a 50% line | Nothing: it tracks no mitigation | Closed candles; drawn 6 candles back | A new block, each side |
| Order Block Detector (LuxAlgo) | 40,844 | No colour check: the candle with the most volume within 5 on each side, after price last marked a 5-candle low | Half the candle: its midpoint to its low; a 50% line of that | A wick through the far edge, by default; a close as an option | The live bar and its growing volume; known 5 candles late | Formed and mitigated, each side |
| Order Blocks & Breaker Blocks (LuxAlgo) | 30,477 | No colour check: the candle with the lowest low between a 10-candle swing high and the close above it | Wick to wick; the body as an option | A candle body below it turns it into a breaker, which goes on a close back above | The live bar; the swing known 10 candles late | None |
| Super OrderBlock / FVG / BoS Tools (makuchaku) | 28,866 | A down candle followed by an up candle that closes above its high; no break needed | Its high to the lower of the two candles' lows | It stops at the first candle whose range crosses either edge, a touch; only the oldest beyond 10 is deleted | Closed candles | None |
| Order Blocks (Flux Charts) | 26,400 | No colour check: the candle with the lowest low between a 10-candle swing high and the close above it; skipped if taller than 3.5 ATR | Wick to wick | A wick through the far edge, by default; the candle's body with "Close". Then it's a breaker | Closed candles; the swing known 10 candles late | None |
| FVG Order Blocks (BigBeluga) | 25,297 | No candle: a fair value gap at least 0.5% of price wide | One ATR(200) below the gap's bottom edge | A whole candle below it, or another block's top inside it | Gaps on closed candles, though a live chart shows a passing extra block during the next candle; the end on the live bar | None |
| Order Blocks with signals (vuetratrading) | 16,665 | The most recent down candle 4 to 15 candles back, once the open has risen 0.28% in 4 candles | Wick to wick | The previous candle's close below it, by default; a wick as an option | Candle opens, which don't change | Price inside a zone, on the live bar |
| Volume Order Blocks (BigBeluga) | 10,338 | The candle with the lowest low of the last 18, when a 5-period EMA crosses above an 18-period one | Its low to its body's bottom, stretched to a minimum height set by ATR(200); a 50% line | A close below it, or a newer zone close by | The cross on closed candles; the end on the live bar | None |
| Higher order Orderblocks + Breakerblocks + Range + Alerts (pmk07) | 10,075 | The candle at the lower low, once a swing low forms above the high that made it | From that low up to the lower of its high and the previous candle's | It turns into a breaker when a swing high forms below it | Closed candles | One message per closed candle: breaks, tests, ranges |
| ICT Concept: Order Block / FVG / Liquidity Sweeps (TradingFinder) | 9,281 | The candle before the latest turn up from a low, boxed when a close crosses above the major high | "Refined" by default, from that candle and its neighbours against ATR(55); wick to wick with Refine off; a 50% line | A wick through the far edge | The live bar | The first touch of a zone |
| Volume-Trend Order Block Engine (BigBeluga) | 8,871 | The candle at a 7-candle swing low while its Supertrend points up; one zone at a time | From its body's bottom down one average candle range | A whole candle below it | The live bar; the swing known 7 candles late | None |
| MTF Order Block Finder (DasanC) | 8,747 | The candle after the last down candle before 5 up candles that moved at least 0.3%, by default ("Order Block Candle Shift" 1); the chart's timeframe or a higher one | That up candle's low to its close | Nothing; only the oldest beyond 4 per side is deleted | Closed candles, higher timeframes with lookahead off | A new block (three conditions) |
| Orderblock Footprints (AlgoAlpha) | 8,521 | The last down candle before a displacement: a run of up candles whose summed bodies are 4 standard deviations above that sum's 100-candle average | Wick to wick | Two closes in a row below it | The live bar | Zone created, and absorption in a wick |
| SMC AI-Scored Toolkit (ours) | — | The last opposite candle within the 20 before a close beyond a confirmed 15-candle swing | Its body | A close through the far edge | Closed candles; the swing known 15 candles late | Five types on bar close, one for price entering a zone |
The bearish block is the mirror in every script: the up candle, the high, a close above.
Licences: LuxAlgo's two and BigBeluga's three are shared under CC BY-NC-SA 4.0, which doesn't allow commercial use; DasanC's and AlgoAlpha's carry no licence line; the other seven are under the Mozilla Public License 2.0.
Not in the table: JP7FX's Supply & Demand / Orderblocks - Multi TimeFrame (19,744 boosts) and realgainzy's Gainzy Orderblock Candles v2 (9,854) are protected, free to add with the code hidden. TradingFinder's Breaker Blocks + Order Blocks confirm (7,987) is open source, but its order-block lines live in TradingFinder's libraries, which we didn't read.
What the code says
The three films below replay simulated candles through one rule, SMC Basics': the close beyond a confirmed swing, the last opposite candle before it, its body, and a close through the far edge to end it. It's the rule we read the scripts against, and our toolkit's.
Which candle is the order block?
Only two wait for a break of structure and then take the last opposite candle. EmreKb's walks back to the last down candle at or before the swing low its break started from. Its break isn't a close beyond a swing: it's a zigzag high that clears the previous high by a third of the swing between them (its "Fib Factor", 0.33). TradingFinder's breaks on a close above its major high and boxes the candle before the latest turn up from a low: the last one that closed below the previous candle's low before a candle closed above the previous candle's high.
Two break on a close and then take another candle. LuxAlgo's Order Blocks & Breaker Blocks and Flux Charts' wait for a close above a 10-candle swing high, then box the candle with the lowest low between that swing and the break, whatever its colour. That candle can be an up candle.
Five need no break, only a move after an opposite candle. wugamlo's and DasanC's want 5 up candles in a row after a down one (DasanC's also a 0.3% move), and DasanC's boxes the first up candle by default: its "Order Block Candle Shift" is 1. makuchaku's wants one up candle that closes above the down candle's high. vuetratrading's wants the open up 0.28% in 4 candles, and AlgoAlpha's a displacement: a run of up candles whose summed bodies are 4 standard deviations above that sum's 100-candle average.
The other five don't start from an opposite candle at all. LuxAlgo's Detector takes the candle with the most volume within 5 on each side. BigBeluga's FVG Order Blocks hangs its block under a fair value gap. Its Volume Order Blocks takes the lowest low of 18 candles when a 5-period EMA crosses above an 18-period one, and its Volume-Trend engine a 7-candle swing low while its Supertrend points up. pmk07's takes the candle at the lower low, once a swing low forms above the high that made it.
The film shows the rule we read them against: the close beyond the swing first, then the walk back.
Simulated 15-minute candles, not market data. Swings are confirmed by 3 candles on each side; zones follow SMC Basics' order-block rule.
Read as text
- The last confirmed swing high sits at 101.55; it is known 3 candles after it printed.
- A candle closes above 101.55: a break of structure (BOS).
- Walking back from the candle before the break, the first down candle is 4 candles back. That candle is the order block.
- Its body, 101.14 to 101.39, is the zone. It exists only from the close of the breaking candle on.
How this window was chosen: The first 15-minute window of the simulated market in which a close above a confirmed swing high, with structure already up (a BOS), creates an order block with a visible body at least 3 candles before the break, the breaking candle stays above the zone, and price stays out of the zone for the next 6 candles.
Body or wick?
None of the 14 boxes the body by default. Seven box the whole candle, or close to it: EmreKb's, LuxAlgo's Order Blocks & Breaker Blocks (its "Use Candle Body" is off by default), makuchaku's (down to the lower of the two candles' lows), Flux Charts', vuetratrading's, pmk07's (up to the lower of two candles' highs) and AlgoAlpha's.
The other seven draw something else. wugamlo's draws open to low, a down candle's body and lower wick, with "Use whole range" as the option. DasanC's draws the low to the close of the up candle it picks. LuxAlgo's Detector draws half the candle, its midpoint to its low. BigBeluga's Volume Order Blocks draws the low to the body's bottom, stretched to a minimum height set by ATR(200); its Volume-Trend engine, the body's bottom down one average candle range; its FVG Order Blocks, one ATR(200) below the gap. TradingFinder's "Order Block Refine" is on by default: it builds the zone from the candle and its neighbours, sized against ATR(55), and narrows a wide one toward its far edge.
The choice changes more than the box. The wider zone is reached sooner, and its far edge, the line a close through ends it at, sits at another price.
Simulated 15-minute candles, not market data. Swings are confirmed by 3 candles on each side; zones follow SMC Basics' order-block rule. The dashed box is the other convention.
Read as text
- A close above the swing high at 183.35 breaks structure (a BOS); the last down candle before it is the order block.
- Drawn from its body (open to close), the zone is 181.81 to 182.58. Drawn from its wicks (low to high), it is 181.81 to 182.80.
- The first candle back reaches 182.64: inside the wick zone, above the body zone.
- With bodies, the zone is still untouched; it is first touched 1 candles later.
How this window was chosen: The first window in which the first candle to come back to a bullish order block (4 to 14 candles after it formed) trades into the zone drawn from the wicks but not into the zone drawn from the bodies, the order block's body and its upper wick are each at least 40% of an average candle, and no other break of structure comes in between. Each film's window starts after the windows of the films above it, so no two films share candles.
What ends a zone?
A close through the far edge ends a zone in four. EmreKb's, though its code then removes the oldest box in its list, which isn't always the one that broke. vuetratrading's, from the previous candle's close by default. BigBeluga's Volume Order Blocks, and AlgoAlpha's, which wants two closes in a row.
A wick ends it in three. Flux Charts' ("Zone Invalidation": Wick) and LuxAlgo's Detector ("Mitigation Methods": Wick) by default, each with a "Close" option, and TradingFinder's. In Flux Charts', "Close" means the candle's body.
The other seven use other rules. LuxAlgo's Order Blocks & Breaker Blocks turns a zone into a breaker when a candle's body gets below it. makuchaku's stops a zone at the first candle whose range crosses either edge: a touch. BigBeluga's FVG Order Blocks and Volume-Trend engine wait for a whole candle beyond the zone. pmk07's waits for a swing high to form below it. wugamlo's and DasanC's never end one.
None ends a zone at its 50% line, though several draw one.
Simulated 15-minute candles, not market data. Swings are confirmed by 3 candles on each side; zones follow SMC Basics' order-block rule. The price tag marks the zone's far edge.
Read as text
- A close above the swing high at 108.23 breaks structure (a CHoCH) and makes the last down candle an order block: 107.94 to 108.02 (body).
- 8 candles later price trades back into the zone for the first time: its first retest.
- That candle closes back above the zone. A touch fades the zone; it does not end it.
- No candle closes below the zone's far edge for the rest of the film, so the zone stays valid.
How this window was chosen: The first window in which a bullish order block with a visible body is first retested 4 to 14 candles after the break, with no other break of structure in between, the retest candle closes back above the zone, no candle closes through the zone in the next 8 candles (the rest of the film), and the film's price range is at most 6 times the zone's height, so the zone reads on a phone. Each film's window starts after the windows of the films above it, so no two films share candles.
When does it decide?
Five decide on closed candles: wugamlo's, makuchaku's, Flux Charts', pmk07's and DasanC's. vuetratrading's decides from candle opens, which don't change once a candle has opened. Two of BigBeluga's find their blocks on closed candles and end them on the live one. The other six decide on the live bar, so a block can print mid-candle and vanish before the candle closes: EmreKb's, both LuxAlgo scripts, TradingFinder's, BigBeluga's Volume-Trend engine and AlgoAlpha's. LuxAlgo's Detector also reads the live candle's volume, which grows until the close.
A swing is late by the candles on its right. In LuxAlgo's Order Blocks & Breaker Blocks and Flux Charts', a swing high is a high above the next 10 candles' highs, so it's known 10 candles after it prints and they can't break it sooner; BigBeluga's Volume-Trend engine is 7 candles late and LuxAlgo's Detector 5. EmreKb's zigzag registers a high only when a later candle makes a new 9-candle low, so its break, and its block, come after that. wugamlo's and DasanC's wait for the 5 up candles to close: wugamlo's draws the block 6 candles back; DasanC's marks the up candle it picked, 5 back, and starts its zone at the current candle. DasanC's is the one here that reads a higher timeframe, with lookahead off and only closed candles.
Alerts and licences
Eight have alerts. pmk07's sends one message per closed candle, listing its breaks, tests and ranges; wugamlo's and DasanC's fire on a new block, from closed candles. EmreKb's, vuetratrading's and TradingFinder's alert when price enters a zone, on the live bar; LuxAlgo's Detector when a block forms or is mitigated; AlgoAlpha's when a zone is created and when it reads absorption in a wick. Flux Charts', makuchaku's, LuxAlgo's Order Blocks & Breaker Blocks and BigBeluga's three have none.
Ours
SMC AI-Scored Toolkit is $39 once, with its full Pine v6 source. Its order block follows the rule above. A candle closes beyond the last confirmed swing, one with 15 candles on each side, so the swing is known 15 candles after it prints, and each swing breaks once. The block is the last candle that closed the other way within the 20 before the breaking candle, and its zone is that candle's body. A close through the far edge takes the zone off the chart. Everything is boxed on closed candles.
It also scores every zone 0–100 on five factors you can see: volume, displacement, liquidity sweep, higher-timeframe alignment and time of day. The score describes a zone; it isn't odds. Its Resolved % counts a tested zone as held once price moves 1 ATR its way, and failed on a close through it. Five alert types fire on bar close, one of them for price entering a zone, with a minimum score for zone alerts that you set (70 by default). Running alerts needs a paid TradingView plan.
In our own test on gold futures (1,729 zones, 241 of them order blocks, default weights), the composite score didn't sort zones better than shuffled scores; two of its factors, displacement and volume, showed exploratory associations. The study has every number.
The films above use SMC Basics' candle, body and close-through rule, without the scores, on 3-candle swings to fit the frame. It's in Pine Pro Library, $49 once, with its full source, on a 10-candle swing by default; it has no alerts and keeps 3 zones per side.
The toolkit against the free SMC suites, by what each counts on the live bar: best SMC indicators, repaint-checked. Gaps that flip on a close: best IFVG indicators, code-read. Order blocks that flip into breakers, and what each script counts as the flip: best breaker block indicators, code-read. The sweep before the break: best liquidity sweep indicators, code-read.
Check one yourself
- The candle: find the loop that walks back from the break.
close < openinside it means the last down candle; a runningmath.minof lows means the lowest candle, whatever its colour;ta.pivothigh(volume, ...)means volume. - The range: read the box's top and bottom.
highandloware the wicks;math.max(open, close)andmath.min(open, close)are the body. - The end: find the line that deletes or stops a box.
closeagainst the far edge is a close through;loworhighis a wick; a test against the near edge is a touch. - The close: look for
barstate.isconfirmed, or values read one candle back (close[1]). Then find the swing length inta.pivothighorta.highest: no block can appear sooner than that many candles after the swing. Our repaint guide has the rest of the check.
None of the scripts here, ours included, runs on MT5, MT4, NinjaTrader 8 or thinkorswim: Pine Script runs only on TradingView. A version for another platform is a new program; check it the same way (Pine Script to MQL5 works through one port). In Zerodha, Dhan or Groww, none of the help pages we read on 29 October 2026 says your own TradingView script runs inside the app (each app's answer), so run it on tradingview.com.
The deep version, as a PDF
The Smart Money Concepts Rule Book
ICT and SMC as exact rules on closed candles, every concept set against the ones it's confused with, and what our data says about each.
- 26 SMC and ICT terms, each one closed-candle rule: BOS, CHoCH, MSS, order blocks, breakers, fair value gaps, sweeps, OTE, killzones, SMT and more
- The comparisons traders search for, side by side: BOS vs CHoCH vs MSS, breaker vs mitigation vs order block, sweep vs grab vs breakout, FVG vs imbalance vs IFVG
- Every measurement we've published on these concepts, with its sample, period and costs, and why the book prints no win rate
One payment, instant download. Refund within 7 days if you haven't downloaded it.
Limits
One code read, on 31 October 2026, of the versions TradingView served that day. We read the code; we didn't run the scripts on a live chart. Scripts change, and boosts measure popularity, not quality. We build and sell the SMC AI-Scored Toolkit and SMC Basics, and we have no relationship with any author named here. Nothing here is financial advice.
Use these animations on your site.
Frequently asked questions
What is the best order block indicator on TradingView?
It depends on the rule you want. The most boosted, Market Structure Break & Order Block by EmreKb (64,446 boosts), boxes the last down candle at or before the swing low its break started from, but the break comes from a zigzag and it decides on the live bar. For a close beyond a swing with zones drawn on closed candles, Order Blocks by Flux Charts (26,400 boosts) is the closest free one in our read. Its block is the candle with the lowest low before the break, whatever its colour, a wick ends a zone unless you switch Zone Invalidation to Close, and it has no alerts.
Is there a free order block indicator for TradingView?
Yes. All 14 scripts in our table are free to add, with their code open. LuxAlgo's two and BigBeluga's three are shared under CC BY-NC-SA 4.0, which doesn't allow commercial use; seven under the Mozilla Public License 2.0; DasanC's and AlgoAlpha's carry no licence line.
What is the most popular order block indicator called?
On TradingView's search on 31 October 2026, the most boosted was Market Structure Break & Order Block by EmreKb, with 64,446 boosts, then Order Block Finder (Experimental) by wugamlo, with 41,049, and Order Block Detector by LuxAlgo, with 40,844. Boosts measure popularity, not quality.
Is the LuxAlgo order block indicator free?
Its two open-source ones are: Order Block Detector (40,844 boosts) and Order Blocks & Breaker Blocks (30,477), both shared under CC BY-NC-SA 4.0. Neither takes the last opposite candle. The Detector boxes half of the candle with the most volume within 5 on each side; Order Blocks & Breaker Blocks boxes the candle with the lowest low before a close above a swing. Both decide on the live bar.
What are the best settings for an order block indicator?
We haven't tested which settings work better, so here are the ones that change what you see. The zone: body or wick, with Use Candle Body in LuxAlgo's Order Blocks & Breaker Blocks or Use whole range in wugamlo's. What ends it: Zone Invalidation in Flux Charts' and Mitigation Methods in LuxAlgo's Detector, both on Wick by default. The swing: 10 candles in LuxAlgo's and Flux Charts', a 9-candle zigzag in EmreKb's. A longer swing gives fewer blocks, known later.
Is there an order block indicator for MT5, MT4, NinjaTrader 8 or thinkorswim?
Not among these: every script here, ours included, is Pine Script, which runs only on TradingView. A version for another platform is a new program, so check it the same way: which candle it boxes, body or wick, what ends a zone, and whether it decides on the candle still forming.
Can I use an order block indicator in Zerodha, Dhan or Groww?
Not inside the apps, going by their own help pages as we read them on 29 October 2026: Zerodha says Kite uses a built-in library of indicators, Dhan says its Pine editor isn't extended to tv.dhan.co, and Groww's pages don't mention adding a script. Run the indicator on tradingview.com and place the order in your app.



