Dual-Timeframe ICT Order Blocks
May 14, 2026

The Dual-Timeframe ICT Order Blocks indicator identifies and manages ICT-style bullish and bearish order block zones across two configurable timeframes to highlight institutional displacement and liquidity-driven market structures. It provides traders with high-probability reaction zones by integrating market structure context, volume data, and multi-timeframe analysis into a single overlay.
Usage
The Usage section describes how the script can be used to identify key institutional levels.
- Primary Analysis: Use the primary timeframe settings to identify order blocks on your current chart timeframe or a specific higher timeframe. These zones represent recent areas of displacement.
- Multi-Timeframe Context: Enable the secondary timeframe to overlay a second layer of structure. For example, you can view 15-minute order blocks (primary) alongside 4-hour order blocks (secondary) to find confluence between lower-timeframe execution and higher-timeframe trends.
- Liquidity Sweeps: Use the "Require Liquidity Sweep" filter to only show order blocks that formed after price taken out a prior swing high or low. This focuses the analysis on setups where institutional liquidity was likely engaged.
- Volume Profiling: Enable volumetric info to see the volume distribution within a zone. This helps determine the strength of the displacement that created the order block.
- Zone Invalidation: Monitor how price interacts with the zones. If a zone is breached (by wick or close, depending on settings), it can be converted into a "breaker block," signaling a potential shift in market bias.
Details
The script utilizes pivot-based swing detection to identify market structure. An order block is identified when price breaks a swing level with displacement.
- Liquidity Integration: The tool tracks swing highs and lows to detect liquidity "sweeps." A bullish order block is valid if the preceding candle swept sell-side liquidity, and vice versa for bearish blocks.
- Displacement Calculation: The script calculates the size of the zones using an ATR-based threshold. This prevents oversized zones from cluttering the chart, with an option to allow oversized blocks if preferred.
- Combining Zones: To reduce visual noise, the script can combine overlapping zones of the same direction and timeframe into a single unified area of interest.
- Dealing Range: The tool can calculate a "Discount / Premium" range based on the most recent swing structure, helping traders identify if an order block is located in a favorable area for buying (discount) or selling (premium).
Settings
- Visibility Group:
- Breaker Blocks: Shows invalidated order blocks as historical breaker zones.
- Volumetric Info: Displays volume bars and percentage balance inside the zones.
- Swing Highs / Lows: Toggles the visibility of the pivot points used for detection.
- Entry Signals: Displays "Long" or "Short" labels when price retests an active zone.
- Order Block Filtering Group:
- Swing Length: Controls the lookback period for pivot detection and liquidity sweeps.
- Zone Invalidation: Determines if a zone is cleared by a price wick or a candle close.
- Require FVG Confirmation: Requires a Fair Value Gap to exist alongside the order block for it to be valid.
- Combine Zones: Merges overlapping order blocks into one zone.
- Require Liquidity Sweep: Filters for blocks that formed only after taking out opposing liquidity.
- Timeframe Groups (Primary & Secondary):
- Timeframe: Sets the specific timeframe for detection (e.g., 1H, 4H, Daily).
- Zone Count: Controls the number of historical zones rendered on the chart (One, Low, Medium, High).
- Discount / Premium Group:
- Discount / Premium Zones: Toggles the dealing range overlay.
- Timeframe: Sets the timeframe used to calculate the dealing range.
FAQ
How do I distinguish between the two timeframes on the chart?
The indicator uses distinct color palettes for each layer. By default, the primary timeframe uses standard bullish/bearish colors, while the secondary timeframe uses a blue and yellow palette to ensure visual clarity.
Why are some order blocks disappearing?
Order blocks are invalidated once price crosses the "Zone Invalidation" threshold (wick or close). You can enable "Breaker Blocks" in the settings to keep these invalidated zones visible as historical references.
How can I access this indicator?
You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.
Free indicator
Get free access to this indicator on the platforms below.
Unlock the entire LuxAlgo Library
Every indicator, every strategy, full charts, and complete access to Quant — our AI agent.