SMT Divergence ICT 01 Indicator: Two Symbols That Disagree

Written by Dominic Walsh · Published · Last updated

Smart Money Technique divergence compares two correlated instruments. EURUSD makes a higher high, GBPUSD does not, and one of them is lying. The smt divergence ict 01 indicator watches for exactly that disagreement across two symbols. It also has a sensible fallback. If the correlated feed is missing, it compares your chart against its own momentum instead.

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: SMT Bullish, SMT Bearish
Alerts popup, push notification, email, sound
Inputs 15

What the SMT Divergence ICT 01 Indicator draws on the chart

SMT Bullish places a dodger blue arrow below a swing low where the two symbols disagreed.

SMT Bearish places a red arrow above the swing high case.

Trend line objects connect the two swings involved, so you can see the divergence that produced the arrow.

Nothing is drawn for the correlated symbol itself, which is read in the background.

  • SMT Bullish: arrow, dodger blue, width 2, arrow code 233
  • SMT Bearish: arrow, red, width 2, arrow code 234
SMT divergence ICT 01 indicator on EURUSD H1 with cross-symbol divergence arrows and lines
SMT divergence ICT 01 indicator on EURUSD H1 with cross-symbol divergence arrows and lines

How the SMT Divergence ICT 01 Indicator calculates its values

Choosing what to compare against

useCorr takes iClose on the correlated symbol and checks it returns a value above zero. If it does, the tool reads that second feed. If not, cval falls back to MomAt, a momentum reading over `MomPeriod` on your own chart. Leave `CorrelatedSymbol` blank for auto mode. `AutoBase` then supplies `”GBPUSD”` plus your broker’s suffix.

Finding the swings

isHigh survives only while high[i] holds at or above every neighbour within `FractalHalf` bars on both sides. isLow does the mirror. At the default `3` that is a seven-bar window. Checking both flanks means a swing only confirms once the bars after it exist.

Testing the disagreement

primHH holds when high[i] beats the previous stored swing high. corrHH holds when the correlated reading beats its own stored value. A bearish signal needs one true and the other false. Your symbol made a higher high; the comparison did not. The code then stores prevSH, prevSHt and prevSHc for next time. `InvertCorrelation` flips the logic for negatively correlated pairs.

How to read the signals

The drawn line shows which two swings the tool compared. That is the fastest way to check an arrow.

A signal means the two instruments disagreed at a swing. Neither one has necessarily turned.

With the correlated feed missing, the tool does something else: single-symbol momentum divergence.

Confirmation waits for the fractal, so an arrow lands a few bars after the swing it marks.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

Four channels sit beneath `EnableAlerts`: popup through `EnablePopup`, push through `EnablePush`, email, and sound. Note that `EnableSound` ships `true` here alongside the popup, so you get an audible cue by default. The guard permits one message per closed bar.

Every SMT Divergence ICT 01 Indicator input

Core settings

Setting What it does Default
CorrelatedSymbol Correlated symbol (blank = auto). The symbol to compare against. Leave it blank for auto mode.
AutoBase Auto correlated base (+ suffix). The base used when the field above is blank, default `”GBPUSD”`. Your broker’s suffix is appended. GBPUSD
InvertCorrelation For negatively-correlated pairs. Off by default. Turn it on for a negatively correlated pair, such as EURUSD against USDCHF. off
FractalHalf Swing detection half-width (bars). Bars either side of a swing, default `3`. Raise it for fewer, larger swings. 3
MomPeriod Momentum period (fallback mode). Momentum lookback, used only in fallback mode, default `14`. 14

Display settings

Setting What it does Default
ArrowGapPips Arrow offset from bar (pips). 1.5
DrawDivLines Draw divergence trend lines. Draws the connecting lines. Set it `false` for arrows alone. on
BullColor (see inputs panel) dodger blue
BearColor (see inputs panel) red

Alert settings

Setting What it does Default
EnableAlerts Master alert switch. on
EnablePopup Popup alert. on
EnablePush Push notification. off
EnableEmail Email alert. off
EnableSound Sound alert. on
SoundFile (see inputs panel) alert.wav
SMT divergence ICT 01 indicator inputs: AutoBase, InvertCorrelation and FractalHalf
SMT divergence ICT 01 indicator inputs: AutoBase, InvertCorrelation and FractalHalf

Settings that fit your chart

SMT needs genuinely correlated instruments. That is why EURUSD against GBPUSD is the default pairing. EURUSD H1 is the reference chart. The technique also suits index futures against each other, or gold against silver. Set the comparison symbol yourself for those. It says least on instruments with no reliable correlate at all.

When the SMT Divergence ICT 01 Indicator fails

Correlation is not constant. Two pairs can track each other for months, then decouple for weeks. Every signal in that stretch is noise.

The momentum fallback is a different technique wearing the same arrows. A signal means one thing with the feed loaded and another without it.

Your Market Watch must carry the correlated symbol with the right suffix. Otherwise the tool runs in fallback mode without saying so.

Copy the compiled SMT Divergence ICT 01 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.

Background reading on the method behind the SMT Divergence ICT 01 Indicator: Stock market equivalence on Wikipedia, Onbalancevolume at Investopedia.

Download the SMT Divergence ICT 01 Indicator for MT4 and MT5

The zip holds the compiled SMT Divergence ICT 01 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 happens when CorrelatedSymbol cannot be found?

The tool falls back to momentum divergence on one symbol. useCorr checks whether iClose on the comparison symbol returns a usable value. When it does not, cval comes from MomAt over `MomPeriod` on your own chart. That is a different technique, so check your Market Watch if you expect true SMT.

How do I set AutoBase for my broker’s symbol names?

`AutoBase` holds the base name, `”GBPUSD”` by default, and the code appends your broker’s suffix. If your platform uses GBPUSD.pro or GBPUSDm, that should attach correctly. When it does not, type the full symbol into `CorrelatedSymbol` and leave the auto field alone.

When should InvertCorrelation be turned on?

For pairs that move against each other. EURUSD and USDCHF are the classic case. A higher high on one usually meets a lower low on the other. Without inverting, every normal bar would look like a divergence. Leave it off for positively correlated pairs.

What does FractalHalf at 3 require of a swing?

That the candidate’s high sits at or above every high within three bars on each side, a seven-bar window. The code checks both flanks, so the swing confirms three bars after it formed. Raise it for fewer, larger swings and a longer wait.

Are results guaranteed?

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

Category: this is part of our Smart Money collection. 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