ICT Concepts Indicator[Advanced]

NinjaTrader 8 Indicator Published 06 October 2024 - Updated on 22 November 2024
PREMIUM

We highly recommend joining our discord community by following this invite link discord-invitation

Description

The ICT Concepts Indicator[Advanced] is a premium NinjaTrader 8 indicator which displays key concepts of the ICT trading methodology and style. Those key concepts are the following:

  • Change of strucutre (or Change of Character or Market Structure Shift) that indicates that the trend might change
  • Break of Strucutre (or Market Structure Break) that indicates a continuation of the trend
  • Faire Value Gaps which represent displacements of price and are defined as instances of inefficiencies or imbalances visualized by three consecutive candles containing one large middle candle whose bordering candles' upper and lower wicks do not overlap.
  • Order Blocks which represent crucial support and resistance levels derived from aggresive price movement, and that can be used as entry or exit levels
  • Immediate Rebalances which represents price regions that represent No Inefficiencies nor Imbalances and no gap that the price need to return to.
  • NWOG (New Week Opening Gap) which is the price gap between Friday's closing price and Sunday's opening price
  • NDOG (New Day Opening Gap) which is the price gap between yesterday's closing price and Today's opening price
  • Interactively control and manipulate the ICT zones on the chart
  • Multi-Timeframe capabilities
  • New Features are planned to be added contineously

Examples
Change of Character (Market Structure Shift) and Break of Structure
ict-market-structure
Click to enlarge

The market structure features of the indicator allows to draw the market structure shifts and break of structures. Market structure shifts are price breakouts indicating a probability of price changing dirction. On the other hand, Break of structure are price breakouts indicating a trend direction continuation. Those market structure events are building blocks of the ICT methodology and can be used as bias determinants and filters to go long or short.

Run Market Structure analysis on Higher Timeframe
ict-market-structure-htf
Click to enlarge

The indicator can be run on a higher timeframe to allow top-down analysis. In the above example you can see the indicator overlaying higher timeframe candles (30 Minutes) on top of the active chart candles (5 Minutes), and detecting a BOS (Break of structure) on the higher timeframe leading to a huge move upwards few minutes later. The BOS is detected on the candle where the Red arrow is drawn on the image

Fair Value Gaps
ict-fvg
Click to enlarge

In this example, the indicator detects several Fair Value Gaps on the MES instrument on a 5 Minutes Timeframe. Coupled with MSS and MSB, FVGs can be a very good signal to enter a trade.

In this example, bullish FVGs are drawn in green, and bearish FVGs are drawn in red. Their drawing is stopped when they are mitigated.

Several entry setups are illustrated on the image above. The first one at 09:00, we can see a clear rejection of price after the bullish FVG been retested. This can be considered as an oppurtuniy to go long with a stoploss set at the swing low of the rejection candle

The second entry setup example is illustrated with the 3 touch points on the bullish FVG zone followe by a clear ChoCh price breakout and a new FVG formation. This can be used to enter long and a stoploss set below the first FVG lower level

The third example is very similar to the first one, a clear rebound on the FVG zone. The possibilities of using FVG zones to enter are infinite. And the more you use other ICT confluences to confirm your entry setups the more you end up with profitable trades

FVG analysis and detection can be run on higher timeframe if the Run on Higher Timeframe option is enabled, and the good part is that you can add multiple instances of the indicator on the same chart with different timeframes for an advanced multi-timeframe top-down analysis

Order Blocks

Order Blocks are defined as zones created from the last high swing candle (for bearish) or the last low swing candle (for bullish) before a Market Structure Shift or a Break of Structure. Add to this some other rules:

  • The candle defining the Order Block should be followed by an FVG
  • The Order Block zone should not be mitigated before the breakout creating the Market Structure event
ict-orderblock-bearish
Click to enlarge

As you can see on the example above, the order bearish block created a FVG right after the candle the defines the Order Block zone. This is the first condition for and order Block to be valid. Then, the order block should not be mitigated by the price until the ChoCh at around 19h00 is created. Order Blocks are traded when the price revisits them, on that example one could enter a short trade when the price mitigated the order block zone and went back down

