ICT Unicorn Indicator: Where a Breaker and an FVG Overlap

Written by Dominic Walsh · Published · Last updated

The unicorn setup is named for its rarity. It needs two smart-money features to land in the same place: a breaker block and a fair value gap. The ict unicorn indicator finds both, checks they overlap, and draws only the narrow band where they agree. That intersection is the whole point, and it is why signals are infrequent.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 2: Unicorn BUY, Unicorn SELL
Alerts popup
Inputs 8

What the Ict Unicorn Indicator draws on the chart

Unicorn BUY places a lime arrow beneath the bar where a bullish overlap confirms.

Unicorn SELL places a red arrow above the bearish case.

A rectangle covers the overlap band itself, not the block and not the gap, which is a much tighter zone than either alone.

Zone drawing can be switched off if you want the arrows on a clean chart.

  • Unicorn BUY: arrow, lime, width 2, arrow code 233
  • Unicorn SELL: arrow, red, width 2, arrow code 234
ICT unicorn indicator on EURUSD H1 with the breaker and gap overlap zone marked
ICT unicorn indicator on EURUSD H1 with the breaker and gap overlap zone marked

How the Ict Unicorn Indicator calculates its values

Finding the gap

bullFvg needs low[i+1] to sit above high[i+3], with the distance between them exceeding minGap from `InpMinGapPoints`. That is a genuine three-candle imbalance rather than one long bar. bearFvg inverts the comparison. The size floor is deliberately loose at `1.0` points, because the overlap test that follows does most of the filtering.

Finding the block behind it

With a gap present the code looks for the order block that caused it. For a bullish case it wants close[k] below open[k] on the block candle and close[k-1] above open[k-1] on the next, so the market turned right there. `InpFvgLookback` bounds how far back that search runs, and `InpBreakerLook` covers the structure break that turns an order block into a breaker.

Keeping only the overlap

obHi and obLo take MathMax and MathMin of the block candle’s open and close. fvgHi and fvgLo come from the gap boundaries. Then the intersection: zoneHi takes MathMin(obHi, fvgHi) and zoneLo takes MathMax(obLo, fvgLo). Taking the inner edges of both features means the zone exists only where they genuinely overlap. Arrows land 5 points clear of the signal bar.

How to read the signals

The rectangle is deliberately narrow. That tightness is the setup, not a rendering quirk.

No arrow means no overlap was found, which is the normal state most of the time.

Look left of an arrow to see the block and the gap that produced it.

A wider gap threshold makes signals rarer still, since fewer imbalances qualify in the first place.

Alert channels in this build: popup, one message per closed bar.

A terminal popup is the only channel, driven by `InpAlertsOn` which ships `true`. Because the confirmation reads a settled bar, the message follows a completed signal rather than a forming one, and the guard permits a single alert per closed bar.

Every Ict Unicorn Indicator input

Core settings

Setting What it does Default
InpSwingLen Pivot swing length for OB. Pivot swing length used to locate the order block, default `3`. 3
InpFvgLookback Lookback bars to find OB+FVG overlap. How far back the code looks for a block overlapping the gap, default `6` bars. 6
InpBreakerLook Lookback for breaker confirmation. Lookback for the structure break that confirms a breaker, default `25` bars. This is the widest window and it sets the warmup. 25
InpMinGapPoints Min FVG size in points (loose). Smallest gap that counts, default `1.0` points, intentionally loose. Raise it on instruments with a different tick size. 1.0

Display settings

Setting What it does Default
InpDrawZones Draw rectangle zones. Set it `false` to keep the arrows and drop the rectangles. on
InpBullZone (see inputs panel) dodger blue
InpBearZone (see inputs panel) tomato

Alert settings

Setting What it does Default
InpAlertsOn (see inputs panel) on
ICT unicorn indicator inputs: InpSwingLen, InpFvgLookback and InpBreakerLook
ICT unicorn indicator inputs: InpSwingLen, InpFvgLookback and InpBreakerLook

Settings that fit your chart

The setup needs enough movement to open a gap and break structure, which favours H1 and above on the majors. EURUSD H1 is the reference chart. On M5 gaps are frequent but most are noise, and the loose point threshold does little to help. On gold or an index, raise `InpMinGapPoints` first, since a 1.0 point gap there is effectively no filter at all.

When the Ict Unicorn Indicator fails

Three conditions must coincide, so signals are rare and samples stay small. Judging the tool on a handful of arrows will mislead you.

The gap threshold is a raw point count. A value tuned on a 5-digit forex pair is meaningless on an instrument with a different tick size.

The overlap can come out very small or empty even when both features exist, so a valid-looking setup on the chart may produce no zone at all.

Copy the compiled Ict Unicorn Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Related on forexmt4systems.com: ICT Style Strategy.

Background reading on the method behind the Ict Unicorn Indicator: Convenience yield on Wikipedia, Triangle at Investopedia.

Download the Ict Unicorn Indicator for MT4 and MT5

The zip holds the compiled Ict Unicorn Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

What makes a setup a unicorn rather than an ordinary order block?

The overlap. A breaker block alone is common and a fair value gap alone is common. The unicorn needs both in the same price band, so the code computes zoneHi as MathMin(obHi, fvgHi) and zoneLo as MathMax(obLo, fvgLo). Only where those two features genuinely intersect does a zone exist.

Why is InpMinGapPoints only 1.0?

Because the overlap requirement is doing the filtering, not the gap size. A loose threshold lets more gaps into the search, and the intersection test then discards almost all of them. On instruments with a different tick size, raise it: 1.0 points on gold is not a gap at all.

What does InpBreakerLook at 25 cover?

The window in which the code looks for the structure break that converts an order block into a breaker. Twenty-five bars is the widest of the three lookbacks, which is why it dominates the warmup calculation. Widen it on slower charts where the break and the retest sit further apart.

Why do I see so few Unicorn BUY arrows?

Because the setup is genuinely rare, which is where the name comes from. Three separate conditions have to line up on the same bars. On EURUSD H1 you might see a handful in a month. If arrows appear frequently, check whether `InpMinGapPoints` suits your instrument’s tick size.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Ict Unicorn Indicator as one input. Always backtest before trading live.

Category: this is part of our Smart Money collection. Also, browse more Smart Money for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment