Feature guide · 6 min read
SMT
Compares swing pivots on your chart symbol against the same pivots on a reference symbol. When one makes a new extreme and the other does not, that is a divergence.
- Settings toggle
- Enable SMT (Smart Money Tech)
- NinjaTrader 8 name
- ToredaSMT
- Ships enabled
- No
What it does
The indicator adds one or two reference instruments (Symbol A, Symbol B) at the chart's own bar period, tracks confirmed swing pivots on the chart symbol, and on every bar compares the newest pivot against older same-direction pivots.
If the chart made a higher high (or a lower low) but a reference symbol failed to, that is a divergence. Correlated instruments normally move together — the moment they stop agreeing about a new extreme is the moment worth flagging.
How a divergence resolves
Divergences are drawn as link lines between the two pivots and then tracked until they resolve one of two ways:
Validated
Price closes through the intermediate pivot — the level that confirms the idea. Published as `BullValidated` / `BearValidated`.
Invalidated
The older anchor is taken out, which kills the setup. With Hide Invalidated on, its drawings are removed from the chart.
Inputs
| Input | Default | Meaning |
|---|---|---|
| Sensitivity | High | Pivot strength — bars required on each side of a swing: Abysmal 72, Low 32, Med 12, High 6, Insane 2. Lower numbers give more, earlier pivots. |
| Memory Buffer (pivots) | 12 | How many recent pivots are kept for comparison. |
| Hide Invalidated | On | Remove a divergence's drawings once it invalidates. |
| Use Symbol A / Symbol A | On / ES ##-## | First reference instrument. |
| Use Symbol B / Symbol B | Off / YM ##-## | Optional second reference instrument. |
| Show Detection (debug pivots) | Off | Dots and index numbers at every tracked pivot. |
| Draw Visuals | On | Master drawing switch. |
Style inputs
| Input | Default | Meaning |
|---|---|---|
| Up Link / Down Link Color | #8FADFF / #FFFFFF | Link-line colors for bullish and bearish divergences. |
| Link Width / Link Style | 1 / Solid | Link-line styling. |
| Show Labels | On | Reference-symbol label on each link. |
Set Symbol A (and B) to real contracts
`ES ##-##` and `YM ##-##` are placeholders, not working defaults. Enter the actual contract names as NinjaTrader knows them — `ES 12-26`, `YM 12-26`. A symbol NT8 cannot load leaves the indicator with no reference series and therefore no divergences at all.
Adding it to a chart
- Right-click the chart → Indicators… → find ToredaSMT, click Add, set the inputs, click OK.
- Color inputs shown as #RRGGBB are typed as hex text, e.g. `#6FA8DC`. An invalid value falls back to a default and prints a note in the NinjaScript Output window rather than failing the indicator.
- The reference symbols must be instruments your data feed provides, on the same session template as the chart symbol — e.g. ES, NQ and YM together.
Notes and limitations
- Reference bars are matched to chart bars by position, not timestamp. If the reference instrument is missing a bar the chart has — a data hole, or a session only one of them trades — comparisons older than that hole are skewed by one bar. Correlated index futures on the same session template do not normally diverge this way.
- Drawings older than 1000 bars are pruned to keep the chart responsive.
- When hosted by a strategy, the strategy must be in `State.Configure` when the indicator is created so the reference series can attach. The shipped strategies already do this.
For strategy builders
NinjaTrader 8 only
Every plot is registered transparent, so it changes nothing on a chart until you color it in the indicator dialog. Levels are NaN when there is no value — never 0, which would compare as a real price — and flags are 1/0.
| Plot | Meaning |
|---|---|
| BullDivergence / BearDivergence | 1 on the bar a confirmed divergence is pushed. |
| BullInvalidated / BearInvalidated | 1 on the bar a live link is invalidated. Events, because the change is a link leaving the unresolved set — visible otherwise only as the level plots going NaN, which the Builder cannot test for. |
| BullValidated / BearValidated | 1 on the bar a live link is validated. |
| BullStopLevel / BearStopLevel | The newest unresolved link's invalidation anchor — the level whose breach kills the setup. NaN when no link is live. |
| BullTargetLevel / BearTargetLevel | That link's validation anchor — the level that confirms it. |
This content is for educational purposes only and is not financial advice. Trading involves substantial risk of loss. See our risk disclosure for details.