ict-orderblock-bullish
Click to enlarge

On this example you can also see a trade setup when the price mitigates the bullish order block, setting the stoploss on the lower level of the orderblock and targeting 1:1 win loss ratio

Immediate Rebalances
ict-immediate-rebalance
Click to enlarge

Immediate rebalances, a concept taught by ICT, hold significant importance in decision-making. To comprehend the concept of immediate rebalance, it's essential to grasp the notion of the fair value gap. A fair value gap arises from market inefficiencies or imbalances, whereas an immediate rebalance leaves no gap, no inefficiencies, or no imbalances that the price would need to return to.

An immediate Rebalance can be successful when the price mark a continuation in the drection of the IR. And it can be a failed IR when the price immediately reverses and goes back into the opposite direction of the IR.

Both successful and failing IR can hold significance in trading when analyzed within the context with other ICT items

On the example above we have the chart on 5 minutes on the MES. Running the indicator on a higher timeframe 15 Minutes. You can see the higher timeframe candles been overlayed which is a cool useful feature. Then we can see the first IR marked as "Fail" with red. The IR is marked fail because the price immediately pulleback lower and broke the IR level, this can mark a strong reversal. This can be a bearish bias and one can look further to ICT triggers to go short

The second example on the right, shows an IR that hold the price above it for multiple swing points and ultimately the price went higher which consists a bullish bias.

NDOG (New Day Opening Gap)
ict-ndog
Click to enlarge

The New Day Opening Gap (NDOG) is defined by (ICT) as the separation in time/price that is caused by the 1-hour break that occurs each day in the futures market. The opening price of the gap is the very first tick that occurs at the 6:00pm [UTC-4] restart. then we look at the 5:00pm closing price of the previous session. These gaps can be draws on liquidity as well as general reference points to determine daily bias

RTH Gap (Opening Range Gap)
ict-ndog
Click to enlarge

The Opening Range Gap, also known as the Regular Trading Hours (RTH) Gap, is the distance between the first opening tick of a session and the previous session's close, when looking at a chart's Regular Trading Hours (not to be confused with Electronic Trading Hours). This gap is an important element for Futures Market traders that follow the works of The Inner Circle Trader (ICT). To be more specific, the Opening Range Gap occurs between 4:15pm [UTC-4] and 9:30am of the next day.

NWOG (New Week Opening Gap)
ict-nwog
Click to enlarge

The NWOG is the gap between Friday's closing price and Sunday's opening price. These gaps can be draws on liquidity as well as general reference points to determine weekly bias

Interacte with ICT zones on the Chart
ict-interactivity
Click to enlarge

One of the unique features of this indicator compard to other indicators on the market is the interacticity feature. All the ICT zones drawn on the chart can become interactive if you enable the Interactivity parameter. By doing this you can select individual items on the chart, and then right-click to see the context-menu popup with the an entry named ATCH ICT[Advanced] which contains several command buttons:

  • The first menu item Hide All prior to clicked Index will hide all the ICT zones prior to where the user clicked on the chart. This is useful if you want to unclutter the chart from past events that are no more pertinent
  • The second menu item Hide Selected will hide the selected zone
  • The third menu item Stop Extending Selected at Clicked Index will stop the selected zone at the clicked bar Index
  • More commands to come in the future upcoming releases....

Features

The ICT Concepts[Advanced] indicator has a set of unique features

  • Can be run on a higher timeframe while drawing on a lower timeframe allowing multi-timeframe analysis
  • Can overlay drawing of higher timeframe candles when run on Higher Timeframe
  • Can play a sound alert on each ICT zone
  • Can be run with or without TickReplay on any time-based or price-based Chart
  • Interactive commands and operations that can be applied on ICT zones on the chart by right-clicking on the chart
  • Active development and constantly adding new features
Parameters

We always try to keep the parameters to minimum.

