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.

- 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
- 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).
- 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.
- 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.
- Mirror return. The steps of the outbound leg become targets, ticked off from the nearest one back to the original consolidation.
- 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.
- “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
| Setting | Default | What it does |
|---|---|---|
| ATR period | 50 | Reference volatility for every width and threshold (market independent). |
| Consolidation: minimum bars | 15 | Minimum number of bars for a range to be a consolidation. |
| Consolidation: max height (x ATR) | 2.0 | Maximum height of the range in ATR multiples. |
| Consolidation read on bodies (ICT) | yes | ICT 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.0 | Price must travel at least this multiple of the origin height before a reversal is read. |
| Min stages before the reversal | 1 | Interior consolidations required on the leg away (0 = V-shaped curve accepted). |
| Max stages | 6 | |
| 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
| Setting | Default | What it does |
|---|---|---|
| Swing strength (liquidity) | 5 | Bars on each side to confirm the swing that gets swept at the end of the curve. |
| MSS reference swing strength | 2 | |
| Min sweep beyond the level (ticks) | 1 | |
| Max bars raid -> valid sweep | 3 | |
| Max bars sweep -> MSS | 30 | |
| MSS requires a close | yes | |
| Min displacement (x ATR) | 1.0 | Strength required from the breaking candle. 0 = off. |
3. Trade at the Reversal
| Setting | Default | What it does |
|---|---|---|
| Offer a low risk buy / sell | yes | |
| Require an FVG | no | Otherwise falls back to the displacement order block. |
| FVG grace bars | 3 | |
| Min FVG size (x ATR) | 0.05 | |
| Entry level | CE | Proximal, CE (50%) or Distal. |
| Target | FirstMirror | FirstMirror = first mirrored stage, Origin = original consolidation, FixedRR. |
| R:R minimum | 1.5 | |
| Fixed R:R (fallback) | 2.0 | |
| Stop buffer (x ATR) | 0.10 | |
| Armed setup lifetime (bars) | 40 | |
| Max bars in trade | 300 |
4. Real Time
| Setting | Default | What it does |
|---|---|---|
| Calculate on every tick (real time) | yes | On by default: the chart updates on every tick. |
| History analysed (bars, 0 = all) | 0 |
5. Display
| Setting | Default | What it does |
|---|---|---|
| Original consolidation | yes | |
| Stages (re-distribution / re-accumulation) | yes | |
| Mirrored return stages | yes | |
| Delivery curve | yes | |
| Smart Money Reversal (SMR / MSS) | yes | |
| Mirror targets | yes | |
| Entry / stop / target | yes | |
| Labels | yes | |
| Dashboard | yes | |
| All consolidations (grey) | no | Also shows consolidations that did not produce a model. |
| Models kept on chart (0 = whole chart) | 30 | |
| Zone opacity (%) | 18 |
6. Alerts
| Setting | Default | What it does |
|---|---|---|
| Alert on Smart Money Reversal | yes | |
| Alert on setup armed | yes | |
| Alert on entry | yes | |
| Alert on model complete | no | |
| Sound file | Alert2.wav | |
| Alert rearm (seconds) | 15 |
7. Trading Evolution
| Setting | Default | What it does |
|---|---|---|
| Show logo | yes | |
| Show name | yes | |
| Logo position | TopLeft | |
| 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
- Download the free pack (ZIP file) that contains the indicator from the Free indicators section of the home page.
- In NinjaTrader 8, open Tools › Import › NinjaScript Add-On, choose the ZIP file, then restart NinjaTrader.
- Activate your free license: Control Center › New › Trading Evolution License, then save your key.
- 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