OPEN-SOURCE SCRIPT
GTrader-ICT All In One-Comumnity Version

Meet the **GTrader-ICT All In One **, a comprehensive toolkit designed to integrate key Inner Circle Trader (ICT) concepts directly onto your chart. This powerful overlay indicator consolidates multiple essential tools, streamlining your technical analysis and helping you identify key temporal and price-based events.
๐ References & Inspiration
This indicator stands on the shoulders of giants. With the help of **tradeforopp** and **LuxAlgo**. The concepts and some implementation details were referenced from the following excellent, publicly available scripts:
๐ฏ Core Features
* **ICT Killzones:** Visualize critical trading sessions with customizable boxes. You can easily toggle and style the **Asia**, **London**, and **New York (AM, Lunch, PM)** sessions to focus on the liquidity and volatility that matter most to your strategy.
* Fully customizable session times and colors.
* Timezone support to align sessions with your local or preferred trading time (defaults to `America/New_York`).
* **ICT Macros:** Automatically identify and plot specific, short-duration time windows where institutional algorithms are known to be active (e.g., `09:50-10:10`, `14:50-15:10`, etc.).
* Plots the high/low range of the macro, providing clear levels of interest.
* Utilizes 1-minute data for precision, even when viewing on 3-minute or 5-minute charts.
๐ Optimization over the other original indicators
โ ๏ธ Notes on TradingView Warnings
You may encounter some warnings from TradingView when using this script. These are generally expected due to the script's advanced, event-driven nature:
1. **Function Call Consistency:** The function 'box.new' should be called on each calculation for consistency, which may appear. This happens because drawing elements (like session boxes) are intentionally created only on the *first bar* of a new session, not on every single bar. This is a necessary design choice for performance and to prevent duplicate drawings.
2. **Potential for Repainting/Slow Load:** The **Macro** feature uses the `request.security_lower_tf()` function to get accurate 1-minute data. This can trigger warnings about performance or slow loading times. This is a known trade-off for achieving the precision required for the feature.
๐ References & Inspiration
This indicator stands on the shoulders of giants. With the help of **tradeforopp** and **LuxAlgo**. The concepts and some implementation details were referenced from the following excellent, publicly available scripts:
- ICT Killzones: The session drawing and pivot logic is adapted from tradeforopp
- ICT Macros: The macro detection and plotting functionality is inspired by the work of Lux Algo, particularly their widely-used indicators covering ICT concepts.
๐ฏ Core Features
* **ICT Killzones:** Visualize critical trading sessions with customizable boxes. You can easily toggle and style the **Asia**, **London**, and **New York (AM, Lunch, PM)** sessions to focus on the liquidity and volatility that matter most to your strategy.
* Fully customizable session times and colors.
* Timezone support to align sessions with your local or preferred trading time (defaults to `America/New_York`).
* **ICT Macros:** Automatically identify and plot specific, short-duration time windows where institutional algorithms are known to be active (e.g., `09:50-10:10`, `14:50-15:10`, etc.).
* Plots the high/low range of the macro, providing clear levels of interest.
* Utilizes 1-minute data for precision, even when viewing on 3-minute or 5-minute charts.
๐ Optimization over the other original indicators
- We add the custom input for macros session, users just need to input the from/to hour: minute format, and they will be converted into session objects in pinescript
- The macro draws function is optimized, removing redundant draws, leading to better performance
- Add "Distance from Macro Line to Chart" option
- Add "Session Drawings Limit" for better performance
โ ๏ธ Notes on TradingView Warnings
You may encounter some warnings from TradingView when using this script. These are generally expected due to the script's advanced, event-driven nature:
1. **Function Call Consistency:** The function 'box.new' should be called on each calculation for consistency, which may appear. This happens because drawing elements (like session boxes) are intentionally created only on the *first bar* of a new session, not on every single bar. This is a necessary design choice for performance and to prevent duplicate drawings.
2. **Potential for Repainting/Slow Load:** The **Macro** feature uses the `request.security_lower_tf()` function to get accurate 1-minute data. This can trigger warnings about performance or slow loading times. This is a known trade-off for achieving the precision required for the feature.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.