This parameter sets the mode that confirms formation of the Order Block
  • Bar Close: This will make the Swing points creating the OrderBlock considered confirmed with candles bar close
  • Bar Wick: This will make the Swing points creating the OrderBlock considered confirmed with candles wicks
License
License This is the license key you get when you create an account on automated-trading.ch. After creating an account, copy your license key from the billing page. You need to set this parameter only once per month, once the license key is validated it will be remembered for the rest of the month.
Market Structure
Swing Period Swings are higher lows,higher highs, lower highs and lower lows. After each price bar close, a swing can be detected. But just after that, the next bar can cancel the swing at the previous bar by creating a new swing of the same type. Or this can happen on the second bar, or the third, etc... The swing period sets how many bars is enough to seperate two swings of the same type. The more you increase this parameter, the more you decrease the number of swings overall. The more you decrease this parameter, the more you increase the number of overall swings. I personally use the value of 3 or 4 for this parameter.
Show Price Swings This parameter will enable/disable drawing a mark below/above swing price points. This is useful if you want to see how market structure is analyzed since those swing points are the building blocks of the indicator algorithme.
Swing Bullish Color This sets the color brush of the low swing points
Swing Bearish Color This sets the color brush of the high swing points
Swing Opacity (1-100) This sets the opacity of the swing points drawing. The value of 0 is trasparent, and the value of 100 is full opaque
Run On Higher TimeFrame This parameter will enable/disable running the ICT analysis algorithms on a higher timeframe and display the ICT zones on the active chart
Higher TimeFrame This parameter allows to select the higher timeframe if the previous Run On Higher TimeFrame parameter is enabled Make sure to select a higher time-frame in regard of the active charts' timeframe. For example, if the current time-frame on the chart is 15 Minutes, make sure that the value of this parameter represents a bigger time-frame such as 1 Hour. If in that case you select 1 Minute as a higher time-frame for example, the indicator will not work.
Higher TimeFrame Period This parameter sets the period of the higher timeframe if Run On Higher TimeFrame is enabled
Draw Higher Timeframe Candles This parameter will enable drawing (overlaying) higher timeframe candles on top of the active chart
Show ChoCh (MSS) This will enable/disable drawing of Change of Characters or also known as Market Structure Shifts
MSS Bullish Color The color brush of bullish MSS
MSS Bearish Color The color brush of bearish MSS
MSS LineStyle Line Style to draw MSS line
Show Choch (MSS) Label this parameter enables showing a label text on each MSS on the chart
Show Break of Structure This will enable/disable drawing of Break of Strucutres
BOS bullish Color The color brush of bullish Break of Structure drawings on the chart
BOS bearish Color The color brush of bearish Break of Structure drawings on the chart
BOS LineStyle Line style to draw BOS line
Show BOS Label This parameter enables showing a label text on each Break of Structure on the chart
Play Sound on MSS or BOS This parameter will enable playing and alert sound when a market structure event (MSS or BOS) occurs
Play Sound File This parameter will set the file name to be played on sound alert if enabled. This can be set to any .wav file on your computer
HTF Candles
This section is visible only when the Run on Higher Timeframe parameter is enabled
Bullish Color Sets the color brush to draw bullish Higher timeframe candles
Bearish Color Sets the color brush to draw bearish Higher timeframe candles
Render Opacity (1-100) Sets opacity used to draw higher timeframe candles
Fair Value Gap
Show Fair Value Gaps This will enable/disable drawing of Fair Value Gaps
FVG Candle Filter This parameter sets a filter for the FVG detection :
  • 3 Candles of Same Kind: Only FVG with 3 candles of the same type are detected
  • 2 Candles of Same Kind: Only FVG with at least 2 candles of the same type are detected
  • No Filter: No filtering on the candle types, this will produce more FVG than the above 2 options
