ICT (Inner Circle Trader) Indicator

ICT (Inner Circle Trader) Indicator

1. Introduction

The ICT (Inner Circle Trader) market analysis is known for identifying key moments within trading sessions that offer great opportunities due to volatility and liquidity. This ICT indicator is designed to highlight those time windows, known as Kill Zones, where price movements tend to be more pronounced. These periods correspond to the start of major global trading sessions: Asia, London, New York, and the London close.

Additionally, the ICT indicator also plots zones known as Silver Bullets, which are specific moments within sessions where the market tends to make a significant move. Another important tool in ICT analysis is the identification of Fair Value Gaps (FVG), areas where price moves quickly leaving regions with little trading, indicating imbalance and possible reversal zones.

2. Description of the ICT Indicator

The ICT indicator aims to provide visual information about the most relevant trading sessions of the day, helping traders identify areas with a higher probability of significant movements. The main features are:

  • Kill Zones: Four key periods of the day are highlighted, each representing the start of a major trading session.
    • Asian Kill Zone: From 08:00 PM to 10:00 PM (NY UTC -4).
    • London Kill Zone: From 02:00 AM to 05:00 AM (NY UTC -4).
    • New York Kill Zone: From 07:00 AM to 09:00 AM (NY UTC -4).
    • London Close Kill Zone: From 10:00 AM to 12:00 PM (NY UTC -4).
  • Silver Bullet: These are smaller windows of opportunity within the London and New York sessions, where a sharp price movement can be detected in a short period.
    • London Open Silver Bullet: 03:00 AM – 04:00 AM (NY UTC -4).
    • AM Session Silver Bullet: 10:00 AM – 11:00 AM (NY UTC -4).
    • PM Session Silver Bullet: 02:00 PM – 03:00 PM (NY UTC -4).
  • Fair Value Gaps (FVG): These are areas on the chart where price hasn’t interacted within a range of bars, creating an imbalance. These zones are automatically plotted and allow traders to identify potential entry or reversal points.

3. Features and Elements of the Indicator

Kill Zones

The Kill Zones are times of day when institutional traders are most active, often leading to higher volatility in prices. This indicator automatically highlights these periods so that traders can stay alert for potential trading opportunities.

  • Asian Kill Zone: This zone spans from 8:00 PM to 10:00 PM New York time, which corresponds to the opening of the Asian session. It’s a period where liquidity accumulates before the London session.
  • London Kill Zone: This period activates from 2:00 AM to 5:00 AM New York time, marking the start of the London session, considered one of the most volatile times of the day.
  • New York Kill Zone: It stretches from 7:00 AM to 9:00 AM New York time, just before the New York Stock Exchange opens. It’s a key time for volatility due to high institutional trading activity.
  • London Close Kill Zone: This zone activates from 10:00 AM to 12:00 PM New York time, when the London session approaches its close, and European institutions finalize their trades, often causing sharp price movements.

Silver Bullet

The Silver Bullets are smaller periods within the Kill Zones where rapid movements with little retracement occur. Both the London and New York sessions are especially prone to these moves, and they are marked on the chart for traders to be ready for entry opportunities.

Fair Value Gaps (FVG)

The concept of Fair Value Gaps is essential to ICT analysis. These zones are created when the market moves quickly, leaving price areas untraded, indicating an imbalance. The ICT indicator automatically identifies these zones on the chart.

bullish FVG occurs when the price rises sharply, leaving a gap between the low of bar 3 and the high of bar 1. Conversely, a bearish FVG is created when the price drops rapidly, leaving a gap between the high of bar 3 and the low of bar 1.

4. Configuration and Customization

