LiquidityScan

· ORDER BLOCKS & FVGS · 12 MIN READ · UPDATED TODAY

How to Scan for Order Blocks and FVGs Automatically in Real Time

Order blocks and FVGs reduce to exact candle geometry, which makes them machine-detectable in real time. Here is what an order block scanner must check — liquidity taken, displacement, freshness, nesting — why manual scanning fails past ~30 symbols, and how to trade the alerts it produces.

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.

DimensionManual reviewAutomated scanner
Coverage10–30 symbols realisticallyEntire tracked universe, every timeframe
ConsistencyRules drift with fatigue — chart #250 gets a looser read than chart #5Identical inequalities on every candle, every pass
LatencyZone found whenever you next open that chartFlagged on the candle close that created it
Freshness trackingOvernight mitigations easily missedFirst-touch state updated continuously
Failure modeThe best setup forms where you are not lookingA 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:

  1. 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?
  2. 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.
  3. 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.

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.

Hayk Muradian

Hayk Muradian

Founder & Lead Analyst at LiquidityScan · 12+ years ICT/SMC trading · Institutional order flow specialist

Hayk Muradian is the founder of LiquidityScan, a professional trading intelligence platform built for ICT (Inner Circle Trader) and Smart Money Concepts (SMC) traders. With over a decade of hands-on experience reading institutional order flow across crypto, forex, and futures markets, Hayk specializes in identifying liquidity events, order blocks, and CISD setups on closed candles.

He built LiquidityScan after years of frustration with retail charting tools that ignored the mechanics institutions actually use. The platform now scans 400+ markets in real-time, surfacing the same patterns floor traders watch — without the noise.

Hayk writes about the methodology behind ICT and SMC, with a focus on practical, data-driven analysis rather than hype. He is a vocal critic of "smart money" content that misrepresents institutional intent and a strong advocate for methodology-respectful education.

View all 375 articles by Hayk Muradian →

Not trading advice. LiquidityScan publishes educational content for informational purposes only. Trading involves substantial risk of loss.