Min. Gap (ticks) This parameter sets the minimum distance in ticks between the wicks of the Fair Value Gap to be valid. The more you increase this value, the fewer FVGs will be detected. Inversly, the more you decrease this value, the more it increases the number of detected FVGs
Mitigation Method When price hits the FVG after its formation, it is said to be "mitigated" and it stops from further extending. This parameter allows to chose which mitigation method is used to set whether an FVG is considered mitigated by the price:
  • Close: The FVG is considered mitigated when a price candle closes above it (for a bearish FVG) or below it(for a bullish FVG)
  • Wick: The FVG is considered mitigated when a price candle has its wick cross above the high of the FVG (for a bearish FVG) or cross below the low of the FVG (for a bullish FVG)
  • Touched: The FVG is considered mitigated as soon as the price touches the FVG
  • None: This will not mark any FVG as mitigated and thus no FVG will stop extending. This is useful for example if you want to analyze iFVG. You can remove or stop extending FVG manually by clicking on them
Stop Showing Mitigated This parameter will hide FVG drawing once they are mitigiated allowing for a more clean chart
Stop Extending @ New Day This parameter will make the FVG zone drawing stop from extending into a new day. You can also achieve this by clicking on individual FVG zones and chose to stop extending them at any given Bar index
Show 50% Level This parameter will draw consequent encroachment (50%) on the FVG zone
Bullish Color The Brush color to draw bullish FVGs
Bearish Color The Brush color to draw bearish FVGs
Render Opacity (1-100) The Brush opacity to draw FVGs
Show FVG Label Enable/disable showing the label on each FVG
This section is visible only when the Show FVG Label parameter is enabled
FVG Label Size FVG label Text Size to be drawn
FVG Label Color FVG label Color
FVG Label Opacity (1-100) FVG label Opacity
Play Sound when FVG is created This parameter will enable playing and alert sound when an FVG is created
Play Sound when FVG is mitigated This parameter will enable playing and alert sound when an FVG is mitigated. Useful if you want to trade FVG pullbacks
Play Sound File This parameter will set the file name to be played on sound alert if enabled. This can be set to any .wav file on your computer
Immediate Rebalance
Show Immediate Rebalance Enable/disable display of Immediate rebalance
This following section is visible only when the Show Immediate Rebalance parameter is enabled
Candle Filter This parameter sets a filter for the Immediate Rebalance detection :
  • 3 Candles of Same Kind: Only IR with 3 candles of the same type are detected
  • 2 Candles of Same Kind: Only IR with at least 2 candles of the same type are detected
  • No Filter: No filtering on the candle types, this will produce more IR than the above 2 options
