Free NinjaTrader 8 indicator

Market Maker Models (MMBM / MMSM) indicator for NinjaTrader 8

It reads the market as a curve, as a Buy Model or a Sell Model: price moves away from an original consolidation in steps down to a major liquidity grab, turns (Smart Money Reversal), then comes back through the same steps, mirror-fashion, to the origin.

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

Market Maker Buy and Sell Model indicator on a NinjaTrader chart
Platform
NinjaTrader 8
File
NinjaScript (.cs), readable source code
Calculation
On every tick (real time)
Price
Free
File updated on
8 October 2026

How the indicator works

  1. Original consolidation. A range of at least 15 bars whose bodies fit within 2 × ATR (default values). It is only confirmed when a bar breaks it: a break down sets up a Buy Model (MMBM), a break up a Sell Model (MMSM).
  2. Outbound leg in steps. The next consolidations, further and further from the origin, become the steps: re-distribution on a falling leg, re-accumulation on a rising leg. They form the ladder of future targets.
  3. Smart Money Reversal. At the end of the curve, price sweeps the last swing (strength 5) and closes back, then breaks structure with displacement (MSS). The reversal is only read if the curve is deep enough (at least 1 × the origin height) and has the minimum number of steps.
  4. Mirror return. The steps of the outbound leg become targets, ticked off from the nearest one back to the original consolidation.
  5. Invalidation. Before the reversal, a close beyond the middle of the origin cancels the model. After it, a close beyond the Smart Money Reversal extreme flags a failure.
  6. “Low risk” trade. Entry in the MSS Fair Value Gap (CE by default), stop beyond the extreme plus a buffer, target at the first mirror step, at the origin or at a fixed R.

Why the settings are ATR-based

ICT does not set a consolidation width, a number of steps or a perfect symmetry between the two legs. The indicator therefore requires no symmetry: widths, depths and buffers are ATR multiples, so the same settings make sense on an index, a commodity or a currency pair.

Markets and timeframes

  • Any instrument loaded in NinjaTrader 8, with ATR as the reference volatility (period 50 by default).
  • Any timeframe: a curve can last a few hours intraday or several weeks on a daily chart. The maximum length of each leg is set in bars.
  • Calculated on every tick in real time.

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. Consolidation and Curve

SettingDefaultWhat it does
ATR period50Reference volatility for every width and threshold (market independent).
Consolidation: minimum bars15Minimum number of bars for a range to be a consolidation.
Consolidation: max height (x ATR)2.0Maximum height of the range in ATR multiples.
Consolidation read on bodies (ICT)yesICT rule: a consolidation is framed by candle bodies; a wick may leave it without breaking it. Unchecked = read on wicks (high/low).
Min curve depth (x origin height)1.0Price must travel at least this multiple of the origin height before a reversal is read.
Min stages before the reversal1Interior consolidations required on the leg away (0 = V-shaped curve accepted).
Max stages6
Max leg away duration (bars)400
Max return leg duration (bars)600
Detect the Buy Model (MMBM)yes
Detect the Sell Model (MMSM)yes

2. Smart Money Reversal

SettingDefaultWhat it does
Swing strength (liquidity)5Bars on each side to confirm the swing that gets swept at the end of the curve.
MSS reference swing strength2
Min sweep beyond the level (ticks)1
Max bars raid -> valid sweep3
Max bars sweep -> MSS30
MSS requires a closeyes
Min displacement (x ATR)1.0Strength required from the breaking candle. 0 = off.

3. Trade at the Reversal

SettingDefaultWhat it does
Offer a low risk buy / sellyes
Require an FVGnoOtherwise falls back to the displacement order block.
FVG grace bars3
Min FVG size (x ATR)0.05
Entry levelCEProximal, CE (50%) or Distal.
TargetFirstMirrorFirstMirror = first mirrored stage, Origin = original consolidation, FixedRR.
R:R minimum1.5
Fixed R:R (fallback)2.0
Stop buffer (x ATR)0.10
Armed setup lifetime (bars)40
Max bars in trade300

4. Real Time

SettingDefaultWhat it does
Calculate on every tick (real time)yesOn by default: the chart updates on every tick.
History analysed (bars, 0 = all)0

5. Display

SettingDefaultWhat it does
Original consolidationyes
Stages (re-distribution / re-accumulation)yes
Mirrored return stagesyes
Delivery curveyes
Smart Money Reversal (SMR / MSS)yes
Mirror targetsyes
Entry / stop / targetyes
Labelsyes
Dashboardyes
All consolidations (grey)noAlso shows consolidations that did not produce a model.
Models kept on chart (0 = whole chart)30
Zone opacity (%)18

6. Alerts

SettingDefaultWhat it does
Alert on Smart Money Reversalyes
Alert on setup armedyes
Alert on entryyes
Alert on model completeno
Sound fileAlert2.wav
Alert rearm (seconds)15

7. Trading Evolution

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

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

Installing it 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 - MMBM / MMSM”.

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.
  • A curve is only recognised in hindsight: until the Smart Money Reversal is confirmed, the model is a hypothesis.
  • Thresholds (consolidation width, minimum depth, displacement) are configuration choices, not ICT canon.
  • Results shown on screen refer to the loaded history and say nothing about future results.

Frequently asked questions

What is the difference between MMBM and MMSM?

The Market Maker Buy Model (MMBM) steps down, then climbs back to the origin. The Market Maker Sell Model (MMSM) does the opposite: it steps up, then comes back down. The indicator detects both, and each one can be switched off.

Does the curve have to be symmetrical?

No. No symmetry is required: what matters is the original consolidation, the depth of the curve, the Smart Money Reversal and the steps to take back on the return.

Is the indicator free?

Yes, the indicator is free (free pack and free license). It needs NinjaTrader 8, third-party software with its own terms.

Does it place orders?

No. It draws the model, suggests an entry, a stop and a target, and can send alerts. The decisions stay yours.

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