ICT Power of 3 (AMD) indicator for NinjaTrader 8
The algorithmic structure of the day anchored on the New York midnight open: Accumulation (the Asian range), Manipulation (the Judas swing beyond the open, confirmed before 05:00) and Distribution (the real move, with an entry on the displacement FVG and targets on the opposing 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
- /outils/calculateur-position-futures,Futures position size calculator,How many contracts for a given risk, with each contract’s tick value.
- Price
- Free
- File updated on
- 8 October 2026
How the indicator works
- Three models. IctMidnight (default): 00:00 open, accumulation 20:00-00:00, manipulation 00:00-05:00. NewYorkOpen: intraday PO3 of the New York session (09:30 open, Judas 09:30-10:00). Custom: your own times.
- Manipulation. A run beyond the open of at least 1 × ATR and 10% of the previous day range (or a sweep of the Asian range, depending on the setting), then a structure shift with displacement (0.8 × ATR) and a close back through the open before the window ends.
- Distribution. Entry in the middle of the FVG left by the structure shift (the open as fallback), stop beyond the Judas extreme, target on the Asian range or the previous day high / low with an R:R of at least 2. No new entry after 11:00; open trades are closed at 16:00.
- Display. Background shaded by phase (A / M / D), open of the day, Asian range, projections at 1, 2 and 2.5 times the Judas, and live PO3 daily candles drawn to the right of price.
- Alerts. Day bias confirmed, setup armed, entry; optionally the Judas swing.
Markets and timeframes
- Any instrument loaded in NinjaTrader 8: index futures (ES, NQ…), energy, metals, forex. Thresholds combine a floor in ticks with an ATR multiple, so they stay consistent from one market to the next.
- Times are New York time. With the “NewYorkAuto” reference, the conversion from your chart time zone and daylight saving are handled automatically.
- Calculated on every tick in real time; by default the whole loaded history is analysed.
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. Day Structure (New York Time)
| Setting | Default | What it does |
|---|---|---|
| Model | IctMidnight | IctMidnight = ICT Power of 3 of the day (00:00 open, Asia 20:00-00:00, Judas 00:00-05:00). NewYorkOpen = intraday PO3 of the New York session (09:30 open, Judas 09:30-10:00). Custom = the times below. |
| Custom: day open (HHMM) | 0 | ICT: the New York midnight open (0) is the reference price of the day. |
| Custom: accumulation start (HHMM) | 2000 | Asian range. 2000 = 20:00. |
| Custom: accumulation end (HHMM) | 0 | An end earlier than the start wraps past midnight (2000 -> 0). |
| Custom: manipulation start (HHMM) | 0 | |
| Custom: manipulation end (HHMM) | 500 | ICT: a price that holds beyond the open through this time is a real breakout, not a Judas swing. |
| Custom: entry deadline (HHMM) | 1100 | No new entry after this time. |
| Custom: distribution end (HHMM) | 1600 | End of the trading day: open trades are closed here. |
| Time reference | NewYorkAuto | NewYorkAuto = New York times (daylight saving handled), converted from the chart time zone. |
| Manual offset (hours) | 0 |
2. Judas Swing
| Setting | Default | What it does |
|---|---|---|
| Judas reference | MidnightOpen | MidnightOpen (ICT) = run beyond the open of the day. AsianRange = sweep of the Asian high / low. Either = whichever comes first. |
| Min run beyond the open (x ATR) | 1.0 | |
| Min run beyond the open (% prev. day range) | 10 | Timeframe independent floor: 10 = the false move must reach 10% of yesterday's range. |
| Min sweep of the Asian range (ticks) | 1 | |
| MSS swing strength | 2 | Strength of the swing the market structure shift must break. |
| MSS requires a close | yes | |
| ATR period | 14 | |
| Min displacement (x ATR) | 0.8 | Body required from the candle that shifts structure. 0 = off. |
| Require a close back through the open | yes | ICT: the Judas swing must return through the open before the end of the manipulation window. |
3. Trade (Distribution)
| Setting | Default | What it does |
|---|---|---|
| Offer trades | yes | |
| Allow longs | yes | |
| Allow shorts | yes | |
| Entry | DisplacementFvg | DisplacementFvg (ICT) = middle of the FVG left by the shift, the open as fallback. TrueDayOpen = at the open. ConfirmationClose = at the close of the confirming bar. |
| FVG grace bars | 3 | Bars to wait for the FVG after the confirmation before using the open. |
| Min FVG size (ticks) | 1 | |
| Min FVG size (x ATR) | 0.05 | |
| Stop buffer beyond the Judas (ticks) | 2 | |
| Stop buffer beyond the Judas (x ATR) | 0.05 | |
| Target | Liquidity | Liquidity = Asian range or previous day high / low. Projection = multiples of the Judas swing. FixedRR = multiple of the risk. |
| Min distance to target (ticks) | 8 | |
| Min distance to target (x ATR) | 1.5 | |
| Min R:R | 2.0 | |
| Fixed R:R | 2.0 | |
| Fall back to fixed R:R | yes | |
| Projection 1 (x Judas swing) | 1.0 | Levels projected from the open in the bias direction, as multiples of the Judas swing (open to extreme). |
| Projection 2 (x Judas swing) | 2.0 | |
| Projection 3 (x Judas swing) | 2.5 |
4. Real Time
| Setting | Default | What it does |
|---|---|---|
| Calculate on every tick (real time) | yes | |
| History analysed (bars, 0 = all) | 0 |
5. Display
| Setting | Default | What it does |
|---|---|---|
| Phase background (A / M / D) | yes | |
| Phase names | yes | |
| Phase background opacity (%) | 8 | |
| Open of the day | yes | |
| Accumulation (Asian range) | yes | |
| Previous day high / low | yes | |
| Judas swing and MSS | yes | |
| Projections | yes | |
| Entry / stop / target | yes | |
| Labels | yes | |
| Dashboard | yes | |
| Live PO3 day candles | yes | The last day candles drawn to the right of price, the current one updating live. Widen the chart's right margin to give them room. |
| PO3 candles shown | 4 | |
| PO3 candle width (px) | 14 | |
| PO3 candles offset (px) | 40 | Distance from the last bar. |
| Days kept on chart (0 = all) | 20 | |
| Zone opacity (%) | 20 |
6. Alerts
| Setting | Default | What it does |
|---|---|---|
| Alert on Judas swing | no | |
| Alert on day bias confirmed | yes | |
| Alert on setup armed | yes | |
| Alert on entry | yes | |
| Alert on target / stop | no | |
| Sound file | Alert4.wav | File name from the NinjaTrader sounds folder (or a full path). Empty = silent. |
| 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 |
13 colours you can customise in NinjaTrader's Colours tab.
Installation 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 - Power of 3”.
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 and manages no positions.
- Thresholds (swing strength, displacement, FVG size, minimum R:R) are setting choices, not official ICT rules. Adjust them to your market and timeframe.
- The “won” or “lost” trades shown refer to the loaded history. They say nothing about future results.
- No signal is guaranteed: futures trading involves a risk of losing capital.
Frequently asked questions
Is the indicator free?
Yes, the indicator is free (free pack and free license), with no subscription. It requires NinjaTrader 8, third-party software with its own terms of use.
Does it place orders?
No. It draws the setups and can play sound alerts, but you decide and you place your own orders.
Why the New York midnight open?
In the ICT model the midnight open is the reference price of the day: the Judas swing runs the wrong way from it, then distribution runs the other way.
Can I use it on the New York session only?
Yes, with the NewYorkOpen model: 09:30 open and a Judas between 09:30 and 10:00.
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