Bullish Color Sets the color brush to draw bullish Immediate Rebalance
Bearish Color Sets the color brush to draw bearish Immediate Rebalance
Render Opacity (1-100) Sets opacity used to draw Immediate Rebalance
Play Sound on Immediate Rebalance This parameter will enable playing and alert sound when an IR is created
Play Sound File This parameter will set the file name to be played on sound alert if enabled. This can be set to any .wav file on your computer
Order Block
Show Order Blocks Enable/disable display of Order Blocks
This following section is visible only when the Show Order Blocks parameter is enabled
Stop Extending @ New Day This parameter will make the Order Block zones drawing stop from extending into a new day. You can also achieve this by clicking on individual Order Block zones and chose to stop extending them at any given Bar index
Allow Mitigation Before Validation An order block is valid when a specific set of rules are verified. One of those rules is that the price should not mitigate the order block zone. This parameter will enable giving this rule an exception and allow OrderBlock to be valid even though they are mitigated by the price prior to their creation.
Confirmation Mode
Bullish Color Sets the color brush to draw bullish Order Blocks
Bearish Color Sets the color brush to draw bearish Order Blocks
Render Opacity (1-100) Sets opacity used to draw Order Blocks
Show Order Block Label Enable/disable showing the label on each Order Block
This section is visible only when the Show Order Block Label parameter is enabled
Order Block Label Size Order Block label Text Size to be drawn
Order Block Label Color Order Block label Color
Order Block Label Opacity (1-100) Order Block label drawing Opacity from 1 (transparent) to 100 (fully opaque)
Play Sound when OrderBlock is created This parameter will enable playing and alert sound when an OrderBlock is created
Play Sound when OrderBlock is mitigated This parameter will enable playing and alert sound when an OrderBlock is mitigated. Useful if you want to trade OrderBlock pullbacks
Play Sound File This parameter will set the file name to be played on sound alert if enabled. This can be set to any .wav file on your computer
NWOG (New Week Opening Gap)
Show NWOG Enable/disable display of NWOG zones
This following section is visible only when the Show NWOG parameter is enabled
Stop Drawing @ New Week This parameter will make the NWOG zones drawing stop from extending into a new week. You can also achieve this by clicking on individual NWOG zones and chose to stop extending them at any given Bar index
Show 50% Level This parameter will draw consequent encroachment (50%) on the NWOG zone
Show 75% Level This parameter will draw Quadrant 75% level on the NWOG zone
Show 25% Level This parameter will draw Quadrant 25% level on the NWOG zone
Bullish Color Sets the color brush to draw bullish NWOG zones
Bearish Color Sets the color brush to draw bearish NWOG zones
Render Opacity (1-100) Sets opacity used to draw NWOG zones
Show NWOG Label Enable/disable showing the label on each NWOG zones
This section is visible only when the Show NWOG Label parameter is enabled
NWOG Label Size NWOG label Text Size to be drawn
NWOG Label Color NWOG label Color
NWOG Label Opacity (1-100) NWOG label drawing Opacity from 1 (transparent) to 100 (fully opaque)
NDOG (New Day Opening Gap)
Show NDOG Enable/disable display of NDOG zones
This following section is visible only when the Show NDOG parameter is enabled
Stop Drawing @ New Day This parameter will make the NDOG zones drawing stop from extending into a new day. You can also achieve this by clicking on individual NDOG zones and chose to stop extending them at any given Bar index
Stop Drawing @ New Week This parameter will make the NDOG zones drawing stop from extending into a new week. You can also achieve this by clicking on individual NDOG zones and chose to stop extending them at any given Bar index
Show 50% Level This parameter will draw consequent encroachment (50%) on the NDOG zone
Show 75% Level This parameter will draw Quadrant 75% level on the NDOG zone
Show 25% Level This parameter will draw Quadrant 25% level on the NDOG zone
Bullish Color Sets the color brush to draw bullish NDOG zones
Bearish Color Sets the color brush to draw bearish NDOG zones
Render Opacity (1-100) Sets opacity used to draw NDOG zones
Show NDOG Label Enable/disable showing the label on each NDOG zones
This section is visible only when the Show NDOG Label parameter is enabled
NDOG Label Size NDOG label Text Size to be drawn
NDOG Label Color NDOG label Color
NDOG Label Opacity (1-100) NDOG label drawing Opacity from 1 (transparent) to 100 (fully opaque)
RTHG (Opening Range Gap)
Show Opening Range Gap Enable/disable display of RTHG zones
This following section is visible only when the Show Opening Range Gap parameter is enabled
Stop Drawing @ New Day This parameter will make the RTHG zones drawing stop from extending into a new day. You can also achieve this by clicking on individual RTHG zones and chose to stop extending them at any given Bar index
Stop Drawing @ New Week This parameter will make the RTHG zones drawing stop from extending into a new week. You can also achieve this by clicking on individual RTHG zones and chose to stop extending them at any given Bar index
Show 50% Level This parameter will draw consequent encroachment (50%) on the RTHG zone
Show 75% Level This parameter will draw Quadrant 75% level on the RTHG zone
Show 25% Level This parameter will draw Quadrant 25% level on the RTHG zone
Bullish Color Sets the color brush to draw bullish RTHG zones
Bearish Color Sets the color brush to draw bearish RTHG zones
Render Opacity (1-100) Sets opacity used to draw RTHG zones
Show RTHG Label Enable/disable showing the label on each RTHG zones
This section is visible only when the Show RTHG Label parameter is enabled
RTHG Label Size RTHG label Text Size to be drawn
RTHG Label Color RTHG label Color
RTHG Label Opacity (1-100) RTHG label drawing Opacity from 1 (transparent) to 100 (fully opaque)
Interactivity
Enable Interactivity Enable/Disable Interactivity features when Right clicking on ICT items on the chart
Hide Selected When you click on this command button, the clicked zone is hidden. This is useful if you want to hide a specific ICT zone (FVG, OrderBlock, NDOG, NWOG...)
Hide All Prior to Clicked Index When you click on this command button, all the zones on the left of the clicked bar index are hidden. This is useful to unclutter the chart drawings starting from a certain point in time on the chart
Stop Extending Selected @ Current Bar When you click on this command button, the clicked zone will be resized to the clicked bar index and it will stop form further extending. This is useful if, for example, you think that an Order Block zone is not of interest no more and you which to stop it from extending to focus on another ICT zone. Or this can be useful to stop the current day NDOG zone from extending at a certain time of the day to not overlap with other zones
Download & Installation Instructions

