A breaker block is a price-action concept, popularised in the smart-money / ICT community, describing an order-block candle that "failed": price broke past it and shifted market structure, and traders then watch that same zone for a potential reaction in the new direction. This page explains the concept in neutral, educational terms — how traders define the zone, how they frame entries, exits and risk around it, and where the idea commonly breaks down. It is educational only. Nothing here is predictive, no method is claimed to be profitable, and all trading involves the risk of loss.
A "breaker block" builds on the order-block idea. An order block is loosely defined by many traders as the last opposite-direction candle (or cluster) before a strong move that breaks structure. A breaker block is what some traders call that order block after it has failed — i.e. after price has traded back through it and then broken market structure in the opposite direction.
The typical narrative traders use to describe it (this is a story about presumed order flow, not a proven mechanism): 1. Price makes a swing high and a swing low, establishing visible structure. 2. A move attempts to continue (say, a push to a new high) but fails, and price reverses and breaks the prior swing low — a "break of structure" (BOS) or "change of character" (CHoCH) to the downside. 3. The up-candle(s) that formed the failed high — the would-be bullish order block — are now re-labelled a bearish breaker block, because the order flow that was supposed to defend that area is presumed to have been overwhelmed. 4. Traders then watch for price to retrace back up into that failed zone and look for signs of rejection to continue in the new (down) direction. A bullish breaker is the mirror image: a failed bearish order block that traders watch as potential support after an upside structure break.
Key terms traders attach to the idea: market structure (sequence of highs/lows), break of structure / change of character (the marker that a swing level was taken out), displacement (a strong, often single-direction expansion candle that "leaves" the zone), and mitigation (the later return to the zone). The concept is inherently discretionary — it depends on which swings you consider significant, which candle you call "the" order block, and what counts as a valid structure break — so it does not reduce to one objective mechanical rule set. Different chartists will mark different breakers on the same chart.
Because of that discretion, the Pine script below is an illustrative detection/marker tool, not a complete trading system: it flags simple swing-based structure breaks and highlights a candidate breaker zone so you can study the idea. It does not place trades, makes no claim about outcomes, and is not tuned for any market.
//@version=6
// ILLUSTRATIVE breaker-block marker — NOT a trading system, NOT financial advice.
// Detects simple pivot-based structure breaks (BOS/CHoCH) and highlights a
// candidate "breaker" zone (the range of the bar before the broken swing).
// Breaker blocks are discretionary; this only flags one mechanical interpretation.
indicator("Breaker Block Marker (illustrative)", overlay = true, max_boxes_count = 50, max_labels_count = 50)
len = input.int(5, "Pivot lookback/forward", minval = 1)
useBody = input.bool(true, "Use candle body for zone (else full range)")
// Confirmed pivots (note: pivots confirm `len` bars later — no look-ahead here,
// because ta.pivothigh/low only return a value once the bar is fully formed).
ph = ta.pivothigh(high, len, len)
pl = ta.pivotlow(low, len, len)
var float lastPH = na
var float lastPL = na
if not na(ph)
lastPH := ph
if not na(pl)
lastPL := pl
// Structure break on close: bullish break = close above last pivot high,
// bearish break = close below last pivot low.
bullBreak = not na(lastPH) and close > lastPH and close[1] <= lastPH
bearBreak = not na(lastPL) and close < lastPL and close[1] >= lastPL
// Candidate breaker zone = range of the bar immediately before the break bar.
// This is a deliberately simple, illustrative proxy for the "failed order block";
// it does NOT filter by candle direction the way a discretionary trader would,
// so treat the box as a study marker, not a faithful breaker definition.
f_zoneTop(_useBody) => _useBody ? math.max(open[1], close[1]) : high[1]
f_zoneBot(_useBody) => _useBody ? math.min(open[1], close[1]) : low[1]
if bearBreak
top = f_zoneTop(useBody)
bot = f_zoneBot(useBody)
box.new(bar_index[1], top, bar_index + 10, bot,
border_color = color.red, bgcolor = color.new(color.red, 85))
label.new(bar_index, high, "bearish breaker?",
style = label.style_label_down, color = color.new(color.red, 70),
textcolor = color.white, size = size.small)
if bullBreak
top = f_zoneTop(useBody)
bot = f_zoneBot(useBody)
box.new(bar_index[1], top, bar_index + 10, bot,
border_color = color.green, bgcolor = color.new(color.green, 85))
label.new(bar_index, low, "bullish breaker?",
style = label.style_label_up, color = color.new(color.green, 70),
textcolor = color.white, size = size.small)
plotshape((bullBreak) and barstate.isconfirmed, "Bull structure break", shape.triangleup, location.belowbar, color.green, size = size.tiny)
plotshape((bearBreak) and barstate.isconfirmed, "Bear structure break", shape.triangledown, location.abovebar, color.red, size = size.tiny)
// Markers print only on confirmed, closed bars; verify on your own data before any use.Traders generally describe an order block as the last opposite-direction candle (or cluster) before a strong move that breaks structure. A breaker block is what they call that same order block after it has failed — price traded back through it and then broke structure in the opposite direction — so the zone is then watched for a reaction in the new direction. Both are discretionary labels, not standardised or proven mechanisms.
Only partially. The structure-break detection (pivots, BOS/CHoCH on close) can be mechanised, as the illustrative script above shows, but the choice of which swing matters, how wide the zone is, and what counts as a valid reaction is discretionary. Any automated version is one specific interpretation among many and must be validated on out-of-sample data — including checks for look-ahead bias and repainting — before it means anything.
No. A breaker block is a way of marking a zone of interest based on past price action; it is descriptive, not predictive. Price may react there, ignore it, or react and then fail. Nothing about the concept guarantees a direction or outcome, and all trading involves the risk of loss. Treat it as a study tool, not a signal.
Educational & software only — not financial advice, not a recommendation to trade. Backtests are illustrative; past performance does not predict future results. Trading involves substantial risk of loss.