ICT 2022 Mentorship Model indicator for NinjaTrader 8
It spots the ICT 2022 sequence on your chart: a liquidity sweep, a market structure shift (MSS) with displacement, then an entry in the Fair Value Gap. The stop goes beyond the sweep wick and the target is the opposite liquidity.
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
- Liquidity. It plots liquidity pools: swing highs and lows confirmed by pivot strength, equal highs and lows (EQH / EQL) grouped into one pool, and the previous day’s high and low (PDH / PDL).
- Sweep. Price trades a few ticks through a pool, then closes back on the other side within a few bars. If it does not come back in time, it is a breakout, not a sweep.
- MSS. After the sweep, price breaks the internal reference swing the other way with a displacement candle (body of at least 0.9 × ATR by default), confirmed on close.
- FVG. The Fair Value Gap left by the displacement becomes the entry zone: Proximal, CE (50%) or Distal. Without an FVG the setup is skipped, unless you allow the order block fallback.
- Trade. Stop beyond the sweep wick plus a buffer, target at the opposite liquidity or at a fixed R:R. Setups below the minimum R:R (2 by default) are skipped.
- Tracking. Labels and the dashboard show the state of each setup: waiting for the MSS or the FVG, armed, in position, won, lost or expired.
Default sessions and killzones
By default the indicator works around the clock: the session filter is off and sessions are only coloured in the background. Tick “Filter signals by session” to keep only sweeps that happen inside an active session.
| Session | Start | End | Status |
|---|---|---|---|
| London | 02:00 | 05:00 | on |
| NY AM | 07:00 | 10:00 | on |
| Silver Bullet | 10:00 | 11:00 | on |
| NY PM | 13:30 | 16:00 | on |
| Asia | 20:00 | 00:00 | on |
| Perso | 00:00 | 00:00 | off |
Markets and timeframes
- Any instrument loaded in NinjaTrader 8: index futures (ES, NQ…), energy, metals, forex. Minimum sizes combine a floor in ticks with an ATR multiple, so they stay consistent across markets.
- Any timeframe. The session filter has no effect on daily and higher charts.
- Calculated on every tick in real time. Historical Tick Replay is not required.
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. ICT 2022 Model
| Setting | Default | What it does |
|---|---|---|
| Swing strength (pivots) | 3 | Bars on each side required to confirm a swing high/low (liquidity pool). |
| MSS reference swing strength | 2 | Strength of the internal pivot used as the level to break for the market structure shift. |
| Reference swing lookback (bars) | 60 | Maximum lookback for the reference pivot before the sweep. |
| Min sweep beyond the level (ticks) | 1 | Ticks beyond the liquidity level required to count as a sweep. |
| Max bars raid -> valid sweep | 3 | If price does not close back below/above the level within this delay, it is a breakout, not a sweep. |
| Max bars sweep -> MSS | 25 | Maximum delay for the market structure shift after the sweep. |
| Allow MSS on the sweep bar | yes | Accepts a sweep and displacement on the same bar. |
| MSS requires a close | yes | Requires a close beyond the structure level (otherwise a wick is enough). |
| ATR period (displacement) | 14 | ATR period used to measure the strength of the displacement. |
| Min displacement (x ATR) | 0.9 | Body of the breaking candle as a multiple of ATR. 0 = filter off. |
| Require an FVG | yes | No FVG, no trade. When unchecked, falls back to the displacement order block. |
| FVG grace bars | 2 | Bars after the MSS during which the FVG may still print. |
| Min FVG size (ticks) | 1 | Absolute floor in ticks. The threshold applied is the larger of the two: this floor or the ATR multiple below. |
| Min FVG size (x ATR) | 0.05 | Makes the filter valid on every market: 0.05 = the FVG must be at least 5% of ATR. 0 = off. |
| Entry level in the FVG | CE | Proximal = first touch, CE = 50% (consequent encroachment), Distal = full fill. |
2. Trade Management
| Setting | Default | What it does |
|---|---|---|
| Target type | OppositeLiquidity | Opposing liquidity (draw on liquidity) or fixed R:R. |
| R:R fixe | 3.0 | Target as a multiple of the risk when fixed R:R is selected (or as a fallback). |
| R:R minimum | 2.0 | Setups below this ratio are ignored. |
| Stop buffer (ticks) | 2 | Absolute floor in ticks beyond the sweep wick. |
| Stop buffer (x ATR) | 0.05 | Volatility-relative buffer so the stop breathes the same way on every market. The larger of the two applies. |
| Armed setup lifetime (bars) | 30 | Beyond this, an untriggered setup expires. |
| Max bars in trade | 120 | The trade is closed for statistics after this many bars. |
| Allow longs | yes | |
| Allow shorts | yes |
3. Liquidity
| Setting | Default | What it does |
|---|---|---|
| Detect equal highs / lows (EQH/EQL) | yes | Merges near-identical swings into a single liquidity pool. |
| Equal level tolerance (ticks) | 4 | Absolute floor in ticks to merge two swings into one pool. |
| Equal level tolerance (x ATR) | 0.10 | Volatility-relative tolerance. The larger of the two applies. |
| Add PDH / PDL | yes | Adds the previous day's high and low (New York day) as liquidity pools. |
| Level memory (bars) | 500 | |
| History analysed (bars, 0 = all) | 0 | Limits the calculation to the last N bars to speed up loading. |
| One setup at a time per direction | yes | ON: while a setup is armed or in trade, new sweeps in the same direction are ignored. OFF: every valid setup is taken, even simultaneously. |
4. Time Sessions
| Setting | Default | What it does |
|---|---|---|
| Filter signals by session | no | OFF = the indicator runs 24/7 (default). ON = only sweeps inside an active session are kept. No effect on daily and above. |
| Show sessions on the chart | yes | Shades the background of active sessions, even when filtering is off. |
| Show session names | yes | |
| Time reference | NewYorkAuto | NewYorkAuto = the times below are New York times, converted automatically from the chart time zone. ChartTime = times read directly in the chart's displayed time. |
| Manual offset (hours) | 0 | Used only when Time reference = ManualOffset. |
5. Real Time
| Setting | Default | What it does |
|---|---|---|
| Calculate on every tick (real time) | yes | On by default: the chart updates on every tick with nothing to configure. Uncheck only to work on bar close. |
| Info message in the Output window | no | Reminds in the Output window which precision is used. Historical Tick Replay is enabled in F6 > Data Series; it is not required. |
6. Display
| Setting | Default | What it does |
|---|---|---|
| Liquidity levels | yes | |
| Sweep marker | yes | |
| MSS line | yes | |
| FVG / OB zone | yes | |
| Entry / stop / target | yes | |
| Labels | yes | |
| Dashboard | yes | |
| Setups kept on chart (0 = whole chart) | 50 | Number of setups kept on screen. 0 = all of them, across the whole loaded history. |
| Zone opacity (%) | 22 | |
| Session background opacity (%) | 7 |
7. Alerts
| Setting | Default | What it does |
|---|---|---|
| Alert on sweep | no | |
| Alert on MSS | no | |
| Alert on setup armed | yes | |
| Alert on entry | yes | |
| Sound file | Alert1.wav | File name from the NinjaTrader sounds folder. |
| Alert rearm (seconds) | 15 |
8. 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 |
17 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 - ICT 2022”.
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.
- Thresholds (pivot strength, displacement, FVG size) are configuration choices, not official ICT rules. Adjust them to your market and timeframe.
- On history without Tick Replay, the calculation uses bar data; in real time it runs on every tick.
- “Won” or “lost” results shown on screen refer to the loaded history. They say nothing about future results.
- No signal is guaranteed: false sweeps, MSS that go nowhere and ignored FVGs are part of the market.
Frequently asked questions
Is the ICT 2022 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 setups and can send alerts, but you make the decisions and place your own orders.
Do I need to enable Tick Replay?
No. It calculates on every tick in real time with no setup. Historical Tick Replay (F6 › Data Series) is still available if you want the same precision on history.
Which time zone are the killzones in?
New York time. With the “NewYorkAuto” reference, conversion from your chart’s time zone is automatic.
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