To download and install the indicator follow the instructions below

  • Click on the below download button to download the Indicator file
  • This file was downloaded 365 times. Last download was 6 hours ago
  • Import the downloaded .zip file into NinjaTrader using the import NinjaScript menu item
  • how to import add on to NinjaTrader
  • Next, open a new chart window
  • image
  • After installing the indicator and opening a new Chart window you should add the indicator to the chart. Right-click on the chart and click on Indicators...
  • image
  • Copy/Paste your license key that you can find on the Billing page into the license parameter
  • The indicator requires the Premium Subscription. Check the Pricing page for details
  • After adding the indicator to the chart with a valid license, the indicator will be run on Historical data loaded on the chart.
  • After that, the indicator is added with success and will continue to run on live market data
Frequantly Asked Questions
General
Can I ask you to modify/add a new feature to this Indicator?

Yes, If you have an idea that you believe can improve this indicator, I will be more then happy to hear from you. Please use the contact page to send me a message

Will I get the source code of the indicator when I download it?

No, the source code of the indicator is protected for copyright reasons

Can I use this indicator without the TickReplay mode enabled?

Yes you can use this indicator with or without TickReplay seamlessly. Using the Rick Replay option will make NinjaTrader slower since it will make calculations on each Tick

Subscriptions Q&A
How does subscription it work?

After you Register, you will get access to the Dashboard where you can grab your license and use it on all the free or premium products. We don't use the built-in NinjaTrader Vendor licensing system. We have developed our custom system where you need to submit the license number on each product you are using

Can I cancel my subscription anytime?

Yes, you can Cancel/Resume your subscription with a click of a button with no questions asked. You don't even need to request something or send a message. You can manage your subscription in a completely autonomous way.

I see a message that says the license will expire in a month, what does it mean?

Our products will verify the license validity at 1st day of each month. At that date, you need to provide the license number to the product (with a simple copy/paste) so that it will be valid to the rest of the month.

Is it safe to use my credit card info on your website?

We do not store payment credentials, they are encrypted and passed to Stripe or PayPal for a safe & secure way to purchase subscriptions on our site.

Release Notes
Release 1.4.0.1 - 22 November 2024

  • Added "Stop Showing Mitigated" Fvg parameter

Release 1.4.0.0 - 09 November 2024

  • Added consequent encroachment 50%, 25% and 75% to NDWOG, NWOG, RTGH and FVGs
  • Added Confirmation Mode parameter to the OrderBlock section
  • Fix: RTH Gap now can be remove interactively

Release 1.3.0.0 - 29 October 2024

  • Added Linestyle for MSS and BOS line drawing
  • Removed Log output slowing down peformance

Release 1.2.0.0 - 18 October 2024

  • Added RTH Gap (Opening Range Gap)

Release 1.1.0.2 - 16 October 2024

  • Fix NDOG and NDWOG opacity

Release 1.1.0.1 - 14 October 2024

  • Fix false positive virus detection

Release 1.1.0.0 - 10 October 2024

  • Fix License detection error

Release 1.0.0.0 - 06 October 2024

  • First Release of the indicator

User Comments & Feedback