What Is an Order Block Scanner?
An order block scanner is software that checks every closed candle on every tracked market against fixed geometric rules — an opposing candle, a displacement impulse, liquidity taken — and flags fresh order blocks and fair value gaps the moment they form.
The reason this works is that an Order Block is not a feeling; it is a specific candle relationship. The last down-close candle before an impulsive rally is a bullish order block. The last up-close candle before an impulsive decline is a bearish one.
A Fair Value Gap (FVG) is stricter still: in a three-candle sequence, the first candle's high must sit below the third candle's low (bullish case), leaving a void that the middle candle's expansion never let the market auction through.
Because both definitions reduce to inequalities between open, high, low, and close values, a machine can evaluate them on every candle close with zero discretion. The scanner's job is coverage and consistency. Your job — which never gets automated away — is deciding whether a flagged zone sits in a context worth trading.
That division of labor matters because the failure mode of manual scanning is not bad analysis. It is missed charts. The setup you never saw is worth exactly zero, and on any watchlist beyond a couple dozen symbols, most setups are ones you never saw.
Why Order Blocks and FVGs Are Objectively Scannable
Order blocks and FVGs are scannable because every element of their definition is computable from raw OHLC data: candle color, body size, wick extremes, and the relationship between consecutive bars. There is no trendline to eyeball and no pattern two traders would draw differently.
Contrast this with concepts that resist automation. "Support" depends on which touches you decide to count. A "trend" depends on where you start the chart.
But close < open is either true or false. "Candle three's low is above candle one's high" is either true or false. "The impulse traded through the prior swing high at 118,400" is either true or false. Stack enough of these binary tests and you have a full detection pipeline, not a heuristic.
A serious scanner encodes the complete checklist, not just the base pattern:
- Formation geometry — the opposing candle before the impulse, or the standard three-candle gap test with a minimum gap size relative to average candle range.
- Impulse quality — how far and how fast price left the zone, normalized by volatility.
- Structural significance — whether the impulse actually broke a prior swing point or merely drifted.
- State — whether the zone is still untouched, being approached, or already mitigated.
The practical corollary: if your order block rules are written down precisely enough to backtest, they are precise enough to scan. If they cannot be encoded, that is usually a sign the "rule" is discretion in disguise — and its results will not be repeatable whether a human or a machine applies it.
Detection Criteria a Trustworthy Order Block Scanner Must Enforce
The base patterns are common; almost every candle sequence contains an opposing candle before some move. What separates a usable signal feed from noise is the filter stack applied on top. Four criteria do most of the work.
1. Liquidity taken by the impulse
Stops cluster above prior swing highs — that resting interest is Buy-Side Liquidity (BSL) — and below prior swing lows, the Sell-Side Liquidity (SSL). An impulse that trades through a prior swing high has consumed those resting orders; that consumption is what lets large participants fill size, and it is objective evidence the move had intent behind it.
A rally that breaks nothing is drift, and the candle before drift is not a meaningful order block. The test should be liquidity-native: a wick through the level counts, because the stops are triggered the instant price trades there — no body close required. This single filter removes the majority of cosmetic order blocks that form inside a range and never get defended.
2. A displacement threshold
Displacement means the leg away from the zone was energetic, not incidental. The objective version: require the impulse candle's body to reach a multiple of average true range — 1.5×ATR(14) is a common bar. Normalizing by ATR matters because a 1.2% candle is an explosion on a quiet large cap and background noise on a volatile small cap; a fixed percentage threshold silently changes meaning across symbols.
Strong displacement also tends to leave a fair value gap behind, which is itself machine-checkable — so a gap on the impulse leg is useful corroborating evidence that real repricing occurred.
3. Freshness — first touch only
An order block or FVG is a zone of presumed unfilled interest. Once price returns into it, that interest is at least partially filled, and each subsequent visit tests a weaker version of the level. A scanner must therefore track mitigation continuously and only surface fresh, untouched zones.
The subtle part is what counts as "touched." Freshness should die on the first wick into the zone, not only on a candle body closing through it — a gap that was wicked has been traded into, even if a close-based rule still calls it open. Scanners that use lenient close-based mitigation quietly re-serve stale zones as fresh.
4. Multi-timeframe nesting (for FVGs)
A 15-minute gap sitting inside a same-direction 1-hour gap, itself inside a 4-hour gap, is three independent measurements of the same imbalance at different scales. Nesting depth is a natural quality grade: a standalone gap is common, a nested gap is meaningful confluence, and a three-deep stack is rare and worth priority attention. A good implementation distinguishes fully contained gaps from partially overlapping ones, since both carry information but not equal weight.
These four filters are, concretely, how LiquidityScan grades zones: its OB+ scanner only promotes an order block whose impulse took a prior swing high or low, the OB++ grade additionally requires displacement of at least 1.5×ATR(14) on the impulse plus a fair value gap left on the leg, and its FVG scanner grades each gap by nesting depth, with freshness ending on the first wick into the zone.
Manual Chart Review vs an Automated Scanner: The Coverage Math
Manual scanning does not fail because traders are lazy; it fails because the arithmetic is unforgiving. A crypto perpetuals universe runs to 500+ liquid symbols. Across nine commonly used timeframes — 5m through monthly — that is roughly 4,500 chart-timeframe combinations. At an optimistic ten seconds per chart, one full pass takes about 12.5 hours. By the time you finish, the 1-hour chart you checked first has printed twelve new candles.
The candle-close cadence makes it worse. On the 5-minute timeframe alone, 500 symbols generate 6,000 candle closes per hour, each one capable of forming a new zone, upgrading a nested gap, or mitigating something you were watching. At the top of every hour, 500 hourly candles close simultaneously. No human process samples that stream; it can only spot-check it.
| Dimension | Manual review | Automated scanner |
|---|---|---|
| Coverage | 10–30 symbols realistically | Entire tracked universe, every timeframe |
| Consistency | Rules drift with fatigue — chart #250 gets a looser read than chart #5 | Identical inequalities on every candle, every pass |
| Latency | Zone found whenever you next open that chart | Flagged on the candle close that created it |
| Freshness tracking | Overnight mitigations easily missed | First-touch state updated continuously |
| Failure mode | The best setup forms where you are not looking | A miss means your filters excluded it — visible and fixable |
Two second-order effects deserve honesty. First, manual watchlists shrink toward the same 10–20 majors everyone else watches, which concentrates you in the most efficiently priced, most crowded zones. Second, fatigue produces silent rule drift: after two hours of scanning you start accepting order blocks you would have rejected in the first ten minutes, and you will not notice you did it.
Note what automation does not do: a scanner out-covers you, it does not out-analyze you. It converts an impossible search problem into a short candidate list. The quality of what you do with that list is unchanged — which is exactly why the workflow section below matters more than the technology.
Why Alerts Must Arrive Before Price Hits the Zone
The order block trade is not the formation — it is the return. Price leaves the zone, runs, and the entry happens when it retraces back into it, often hours or days later. That timing structure dictates the alert design: a formation alert is for planning, and a touch alert arrives at the exact moment you needed to have already finished preparing.
The useful model is a three-stage lifecycle per zone:
- Formed — the zone printed and passed all filters. Plan the trade: does it align with bias, where would the stop go, what is the target?
- Approaching — price has come within a volatility-scaled buffer of the zone's near edge, for example 0.5×ATR(14). This is the working alert: final context check, order placement, position sizing.
- Touched — price entered the zone. Execution moment, and the zone's freshness is spent.
The approach buffer must be ATR-scaled for the same reason the displacement threshold is: a fixed distance fires days early on quiet pairs and gives no warning at all on volatile ones. And the proximity check needs to run on a fast loop against live price, independent of the slower candle-close detection cycle — otherwise "approaching" can fire after the touch already happened.
LiquidityScan's implementation separates the two exactly this way: candle-close detection builds and grades zones, while a proximity loop watches live price against every active zone edge and fires the approaching alert at 0.5×ATR before the tap.
A worked example. BTCUSDT, 4-hour chart, ATR(14) around 650. Equal highs rest at 118,400 — engineered BSL. The last down-close candle before the break spans 117,650–118,050. The next candle closes at 119,320: its body is roughly 1.9×ATR, its high trades through 118,400, and it leaves a gap between 118,050 and 118,600. Every strong-zone criterion is met, and a scanner records the zone at formation.
Two days later price retraces. With the zone's near edge at 118,050 and ATR now near 600, the approaching alert fires around 118,350.
In the window that follows you confirm the daily bias is still bullish, place a limit at 118,000 or arm a lower-timeframe confirmation entry, set the stop below 117,650, and mark the next buy-side pool near 121,000 as the target. When the touch alert lands, you are executing a finished plan — not discovering a chart.
The Scan → Validate → Execute Workflow
Automation earns its keep only inside a disciplined process. The scanner owns step one; you own everything after it.
Step 1 — Let the scanner build the shortlist
Filter hard: fresh zones only, liquidity-confirmed only, the one or two timeframes you actually trade, liquid symbols only. The goal is to compress 4,500 chart-timeframe combinations into a handful of candidates per session. If your feed shows fifty zones a day, your filters are too loose to be actionable.
Step 2 — Validate the context yourself
This is the step no scanner can do, because it depends on judgment and on your plan. For each candidate, check:
- Higher-timeframe bias — a bullish 1h order block against a bearish daily structure is a counter-trend trade and should be treated as one.
- Location in the dealing range — longs from a zone sitting in premium are structurally worse than longs from discount, whatever the zone's grade.
- The draw beyond entry — the Draw on Liquidity must leave room; a demand zone with a large sell-side pool 0.5% overhead has nowhere to run.
- Time and news — session context and scheduled releases change how much weight any zone deserves.
Step 3 — Define the trade before the touch
Entry method (limit at the zone edge versus lower-timeframe confirmation inside it), invalidation (a close beyond the far edge, or a fixed wick tolerance), target at the opposing liquidity pool, and a minimum reward-to-risk you will not bend. All of it written down while the zone is still in its approach phase.
Step 4 — Execute, then journal against the criteria
Log which scanner attributes each traded zone carried — displacement multiple, liquidity taken, nesting depth, timeframe — alongside the outcome. Published and community backtests on order block and FVG entries vary widely by market regime, timeframe, and filter stack; unfiltered zones tend to test near coin-flip, and the improvement testers report generally comes from exactly the filters above.
Treat those as illustrative, not promised: after 50–100 journaled trades, your own data tells you which criteria carry your edge, and that is the only sample that matters.
Used this way, an order block scanner changes the economics of the strategy rather than the strategy itself: full-universe coverage, rules that never fatigue, and alerts that arrive while there is still time to think. The scan starts the decision. It should never finish it.
Frequently Asked Questions
Do order block scanners repaint?
A scanner that evaluates only closed candles cannot repaint a formation — the zone either met the geometric rules at close or it did not. Zones do change state afterward: a gap can upgrade when a higher-timeframe gap forms around it, and any zone retires on mitigation. That is lifecycle tracking, not repainting, and the formation timestamp never moves.
Can I scan for order blocks on 5-minute or 15-minute charts?
Yes — the geometry is identical at every timeframe. Expect far more zones, faster mitigation, and a worse signal-to-noise ratio, since sub-hour impulses often lack real liquidity behind them. Lower-timeframe zones work best when nested inside a same-direction higher-timeframe zone. Data density is also the main practical obstacle for do-it-yourself scripts, as sub-hour candle requests hit exchange rate limits quickly.
Is a scanner alert enough to enter a trade?
No. An alert is a location, not a trade. It tells you a structurally interesting zone exists and that price is coming to it; it says nothing about higher-timeframe bias, premium-discount position, the liquidity target beyond entry, news risk, or your sizing. The alert compresses discovery from hours to seconds — the decision still takes the same judgment it always did.
What data does an order block scanner actually need?
Only OHLC candles per timeframe plus a live price feed. Formation rules, displacement (via ATR computed from the same candles), swing-point breaks, and gap tests are all pure candle geometry, and proximity alerts just compare live price to stored zone edges. No order-book depth, footprint, or volume-profile data is required — which is why these concepts automate so cleanly.
Related query paths
Where to go next depends on which layer you want to strengthen — the raw definitions, the filters that grade a zone, or the execution once price returns.
- What Is an Order Block? — the base definition and formation logic every filter in this article builds on.
- What Is a Fair Value Gap (FVG)? — the three-candle imbalance rule and why gaps attract price.
- Displacement in ICT: Reading Institutional Intent — the impulse-quality criterion in full depth.
- The Core Order Block Validation Rule for SMC Traders — the single validation test that separates tradeable blocks from decoration.
- Best Timeframe for Order Block Trading — which timeframes produce zones worth scanning for in the first place.
- 3 High-Probability Order Block Entry Models — what to actually do when the touch alert fires.
- Unmitigated vs Mitigated Order Blocks: Which Ones Still Work? — how it connects to unmitigated order block.