The ICT indicator is highly customizable, allowing traders to adjust various settings to suit their needs:

  • diferenciahoraria: This setting adjusts the time difference between the platform and New York (UTC -4), adapting to the user’s geographical location.
  • drawbackground: Enables or disables the background colors that indicate the Kill Zones, providing a clear visual representation of these periods on the chart.
  • drawareas: Activates the display of specific areas for Kill Zones and Silver Bullets, outlining the exact time and price range.
  • drawsignals: Enables visual signals, showing text and boxes that identify the Kill Zones and Silver Bullets.
  • drawclosinglevels: This option displays post-close price levels, showing lines at key prices after the close of major sessions.
  • rangofvg: Defines the minimum size for identifying a Fair Value Gap. If the gap between the high and low exceeds this value, the indicator will mark it on the chart.
  • rangosegmentosfvg: Allows the division of FVGs into smaller segments, facilitating analysis within these zones.
  • opacidad: Controls the transparency of drawn areas and backgrounds, allowing the user to adjust visibility based on their preference.

5. Practical Application

This indicator is especially useful for traders following the ICT strategy. The clear visual representation of Kill Zones, combined with Silver Bullets and Fair Value Gaps, allows traders to make informed decisions during key market moments. Below are some examples of how to use the indicator:

  • During the Asian session: If the indicator marks a Kill Zone during the Asian session and price shows accumulation within an FVG, it could be a good opportunity to prepare a trade for the London session.
  • At the New York open: The New York Kill Zone is known for its high volatility. Identifying a Silver Bullet during this period may offer an excellent opportunity to take advantage of a sharp, significant move.

6. Conclusion

The ICT indicator is a powerful tool for traders who follow Inner Circle Trader concepts. By visually highlighting key volatility zones, Silver Bullets, and Fair Value Gaps, the indicator helps traders identify opportunities more clearly. With its multiple customization options, this indicator adapts to individual trader needs, providing dynamic and clear visual analysis.

