(This High Precision Measuring Instrument is NOT part of the Toolkit)
1. Overview The ICT-Model-5 indicator is an advanced, highly specialized analytical tool designed to map Time and Price Ranges and project their Standard Deviations (SD). Built around the core concepts of the ICT Model-5 methodology, this script empowers traders to forecast future price action, establish daily bias, define expected daily ranges, and identify underlying market trends. By projecting historical structural ranges forward into the future, traders can identify high-probability price confluences and precise algorithmic market targets.
2. Logic
2.1 The "Repeat Past" Framework (The Heart of Model-5) The foundational premise of ICT Model-5 is the projection of historical (Past) price and time ranges into current and future price action. By identifying a significant historical core range and repeating its standard deviations forward, the script creates overlapping matrices of projected levels. When these projected SD levels from various past ranges align, they create dense zones of structural confluence. These confluences act as heavy magnetic pulls for price, providing traders with predictive frameworks for forecasting trend continuation, reversals, and algorithmic draw-on-liquidity.
2.2 Equidistant Minimum Range Filter (MRF) The MRF is a dual-purpose powerhouse. Technically, it prevents chart clutter and ensures the script strictly adheres to charting rendering limits during periods of extremely narrow price consolidation. Conceptually, it is a key functional piece of Model-5. The MRF equalizes all Standard Deviation projection inter-distances. By enforcing a bracketed limiting range, it prevents the visual and analytical mess of "too much" or "not enough" distance between fractional SDs. This normalization ensures that different SD projections from different time-ranges remain on compatible scales, allowing traders to accurately hunt for valid price level confluences without overwhelming visual noise.
2.3 Indices Mode & True Time-Cycles Financial markets are not continuous; they feature daily halts and weekend closures. The "Indices Mode" features a highly intelligent time-shifting algorithm that ignores non-trading periods. If a 12-hour repeating range crosses the daily close, a standard indicator will plot levels out of sync with actual trading hours. With Indices Mode enabled, the script dynamically jumps the 17:00 to 18:00 (NY Time) daily maintenance gap, as well as the 49-hour weekend gap (Friday 17:00 to Sunday 18:00). This perfectly maintains the real "Intra-Distance" of your Time-Cycles, ensuring repeated ranges map flawlessly to active algorithmic trading hours.
3. Settings & Options
3.1 Dynamic UI & Master Controls The settings panel is engineered with modern Master-Dependent input controls. Checking or unchecking main master settings will automatically activate or gray out their respective sub-settings. This creates a clean, intuitive, and distraction-free user experience.
3.2 Defining the Core Range You can define your core analytical range in two ways:
Menu Selection: Manually input exact dates and times via the settings panel.
Interactive Chart Drawing: Right-click any plotted line from the indicator and click "Reset points." This enables a dynamic, graphical click-to-click operation allowing you to visually snap the Start and End points directly onto chart candles.
3.3 Bias & Anchor Settings
Bias: Choose "Auto" (calculates direction via Open/Close relationships), "Bullish/Bearish" (forces directional projection), or "Both" (projects simultaneously in both directions).
Anchor: Choose to measure the 0 and 1 base reference points from the absolute candle "Wicks" or the candle "Bodies".
3.4 Standard Deviation Levels
Number of SD Levels: Sets the maximum integer expansion to project (e.g., setting it to 10 draws out to -10). Keep this lower for immediate local targets or increase it to visualize deep macro extensions.
Fractional Levels: Toggle independent visibility for 1/2, 1/4, and 1/8 sub-levels. These will automatically extend to fill the space up to your chosen maximum integer limit.
3.5 Optimal Trade Entry (OTE) & Custom Levels
Define precise OTE parameters (e.g., 0.62, 0.705, 0.79) and project them outward using a dedicated multiplier count.
Add unlimited custom fractional or integer levels via comma-separated numeric inputs.
3.6 The MRF Configuration
Toggle the Equidistant MRF on or off.
Set the "Min Equidistance" value (in raw points). As ranges narrow, the filter progressively hides 1/8 levels, then 1/4 levels, and finally 1/2 levels dynamically across past, core, and future ranges independently.
3.7 Visual Themes
Custom: Uses your exact color selections.
Light: Optimized for light charts (solid base colors, bold extensions).
Dark: Optimized for dark charts (reduced opacity lines, subtle gray extensions).
4. Under the Hood: Engineered for Performance
This script has been entirely built from the ground up using the latest modern coding architecture. The internal logic leverages advanced Object-Oriented Concepts (OOC) to deliver an incredibly smooth charting experience despite the massive amount of data being processed.
Optimized State Rendering: The entire drawing engine isolates calculations strictly to the last historical bar, preventing loop-lag and massive memory consumption during real-time data feeds.
Intelligent Loop Breaks: Time-based historical array lookups utilize strict exit conditions, stopping queries the millisecond out-of-bounds data is hit, saving massive computational overhead.
Garbage Collection Independence: Eschews obsolete manual array-cleaning techniques in favor of native terminal rendering limits, ensuring your charts remain highly performant even with maximum algorithmic projections enabled.