Free NinjaTrader 8 indicator

SMT Divergence indicator for NinjaTrader 8

It compares the chart instrument with a correlated market (NQ and ES, EURUSD and GBPUSD, or an inverse pair such as EURUSD and DXY). At a shared swing or the previous day high / low, one market takes the liquidity while the other fails: that is the SMT divergence. The indicator then waits for a market structure shift before offering an entry.

The download takes two steps, from the “Free indicators” section of the home page.

SMT Divergence indicator on a NinjaTrader 8 chart
Platform
NinjaTrader 8
File
NinjaScript (.cs), readable source code
Calculation
/outils/calculateur-position-futures,Futures position size calculator,How many contracts for a given risk, with each contract’s tick value.
Price
Free
File updated on
8 October 2026

How the indicator works

  1. Comparison market. Left empty, the partner is picked automatically (NQ↔ES, MNQ↔MES, YM and RTY→ES, 6E↔6B, GC↔SI, EURUSD↔GBPUSD, AUDUSD↔NZDUSD…). You can also type any instrument. With inverse correlation (EURUSD and DXY), the second market is flipped before the comparison.
  2. Divergence. On swings and the previous day high / low: bearish SMT when one market makes a higher high and the other a lower high; bullish SMT when one makes a lower low and the other a higher low. Swings of both markets within 2 bars are treated as the same swing.
  3. Confirmation. By default the sweeping market must stop extending for 2 bars (SwingTop); you can also require a close back through the level (CloseBack), or the first of both.
  4. Trade. After a confirmed SMT: a structure shift on the chart instrument with displacement (0.8 × ATR by default), entry in the middle of the displacement FVG, stop beyond the SMT extreme, target on the opposing liquidity that pays at least 2 R.
  5. Display. The comparison market can be drawn over price, scaled to the visible range, so the divergence is visible at a glance. Alerts on confirmed SMT and on entry.

Markets and timeframes

  • Two instruments in NinjaTrader 8: the chart instrument and the comparison market, which the indicator loads itself. A futures root alone takes the chart’s contract month.
  • By default the indicator works around the clock. Tick “Confirm only inside killzones” to keep only divergences confirmed inside the enabled New York killzones.
  • Calculated on every tick in real time; by default the whole loaded history is analysed.

Requirements

  • NinjaTrader 8, a desktop platform for Windows. The indicator is free; NinjaTrader is third-party software with its own terms, and it may cost money depending on how you use it (licence, live trading).
  • Data. The chart bars are enough: no Tick Replay or market depth needed. Your connection’s data may cost money depending on the exchange and the subscription.

Settings

Each setting is named exactly as NinjaTrader shows it, with its default value read directly from the source code (.cs).

1. Comparison

SettingDefaultWhat it does
Comparison instrumentEmpty = automatic partner (NQ<->ES, MNQ<->MES, YM/RTY->ES, 6E<->6B, GC<->SI, EURUSD<->GBPUSD, AUDUSD<->NZDUSD...). Or type any instrument, e.g. ES 12-26, GBPUSD, DX 12-26. A futures root alone takes the chart's contract month.
CorrelationPositivePositive (NQ/ES, EURUSD/GBPUSD) or Inverse (EURUSD/DXY): the inverse market is flipped before the comparison.
Correlation check (bars)100

2. SMT Detection

SettingDefaultWhat it does
Swing strength3Bars on each side of a swing high / low (strict on the left: equal highs stay liquidity).
Sync window (bars)2Swings of both markets within this many bars are the same swing; a market that takes the level within this window is not divergent.
Reference lookback (bars)120
Swing highs / lowsyes
Previous day high / lowyes
Min sweep (ticks)1
ConfirmationSwingTopSwingTop = the sweeping market stops extending for the confirmation bars. CloseBack = it closes back through the level. Either = the first of both.
Confirmation bars2
Max bars forming20

3. Trade

SettingDefaultWhat it does
Offer tradesyesAfter a confirmed SMT: market structure shift on the chart instrument, then entry.
Allow longsyes
Allow shortsyes
Bars allowed for the MSS30
Min displacement (x ATR)0.8Body of the candle that shifts structure. 0 = off.
ATR period14
EntryFvgCeFvgCe = middle of the FVG left by the displacement (the shift close when there is none). MssClose = at the close of the shift candle.
Min FVG size (ticks)1
Min FVG size (x ATR)0.05
Bars allowed to fill the FVG20
Stop buffer beyond the SMT extreme (ticks)2
Stop buffer beyond the SMT extreme (x ATR)0.1
TargetOppositeLiquidityOppositeLiquidity = nearest untouched swing or previous day level on the other side that pays the minimum R:R. FixedRR = multiple of the risk.
Min distance to target (ticks)8
Min distance to target (x ATR)1.0
Min R:R2.0
Fixed R:R2.0
Fall back to fixed R:Ryes