This indicator is ideal for use in combination with other technical analysis tools, and its flexibility allows it to be integrated into various trading strategies.

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. robert123 • 36 days ago #

    Great work!

    • @toniyecla • 36 days ago #

      ¡gracias!

      más capturas aqui:

      https://www.prorealcode.com/wp-content/uploads/2024/10/ICT-captura-01.png

      https://www.prorealcode.com/wp-content/uploads/2024/10/ICT-captura-02.png

      https://www.prorealcode.com/wp-content/uploads/2024/10/ICT-variables.png

  2. robert123 • 36 days ago #

    I had a go at the ‘order block’ version- badly done I’m sure….but a start.
    // Sonarlabs – Order Block Finder
    // converted from TradingView
    // Lower the sensitivity to show more order blocks. A higher sensitivity will show less order blocks

    defparam drawonlastbaronly=true
    defparam calculateonlastbars=1000
    //sens1 = 5
    once obcreatedbear = 0
    once obcreatedbull = 0
    once crossindexbear = 0
    once crossindexbull = 0

    alcista = close[2] > open[2]

    // —————–

    OBBullMitigation = close[1]
    OBBearMitigation = close[1]

    if (alcista) then
    maximo = low[1]
    minimo = high[3]
    if (maximo-minimo > rango) then
    obcreatedbear = 1
    crossindexbear = barindex
    endif
    else
    maximo = low[3]
    minimo = high[1]
    if (maximo-minimo > rango) then
    obcreatedbull = 1
    crossindexbull = barindex
    endif
    endif

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Calculation
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    // ——————————-
    // Bearish OB Creation
    // ——————————-
    // Check if we should create a OB. Also check if we haven’t created an OB in the last 5 candles.
    if obcreatedbear and (crossindexbear – crossindexbear[1]) > 5 then
    lastgreen = 0
    hhighest = 0
    // Loop through the most recent candles and find the first GREEN (Bullish) candle. We will place our OB here.
    for i = 4 to 15
    if close[i] > open[i] then
    lastgreen = i
    //populate the arrays of order block to draw them later
    $left[plot]= barindex[lastgreen]
    $top[plot]=high[lastgreen]
    $bottom[plot]=low[lastgreen]
    $right[plot]=barindex[lastgreen]
    plot=plot+1 //increase the array column for next data
    break
    endif
    next
    endif

    // ——————————-
    // Bullish OB Creation
    // ——————————-
    // Check if we should create a OB, Also check if we haven’t created an OB in the last 5 candles.
    if obcreatedbull and (crossindexbull – crossindexbull[1]) > 5 then
    lastred = 0
    hhighest = 0
    // Loop through the most recent candles and find the first RED (Beaarish) candle. We will place our OB here.
    for ibull = 4 to 15
    if close[ibull] < open[ibull] then
    lastred = ibull
    //populate the arrays of order block to draw them later
    $leftbull[plotbull]= barindex[lastred]
    $topbull[plotbull]=high[lastred]
    $bottombull[plotbull]=low[lastred]
    $rightbull[plotbull]=barindex[lastred]
    plotbull=plotbull+1 //increase the array column for next data
    break
    endif
    next
    endif

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Cleanup
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    // Clean up Bearish OB boxes
    if plot>0 then
    for j = plot-1 downto 0 //0 to plot-1
    // If the two last closes are above the high of the bearish OB – Remove the OB
    if $left[j]>0 then //check if the zone still exist
    itop = $top[j]
    breakout = summation[max(1,barindex-$left[j])](OBBearMitigation>itop)>=1 //2
    if breakout then
    $left[j]=0
    endif
    endif
    next
    endif

    // Clean up Bullish OB boxes
    if plotbull>0 then
    for jbull = plotbull-1 downto 0 //0 to plotbull-1
    // If the two last closes are below the low of the bullish OB – Remove the OB
    if $leftbull[jbull]>0 then //check if the zone still exist
    ibot = $bottombull[jbull]
    breakoutbull = summation[max(1,barindex-$leftbull[jbull])](OBBullMitigation<ibot)>=1 //2
    if breakoutbull then
    $leftbull[jbull]=0
    endif
    endif
    next
    endif

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Drawing
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //fade=0
    if islastbarupdate then
    //plot the Bearish boxes
    if plot>0 then //islastbarupdate and
    for j = plot-1 downto 0 //0 to plot-1
    if $left[j]>0 then
    drawrectangle($left[j],$top[j],barindex,$bottom[j]) coloured(“red”,fade)bordercolor(“red”,fade+50) //bordercolor(“green”,85) //coloured(80,108,211,50) bordercolor(80,108,211,50)
    endif
    next
    endif
    //plot the Bullish boxes
    if plotbull>0 then //islastbarupdate and
    for jbull = plotbull-1 downto 0 //0 to plotbull-1
    if $leftbull[jbull]>0 then
    drawrectangle($leftbull[jbull],$bottombull[jbull],barindex,$topbull[jbull]) coloured(“green”,fade)bordercolor(“green”,fade+50)//bordercolor(“red”,85) //coloured(100,196,172,50) bordercolor(100,196,172,50)
    //drawrectangle(barindex, $bottombull[jbull],$leftbull[jbull],$topbull[jbull]) coloured(“red”,85)//bordercolor(“red”,85) //coloured(100,196,172,50) bordercolor(100,196,172,50)
    endif
    next
    endif
    endif

    return

  3. robert123 • 36 days ago #

    take ”sens1 = 5” out and put ”rango” in as variable

avatar
Register or
Related users ' posts
Iván Hi. You could add these lines of code: if intradaybarindex=0 then varhigh=round((dhigh(...
RTR Edit
Alai-n Hello, take a look at this formulation made by "Blade106", Topic link attached post #227334....
@toniyecla ¡interesante acercamiento! (no lo conocía, simplemente tuve la necesidad y lo programé) pers...
NEOMKEY Excelente trabajo. Lo uso también en scalping de 1 minuto.
philippe59139 bonjour zeiiermantrading , merci pour ton excellent travail, je me suis permis de rajouter ...
Bodaris Bonjour, je tenais à vous remercier pour votre travail et votre partage. J'utilise beaucoup ...

Top