EFX Order Block Finder

Identifies institutional order blocks on any timeframe. Highlights mitigation zones, unmitigated blocks, and provides confluence scoring for high-probability setups.

Order BlocksICTSmart Money
TradingViewMT4MT5

About This Indicator

Order Blocks are the last up or down candle before a significant impulse move the footprint of institutional buying or selling. The EFX Order Block Finder automatically detects these zones and tracks their status in real time: fresh (unmitigated), partially mitigated, and fully mitigated.

When price returns to an unmitigated order block with confluence (session, FVG, liquidity sweep), it represents a high-probability entry zone aligned with Smart Money positioning.

Key Features

  • Auto-detects bullish and bearish order blocks on formation
  • Real-time mitigation tracking boxes update as price enters the zone
  • Confluence score overlay (session, FVG alignment, liquidity presence)
  • Colour-coded: green = bullish OB, red = bearish OB, grey = mitigated
  • Adjustable lookback and sensitivity settings
  • Alerts when price enters a fresh order block zone
  • Available for TradingView, MT4, and MT5

How to Use

  • Apply to your preferred timeframe (15m–4H works best)
  • Focus on unmitigated (bright) boxes only grey boxes are already used
  • Look for price to sweep liquidity before entering an OB this is the manipulation phase
  • Enter at the 50% level of the OB (the "CE" consequent encroachment)
  • Set stop loss below the order block low (for bullish) or above (for bearish)
  • Combine with the EFX FVG indicator for maximum confluence

Pine Script Preview (TradingView)

//@version=5 // EFX Order Block Finder EntraFX // © 2026 EntraFX. Pro licence required. indicator("EFX Order Block Finder", overlay=true, max_boxes_count=200) obLen = input.int(3, "OB Detection Length", minval=1, maxval=10) showMit = input.bool(true, "Show Mitigated Blocks") bullCol = input.color(color.new(color.green, 80), "Bullish OB Colour") bearCol = input.color(color.new(color.red, 80), "Bearish OB Colour") mitCol = input.color(color.new(color.gray, 88), "Mitigated Colour") // Detect impulsive moves bullImpulse = close > high[obLen] and high == ta.highest(high, obLen+1) bearImpulse = close < low[obLen] and low == ta.lowest(low, obLen+1) // Mark order block zone (simplified preview) if bullImpulse box.new(bar_index - obLen, high[obLen], bar_index, low[obLen], bgcolor=bullCol, border_color=color.new(color.green,50)) if bearImpulse box.new(bar_index - obLen, high[obLen], bar_index, low[obLen], bgcolor=bearCol, border_color=color.new(color.red,50)) alertcondition(bullImpulse, "Bullish OB Formed", "EFX: Bullish Order Block detected") alertcondition(bearImpulse, "Bearish OB Formed", "EFX: Bearish Order Block detected")