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
- 21 September 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.
Settings
Values read directly from the indicator's source code. NinjaTrader shows the setting labels in French, so each one is given with its English meaning.
1. Consolidation and curve
| Setting | Default | What it does |
|---|---|---|
| ATR periodPeriode ATR | 50 | Reference volatility for every width and threshold (market-independent). |
| Consolidation: minimum barsConsolidation : bougies minimum | 15 | Minimum number of bars for a range to count as a consolidation. |
| Consolidation: max width (× ATR)Consolidation : largeur max (x ATR) | 2.0 | Maximum range height as a multiple of ATR. |
| Consolidation read on candle bodies (ICT)Consolidation lue sur les corps (ICT) | yes | ICT rule: a consolidation is bounded by candle bodies, so a wick can poke out without breaking it. Unchecked = read on wicks (high/low). |
| Minimum curve depth (× origin height)Profondeur mini de la courbe (x hauteur origine) | 1.0 | Price must travel at least this multiple of the origin height before a reversal is read. |
| Minimum steps before the reversalPaliers minimum avant le reversal | 1 | Number of interior consolidations required on the outbound leg (0 = V-shaped curve accepted). |
| Maximum stepsPaliers maximum | 6 | |
| Max outbound leg length (bars)Duree max de la jambe aller (bougies) | 400 | |
| Max return leg length (bars)Duree max de la jambe retour (bougies) | 600 | |
| Detect the Buy Model (MMBM)Detecter le Buy Model (MMBM) | yes | |
| Detect the Sell Model (MMSM)Detecter le Sell Model (MMSM) | yes |
2. Smart Money Reversal
| Setting | Default | What it does |
|---|---|---|
| Swing strength (liquidity)Force des swings (liquidite) | 5 | Bars on each side to confirm the swing that gets swept at the end of the curve. |
| MSS reference swing strengthForce du swing de reference MSS | 2 | |
| Minimum sweep overshoot (ticks)Depassement mini du sweep (ticks) | 1 | |
| Max bars from raid to valid sweepBougies max raid -> sweep valide | 3 | |
| Max bars from sweep to MSSBougies max sweep -> MSS | 30 | |
| MSS confirmed on closeMSS valide sur cloture | yes | |
| Minimum displacement (× ATR)Displacement mini (x ATR) | 1.0 | Required strength of the break candle. 0 = off. |
3. Trade at the reversal
| Setting | Default | What it does |
|---|---|---|
| Suggest a low-risk buy / sellProposer un low risk buy / sell | yes | |
| Require an FVGExiger un FVG | no | Otherwise it falls back to the displacement order block. |
| FVG grace barsBougies de grace pour le FVG | 3 | |
| Minimum FVG size (× ATR)Taille mini du FVG (x ATR) | 0.05 | |
| Entry levelNiveau d'entree | CE | Proximal, CE (50%) or Distal. |
| TargetObjectif | FirstMirror | FirstMirror = first mirror step, Origin = original consolidation, FixedRR. |
| Minimum R:RR:R minimum | 1.5 | |
| Fixed R:R (fallback)R:R fixe (repli) | 2.0 | |
| Stop buffer (× ATR)Marge du stop (x ATR) | 0.10 | |
| Armed setup lifetime (bars)Duree de vie du setup arme (bougies) | 40 | |
| Max time in position (bars)Duree max en position (bougies) | 300 |
4. Real time
| Setting | Default | What it does |
|---|---|---|
| Calculate on each tick (real time)Calcul sur chaque tick (temps reel) | yes | On by default: the chart updates on every tick. |
| Bars analysed (0 = all)Historique analyse (bougies, 0 = tout) | 0 |
5. Display
| Setting | Default | What it does |
|---|---|---|
| Original consolidationConsolidation d'origine | yes | |
| Steps (re-distribution / re-accumulation)Paliers (re-distribution / re-accumulation) | yes | |
| Mirror steps on the return legPaliers miroir du retour | yes | |
| Delivery curveCourbe de livraison | yes | |
| Smart Money Reversal (SMR / MSS)Smart Money Reversal (SMR / MSS) | yes | |
| Mirror targetsCibles miroir | yes | |
| Entry / stop / targetEntree / stop / objectif | yes | |
| LabelsEtiquettes | yes | |
| DashboardTableau de bord | yes | |
| All consolidations (grey)Toutes les consolidations (gris) | no | Also shows consolidations that did not produce a model. |
| Models displayed (0 = whole chart)Modeles affiches (0 = tout le graphique) | 30 | |
| Zone opacity (%)Opacite des zones (%) | 18 |
6. Alerts
| Setting | Default | What it does |
|---|---|---|
| Smart Money Reversal alertAlerte Smart Money Reversal | yes | |
| Armed setup alertAlerte setup arme | yes | |
| Entry triggered alertAlerte entree declenchee | yes | |
| Model complete alertAlerte modele complet | no | |
| Sound fileFichier son | Alert2.wav | |
| Alert re-arm delay (s)Rearmement des alertes (s) | 15 |
7. Trading Evolution
| Setting | Default | What it does |
|---|---|---|
| Show logoAfficher le logo | yes | |
| Show nameAfficher le nom | yes | |
| Logo positionPosition du logo | TopLeft | |
| Logo size (px)Taille du logo (px) | 54 | |
| Logo opacity (%)Opacite du logo (%) | 55 | |
| Diagnostic mode (Output)Mode diagnostic (Output) | no |
11 colours you can customise in NinjaTrader's Colours tab.
Installing it in NinjaTrader 8
- Download the .cs file from the Free indicators section of the home page.
- Copy it into the
Documents\NinjaTrader 8\bin\Custom\Indicatorsfolder. - In NinjaTrader, open the NinjaScript Editor (New › NinjaScript Editor) and compile with F5.
- On a chart, open the indicator list (right-click › Indicators) and add “TRADING EVOLUTION - MMBM / MMSM”.
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 .cs file is free. 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
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