4. Killzones (New York Time)

SettingDefaultWhat it does
Confirm only inside killzonesnoOff (default) = the indicator works around the clock. On = divergences only confirm inside the enabled killzones.
Londonyes
London start (HHMM)200
London end (HHMM)500
New York AMyes
New York AM start (HHMM)700
New York AM end (HHMM)1000
New York PMyes
New York PM start (HHMM)1330
New York PM end (HHMM)1600
Asiano
Asia start (HHMM)2000
Asia end (HHMM)0An end earlier than the start wraps past midnight.
Time referenceNewYorkAutoNewYorkAuto = New York times (daylight saving handled), converted from the chart time zone.
Manual offset (hours)0

5. Real Time

SettingDefaultWhat it does
Calculate on every tick (real time)yes
History analysed (bars, 0 = all)0

6. Display

SettingDefaultWhat it does
Comparison overlayyesThe comparison market drawn over price, scaled to the visible range.
Overlay opacity (%)70
SMT signalsyes
Keep invalidated / expired SMTno
MSS level while waitingyes
Entry / stop / targetyes
Labelsyes
Dashboardyes
Signals kept on chart (0 = all)20
Zone opacity (%)20

7. Alerts

SettingDefaultWhat it does
Alert on SMT formingno
Alert on SMT confirmedyes
Alert on entryyes
Alert on target / stopno
Sound fileAlert4.wavFile name from the NinjaTrader sounds folder (or a full path). Empty = silent.
Alert rearm (seconds)15

8. Trading Evolution

SettingDefaultWhat it does
Show logoyes
Show nameyes
Logo positionTopLeft
Logo size (px)54
Logo opacity (%)55
Diagnostic mode (Output window)no

7 colours you can customise in NinjaTrader's Colours tab.

Installation in NinjaTrader 8

  1. Download the free pack (ZIP file) that contains the indicator from the Free indicators section of the home page.
  2. In NinjaTrader 8, open Tools › Import › NinjaScript Add-On, choose the ZIP file, then restart NinjaTrader.
  3. Activate your free license: Control Center › New › Trading Evolution License, then save your key.
  4. On a chart, open the indicator list (right-click › Indicators) and add “TRADING EVOLUTION - SMT Divergence”.

Common problems and fixes

  • Nothing shows. Load enough history (several days intraday): the model needs swings and complete sessions to detect a setup.
  • The indicator is not in the list. Check that the pack import (Tools › Import › NinjaScript Add-On) finished without an error, then restart NinjaTrader. NinjaTrader compiles every script together: an error in another installed script can block the import, so fix or remove that script. If the tool shows a license message, save your free key in Control Center › New › Trading Evolution License.
  • “Already contains a definition” error. An older copy of the same indicator exists under another file name: delete it, then compile again.

Limitations

  • It is an indicator, not an automated strategy: it sends no orders and manages no positions.
  • Thresholds (swing strength, displacement, FVG size, minimum R:R) are setting choices, not official ICT rules. Adjust them to your market and timeframe.
  • The “won” or “lost” trades shown refer to the loaded history. They say nothing about future results.
  • No signal is guaranteed: futures trading involves a risk of losing capital.

Frequently asked questions

Is the indicator free?

Yes, the indicator is free (free pack and free license), with no subscription. It requires NinjaTrader 8, third-party software with its own terms of use.

Does it place orders?

No. It draws the setups and can play sound alerts, but you decide and you place your own orders.

Which comparison market should I use?

Leave the field empty for the automatic partner (for example ES for NQ, GBPUSD for EURUSD). For an inverse pair such as EURUSD and DXY, type the instrument and pick Inverse correlation.

Do I need to open the second market on another chart?

No. The indicator loads the comparison market’s series itself and can draw it over price.

Related concepts and tools

Other free NinjaTrader 8 indicators

Related articles

Educational content. These indicators are not investment advice and guarantee no result. Futures trading involves a risk of loss that can exceed the initial investment. Terms of use · Disclaimers