Structure Lite - Automatic Major Trend LinesStructure Lite – Pivot-Based Market Structure Visualization
OVERVIEW
Structure Lite is an open-source charting tool designed to assist traders in visualizing higher-timeframe market structure. The script identifies major swing points using high-period pivot analysis and projects structural support and resistance lines directly on the chart. Its purpose is to highlight persistent market structure while minimizing visual noise.
CORE CONCEPTS & CALCULATIONS
Pivot Identification
The script uses Pine Script’s built-in ta.pivothigh() and ta.pivotlow() functions to identify confirmed swing highs and lows. A pivot is only validated after a user-defined number of bars (Major Pivot Lookback) have formed on both sides of the price extreme, ensuring that only structurally significant pivots are selected.
Structural Pairing
Each structural line is created only after two consecutive pivots of the same type are confirmed (high-to-high or low-to-low). The script stores the price and bar index of these pivots and uses them as fixed anchor points.
Line Projection
Once a valid pivot pair is formed, the script draws a line between the two points using line.new() and extends it forward using extend.right. These lines represent projected structural boundaries rather than trade signals.
Object Management
To maintain chart clarity and performance, the script manages all drawn objects through a line array. A FIFO (First-In, First-Out) method is applied so that only the three most recent structural lines remain visible. Older lines are automatically deleted as new ones are created.
DESIGN PHILOSOPHY & ORIGINALITY
While many indicators plot frequent swing points or short-term pivots, Structure Lite focuses on structural persistence. By filtering for higher-period pivots and limiting the number of displayed projections, the script emphasizes dominant market structure rather than short-term fluctuations. This approach is intended to support discretionary analysis, not replace it.
HOW TO USE
Major Pivot Lookback
Increase the value to focus on higher-timeframe structure (e.g., swing or position trading).
Decrease the value to visualize intraday structural levels.
Visual Encoding
Green lines represent projected structural support
Red lines represent projected structural resistance
Visibility Control
A boolean input allows all structure lines to be hidden instantly to restore a clean price chart.
LIMITATIONS & DISCLAIMER
This script is a visualization tool only. It does not generate trade signals, entry or exit points, alerts, or directional forecasts. All plotted levels are derived from historical price action and may change as new pivots form. The script is provided for educational and analytical purposes and should be used in conjunction with other forms of market analysis
Ict
QT-Cycles-Clear-View(Theory by DAYE)Quarter Theory – Short Summary
each cycle is segmented into four sequential quarters (Q1–Q4).
Each quarter reflects a distinct phase of liquidity, volatility, and participant behavior.
The theory focuses on when price is likely to move, rather than predicting direction.
Implemented Cycles
W.C (Weekly Cycle) – Day-to-day quarters on the 1H chart
D.C (Daily Cycle) – 6-hour quarters on the 15-minute chart
90M Cycle – Quarters within each 90-minute period
Micro Cycle – Short-term quarters within 23-minute cycles
/ Theory © DAYE
// Indicator implementation by M.A
// All rights to the original theory belong to DAYE.
// This script is an independent implementation.
Universal Po3 Profiler [Pro +] | cephxsUNIVERSAL Po3 PROFILER 🧪
All concepts used in the development of this indicator are open source and available to all on youtube.
Credits go out to Michael J. H. (ICT) as the one putting it out there for all.
A refined approach to multi-timeframe structural analysis. Clean visuals. Precise signals. Nothing more than what matters.
OVERVIEW
Built for traders who value clarity over complexity, this profiler distills institutional price delivery concepts into a visually cohesive overlay. It maps higher timeframe structure directly onto your chart while detecting key divergence patterns across correlated assets.
The design philosophy is intentional minimalism—every element earns its place on your chart. No redundant indicators. No visual noise. Just the structural context you need to frame your trading decisions.
📷 Full indicator overview showing HTF candles, CISD lines, and SMT divergences on a 5m YM chart
CORE FEATURES
🧪 Multi-Timeframe Profiling
Automatically profiles up to three higher timeframes based on your chart's resolution. The system intelligently selects appropriate HTF pairings—or lets you override with manual control. 0 stress, minimal input overload.
Auto Mode: Adapts HTF selection to your chart timeframe
Profiler Source: Choose which HTF defines your structural boundaries
Directional Bias: Filter profiling to bullish or bearish setups only
📷 Side-by-side comparison; Auto mode on 5m chart vs 15m chart showing different HTF selections
🔀 SMT DIVERGENCE DETECTION
Identifies Smart Money divergences between correlated assets in real-time. When the primary asset makes a structural move that correlated pairs fail to confirm by moving in-sync, the system flags potential reversals.
Tracks divergences across multiple HTF sessions
Supports both normal and inverse correlations
Independent chart and HTF candle visualization
Automatic invalidation when divergence resolves
Configurable asset pairs with correlation library integration that is updated regularly
📷 SMT divergence example, ES vs YM showing bearish divergence at session highs
📐 CISD DETECTION & FIBONACCI PROJECTIONS
Change in State of Delivery (CISD) marks the moment price starts to deliver in the opposing direction of where it previously went. The system identifies these pivotal transitions and projects optional Fibonacci extensions to map potential price targets.
Automatic stretch calculation from opposing candle sequences
Confirmation-based detection (not predictive)
Fibonacci projections with customizable levels (-1 to -4.5)
Size filtering to eliminate noise on smaller moves
Visual invalidation when structure breaks
📷 Confirmed CISD with Fibonacci projection levels (other features disabled to highlight)
📷 Multiple CISDs showing bullish and bearish examples simultaneously
🎯 MANIPULATION AREA PROFILING
Detects sweep-and-reversal sequences within HTF candle boundaries. The profiling system identifies when price sweeps the immediate previous candle's extreme then confirms directional commitment after a candle close.
How the manipulation area is calculated (it is not a magic level, it's a simple division : ) )
For C3 : is measured from the Open of C3 to the quadrant C.E of C2
For C4 : is measured from the Open of C4 to the Upper Quadrant (25/75) of C3.
All Based on openly-sourced ICT Concepts
Po3 area visualization on profiler HTF
Sweep line tracking at structural levels
C1/C2/C3 phase progression
Bias filtering for directional focus
📷 Manipulation area highlighting Po3 zone with sweep lines
HTF CANDLE VISUALIZATION
Projects higher timeframe candles to the right of your chart, providing structural context without cluttering price action. Full credit for the base logic used in building this goes to @fadizeidan.
Up to 3 HTF layers with independent candle counts
PSP (Precision Swing Point) divergence detection on candles
Clean, adjustable styling
Session labels with countdown timers
INPUTS
Directional Bias
Po3 Profiling Bias: Auto / Bullish / Bearish — filters manipulation area detection
CISD/SSMT Bias: Auto / Bullish / Bearish — filters divergence detection
HTF Configuration
Auto Mode: Enabled by default. Automatically configures HTF timeframes
HTF 1/2/3: Manual timeframe selection when Auto Mode disabled
Profiler Source: Which HTF defines profiling boundaries
SMT Settings
Enable SMT: Master toggle for divergence detection
Show on Chart: Render divergence lines on price chart
Show on HTF Candles: Render divergence lines on HTF candle visuals
Asset Selection: Configure correlated pairs and inversion settings
CISD Settings
Show CISD: Enable change in state detection
Fibonacci Projections: Enable extension level plotting
Level Configuration: Toggle individual fib levels (-1 through -4.5)
Profiler Status Bar
Position: 9 positions including center options
Styling: Size, bold toggle, custom colors
---
RECOMMENDED USAGE
Start with Auto Mode enabled to learn the HTF relationships
Set your directional bias if you have a higher timeframe thesis
Watch for SMT divergences at session extremes
Use CISD confirmations to identify structural shifts
Reference Fibonacci projections for potential targets
Optimal Timeframes:
Scalping: 1m-3m charts (profiles to 15m-90m)
Intraday: 5m-15m charts (profiles to 1H-4H / Optionally 6H)
Swing: 1H-4H charts (profiles to Daily-Weekly)
---
CORRELATED ASSETS
The SMT system works with major correlations including:
Index Futures: CME_MINI:ES1! , CME_MINI:NQ1! , CBOT_MINI:YM1!
Forex Majors: FOREXCOM:EURUSD , FOREXCOM:GBPUSD , TVC:DXY
Crypto: BINANCE:BTCUSDT , BINANCE:ETHUSDT
Crypto Futures: CME:BTC1! , CME:ETH1!
---
NOTES
This version does not include alert conditions. Visual-first design.
It will be easier to understand if you have a preliminary knowledge of the concepts beforehand
This is not a learning instrument on it's own and could have bugs, Know it for yourself so you can identify bugs if any.
---
DISCLAIMER
This indicator is provided for educational and analytical purposes only. It does not constitute financial advice, and no representation is made regarding future performance.
Trading involves substantial risk of loss. Always conduct your own analysis and use proper risk management. Past structural patterns do not guarantee future price behavior.
---
CREDITS
Inspiration and HTF candle plotting boilerplate: @fadizeidan
Asset correlation library: fstarcapital
Development: cephxs & fstarcapital
---
CHANGELOG
v1.0: Initial Pro+ release — SMT divergences, CISD detection, multi-HTF Po3 profiling
QTheory [SSMT]QTheory –
This indicator is built on Quarterly Theory (developed by Daye)
🔹 Quarterly Theory
Markets often unfold in repeating quarterly cycles (Q1–Q4) across multiple timeframes — yearly, monthly, weekly, daily, 90-minute, and even micro cycles. By dividing price action into these quarters, traders can better anticipate structural shifts, accumulation/distribution phases, and liquidity runs.
🔹 Sequential SMT (SSMT)
Sequential SMT extends standard SMT (Smart Money Technique) by comparing multiple assets (such as FX majors) to identify divergences across quarters.
🔹 Features of QTheory
Automatic detection of quarterly cycles across multiple timeframes.
Visual cycle boxes & customizable dividers.
Integrated SSMT signals with divergence line visualization.
DFR (Defining Range) with Fibonacci levels.
Support for up to 5 comparison assets, with inversion options.
Auto-cycle selection for seamless multi-timeframe adaptation.
Extensive customization for colors, opacity, and signal display.
🔹 How it works
QTheory divides price data into consistent “quarters” across multiple timeframes. Within each cycle, it tracks highs, lows, and divergences, then overlays this information as boxes, dividers, and optional signals on your chart. Traders can use these visual cues to better align entries and exits with institutional market behavior patterns.
🔹 How to use it
Enable the desired cycle type (e.g., weekly, daily, 90-minute) from the settings.
Toggle boxes, dividers, and signals depending on your trading style.
Use SSMT divergences and DFR Fibs to anticipate a reversal
Compare against other assets (e.g., DXY or correlated pairs) to refine confluence.
Enable "Show Weekends" for Crypto.
⚠️ Disclaimer: This tool is for educational purposes only. It does not constitute financial advice. Always perform your own analysis and risk management.
ICT Unicorn Model [Kodexius]ICT Unicorn Model is a market structure and imbalance confluence tool that automatically detects high probability “Unicorn” setups by combining three key elements into a single, clean script:
-A first, clean break of that swing level (displacement style break)
-A Fair Value Gap that overlaps a breaker candle body range
Instead of plotting every pivot or every imbalance independently, the script waits for a specific sequence: price establishes a valid swing, breaks that swing for the first time, and prints a setup only when the resulting context aligns with a valid, volatility filtered FVG and a clearly defined breaker range.
Each detected setup is drawn directly on the chart with labeled zones (Breaker and FVG) and is then actively monitored. If price violates the breaker boundary based on your chosen invalidation basis (Close or Wick), the setup is marked inactive and can optionally be removed to keep the chart clean.
This indicator is designed for traders who work with ICT style concepts such as liquidity runs, displacement, breaker blocks, and imbalance reversion, and who want a structured, rules based visualization rather than discretionary drawing.
🔹 Features
🔸 Fair Value Gap Detection With Volatility Filtering
Bullish and bearish FVGs are detected using classic three candle imbalance logic. To avoid low quality gaps during compression, the script applies an ATR based minimum size filter using the “FVG Min Size (ATR Multiplier)” input. Only gaps larger than ATR * threshold are considered valid.
🔸 First Break Validation (Clean Break Logic)
A key part of the model is identifying a “first break” of a swing level. The script checks whether the swing price has already been invalidated between the swing bar and the current bar. If it has, the swing is ignored. This helps reduce repeated signals and focuses on fresh structural breaks.
🔸 Breaker and FVG Confluence With Overlap Requirement
After a valid break occurs, the script defines a breaker range using the body of the swing candle (open and close). A setup is only created if this breaker body range overlaps the detected FVG price range. This overlap requirement is what filters many “almost” conditions and keeps signals more selective.
Bullish Unicorn:
Bearish Unicorn:
🔸 Configurable Invalidation Basis (Close or Wick)
You can choose how a setup fails:
-Close: invalidation requires a candle close beyond the breaker boundary
-Wick: invalidation occurs as soon as any wick crosses beyond the breaker boundary
This allows the tool to adapt to different trading styles, from conservative confirmation to more sensitive risk control.
🔸 Automatic Cleanup of Failed Setups
If “Delete Invalidated Setups” is enabled, the script removes the breaker box, FVG box, and label as soon as the setup is invalidated. If disabled, the zones remain visible for review while the setup is marked inactive internally.
🔸 Clear Chart Visuals
Each setup plots:
-A labeled Breaker zone box
-A labeled FVG zone box
-A directional Unicorn label (Bull or Bear) that updates position as the chart advances
Colors for bullish and bearish structures are fully configurable.
🔸 Alert Conditions
Two alert conditions are provided:
-Bullish Unicorn Setup Detected
-Bearish Unicorn Setup Detected
Alerts trigger only on the bar a new setup is created.
🔹 Calculations
This section summarizes the main computations used internally. The goal here is to explain the model mechanics rather than reproduce every implementation detail.
1. Swing Detection (Pivot High / Pivot Low)
Swing levels are detected using a symmetric pivot definition with “Swing Length” bars on both sides:
float ph = ta.pivothigh(high, swingLength, swingLength)
float pl = ta.pivotlow(low, swingLength, swingLength)
When a pivot is confirmed, its price and originating bar index are stored:
-Swing High: price = pivot high, isHigh = true
-Swing Low: price = pivot low, isHigh = false
The script keeps a limited history (most recent swings) to stay efficient.
2. Fair Value Gap Detection
FVGs use the classic three candle displacement imbalance:
Bullish FVG condition
bool isBullFVG = high < low
Bullish gap range is defined as:
-Top = low
-Bottom = high
Bearish FVG condition
bool isBearFVG = low > high
Bearish gap range is defined as:
-Top = low
-Bottom = high
3. ATR Based Minimum Gap Filter
ATR is computed (length 14), then the gap size is compared against a user threshold:
float atr = ta.atr(14)
bool validBullFVG = isBullFVG and (bullFvgTop - bullFvgBot) > (atr * fvgThreshold)
bool validBearFVG = isBearFVG and (bearFvgTop - bearFvgBot) > (atr * fvgThreshold)
This prevents very small imbalances from generating setups in low volatility conditions.
4. “First Break” Check Using Level Invalidation Scan
Before accepting a swing break, the script scans forward from the swing bar to the current bar to confirm the level has not already been breached. The scan can be based on wick or close:
-Wick mode: uses high or low
-Close mode: uses close
Conceptually:
priceToCheck = mode == "Wick" ? (checkBelow ? low : high) : close
If a prior breach is found, the swing is treated as already invalidated and is ignored for setup creation.
5. Break Of Structure Condition
Bullish break requirement
A bullish setup requires breaking a stored swing high with bullish body intent:
-close > swingHighPrice
-open < close
Bearish break requirement
A bearish setup requires breaking a stored swing low with bearish body intent:
-close < swingLowPrice
-open > close
An additional proximity filter is applied in the bearish branch to reduce weak or overly extended breaks by requiring the prior close to be reasonably near the swing level.
6. Breaker Range Construction
Once a qualifying swing is found, the breaker range is derived from the body of the swing candle (the candle at the swing bar index). The body boundaries are:
float breakerTop = math.max(bOpen, bClose)
float breakerBot = math.min(bOpen, bClose)
This models the breaker as the candle body range rather than full wick range, which typically produces more practical invalidation boundaries.
7. Overlap Test Between Breaker and FVG
A setup is only created if the breaker body overlaps the FVG zone. Conceptually the script rejects cases where one range is fully above or fully below the other:
-If there is no overlap, no setup is created
-If overlap exists, the Unicorn setup is valid
8. Active Monitoring and Invalidation
Each setup remains active until invalidated. Invalidation is evaluated every bar using your selected basis:
-Close basis: compares close to breaker boundary
-Wick basis: compares high or low to breaker boundary
Bullish invalidation
Setup fails if price crosses below breaker bottom.
Bearish invalidation
Setup fails if price crosses above breaker top.
If deletion is enabled, all drawings related to that setup are removed immediately on invalidation.
9. Drawing Updates and Object Lifecycle
Breaker and FVG boxes are extended to the right while the setup is active to keep zones visible into the near future. The Unicorn label is also repositioned as new bars print so the most recent context stays readable.
Intermarket SSMT Table [Pogiest]General
Intermarket Sequential Smart Money Technique (IMSSMT) is a Quarterly Theory concept that identifies divergences (extreme highs/lows) when comparing different market triads to another market triad in two consecutive quarters.
SSMT involves identifying divergences in a correlated asset triad that occurs consecutively from the previous quarter to the current quarter to predict new phases of price, a shift in market sentiment, and also potential trend reversals. An SSMT divergence occurs when one or two assets makes a new high or low, but the other asset or assets does not, signaling a potential shift in market direction. A Hidden SSMT Divergence occurs when one or two assets’ closing price closes higher or lower than the other one or two assets’ closing price. However, with potential gaps in price, an opening price can also be the extreme when comparing assets for divergences. Hidden SSMT divergence compares the candle bodies while a Standard SSMT divergence compares the highs and lows. Both types of SSMTs are considered to be cracks in correlation and can be used to identify potential new phases of price whether it be a reversal, retracement, consolidation, and continuation.
Credit of concepts/ideas: ICT & TraderDaye
What Makes This Indicator Unique
The indicator table is designed to be used on any symbol the trader is viewing. For example, the indicator is shown on an NQ chart while selecting three symbols in the Forex triad in settings. The indicator will request the separate data from the symbols selected and display the data within the table. The table does not rely on data on the chart being viewed. Instead of switching charts, the table is used to track other market triads for SSMTs (standard & hidden) while viewing other markets simultaneously.
The indicator has the ability to display Standard SSMTs, Hidden SSMTs, or both simultaneously in real-time, tick by tick in the time period selected in a correlated asset triad within the table. Toggle modes for each type of SSMT will run independently (runs when enabled) and therefore, optimizes performance. The user is able to select three different tickers in settings instead of limiting to pairs. In addition, the indicator has “Invert” toggle options to track both Standard and Hidden SSMTs for assets with negative correlations.
How the Indicator Table Works
The indicator functions to track any divergences from the previous quarter to the current quarter. In addition, the indicator tracks the current status even when there are no divergences (see phase column below).
Timeframe Column:
1. Displays up to two different timeframes to monitor.
Asset Columns:
1. Display up to three different assets to monitor.
2. Cells display “Bull” in green background color or “Bear” in red background color showing the current state of each candle and updates in real-time tick by tick.
Phase Column:
Displays the current status from the previous quarter to the current quarter. The status updates in real-time tick by tick.
1. “F/S” indicates there are no current SSMT divergences between the previous quarter to the current quarter and all assets have not swept the previous quarter, a “failure swing”.
2. “HH” is displayed when all assets have swept the previous quarter’s extreme high. (Higher High)
3. “LL” is displayed when all assets have swept the previous quarter’s extreme low. (Lower Low) See screenshot with drawings below.
4. SSMT indicates there is an SSMT from the previous quarter to the current quarter. Red background is a bearish SSMT (divergence at the highs) or green background is a bullish SSMT (divergence at the lows). If the SSMT becomes invalid (i.e. the last asset sweeps the extreme high/low), then the table will update to display either “HH” or “LL” depending on the extreme it swept. See screenshot with drawings below.
5. “Both” indicates there are SSMT divergences at both the extremes highs and lows. If an SSMT on one side gets deleted, then the cell will automatically update to display the SSMT that is still intact. See screenshot with drawings below.
Invert Toggle Option:
When this setting is turned on, the asset column cells will display the inverted color of the live chart to show assets are in-sync. It will track the inverted swing points for SSMTs, higher highs, lower lows, etc. For example, if EUR and GBP are making lower highs, while DXY (Inverted toggle on), makes a lower low on the actual live chart, it will display “SSMT”.
NOTE:
Scanning function per timeframe to detect SSMTs:
Weekly HTF: Scans 4HR bars
Daily HTF: Scans 1HR bars
6HR/4HR HTF: Scans 15m bars
1HR HTF: Scans 5m bars
5m HTF: Scans 1m bars
The script has fixed lookback periods for bars to ensure the appropriate data is being captured. The higher the timeframe the user selects in settings while viewing on an extremely lower timeframe, the indicator may give inaccurate readings:
Recommended Chart Timeframes:
For best performance and accuracy, view your chart on a timeframe close to or lower than the scan timeframe:
Weekly HTF → View on 1H-4H chart
Daily HTF → View on 1H-4H chart
6HR/4HR HTF → View on 5m-15m chart
90M HTF → View on 3m-15m chart
1H HTF → View on 1m-15m chart
The indicator will attempt to scan further back if needed, but extremely low chart timeframes (e.g., 1m) with high HTF (e.g., Weekly) may still have limitations.
In addition, the indicator bases the SSMT off the previous quarter’s time range to the current quarter’s time range. If there are discrepancies in the time ranges (start to end of higher timeframe period selected), the SSMTs may display differently than what is viewed on the chart. For example, indices open at 18:00 est on a new trading day, so the time ranges matches throughout the day. However, in Forex, EUR and GBP opens at 17:00 est while DXY opens later, so the time ranges may be off (i.e. 6 hour timeframe). For best use, select time periods that matches throughout the day.
Usage
Traders can use both types of SSMT divergences to anticipate potential reversals in points of interest such as higher timeframe swing points, supply/demand zones, higher timeframe imbalances, key levels, etc. This indicator can also be beneficial in identifying cracks in correlation via Hidden SSMT when there are no divergences off the highs and lows. Divergences can come in different forms relating to Intermarket SSMT. For example, if one market triad is all making lower lows while the other market triad is making higher highs, this can be deemed a divergence between the two markets. Another example would be one market triad all makes lower lows while another market triad makes a bullish SSMT. This can potentially signal a bullish move up. SSMT divergences (standard and hidden) can be used as a confirmation tool with other confluences to identify trend direction with respect to points of interest, higher timeframe order-flow, lower timeframe order-flow, etc. In addition, having both a Standard SSMT and Hidden SSMT divergence display could potentially signal a reversal. It is up to the trader to gauge the price action at the time.
Settings
1. Choose up to three different assets to monitor.
Note: If only two are selected, the indicator will only display the two selected and compare the two assets for divergences. If one is selected, a warning sign will be displayed to select at least two assets.
2. Choose up to two different timeframes. Option to deselect timeframes.
3. Enable/disable standard or hidden SSMT.
4. Option to enable alerts. Alerts include the different phases in the table (i.e. SSMT, HH, LL, and Dual SSMT [both standard & hidden) for each timeframe.
5. Toggle option to show/hide the table. Toggle option to show/hide the “Title Row” which is the first row at the top of the table.
6. Adjust the table positioning to be displayed on the chart.
7. Option to change text size in the table cells. This will also increase/decrease the size of the table.
Risk Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial advice. All trading and investment decisions remain solely the responsibility of the user.
Trading involves a high degree of risk, and past performance is not indicative of future results.
Always conduct your own research and consult with a qualified financial professional before making any trading decisions.
By using this indicator, users acknowledge they understand these risks and accept full responsibility for their trading decisions and outcomes.
CRT+ Advance Engulfing | @stefandimovCRT+ Lite implements institutional-style Candle Range Theory logic to identify displacement-driven engulfing structures with precision.
The script focuses on wick-based liquidity grabs, strict body closes, and optional higher-timeframe confirmation to highlight structurally valid bullish and bearish reversals.
Includes a Daily-only multi-market scanner and a compact dashboard for fast top-down analysis.
Designed for traders who prioritize structure, execution precision, and HTF alignment.
Previous Time Based Dealing Ranges [Pro +] | cephxsPrevious Time Based Dealing Ranges 🧪
Visualize previous and current higher timeframe dealing ranges with dual-box OHLC representation, extending reference lines, and HTF candle displays.
OVERVIEW
This indicator displays time-based dealing ranges from higher timeframes directly on your chart. It shows the complete price action structure of previous (or current/forming) periods using a dual-box system: one box for the full High-Low range and another for the Open-Close body. Reference lines extend from key levels to help identify potential support, resistance, and mean reversion zones.
Perfect for traders who use ICT concepts, market structure analysis, or any methodology that relies on understanding where price has been relative to previous dealing ranges.
KEY FEATURES
Dual-Box Range Visualization: Each range displays two boxes - the full H-L range (outer) and the O-C body (inner) - giving immediate visual context of candle structure
Multiple Timeframes: Support for 4H, 6H, 1D, 1W, 1M, and 3M ranges
Previous/Current Mode: View completed ranges (Previous) or the forming range (Current) with real-time updates
Auto Mode: Automatically selects the appropriate range based on your chart timeframe
Reference Lines: Extending lines from High, Mid, Low (or Quadrants: H/75/M/25/L) with trade-into detection
HTF Candle Display: Visual HTF candles positioned to the right of price for context
6H Session Support: Session-aware ranges for Asia, London, NY AM, and NY PM with labeled names
Open Line: Vertical line marking the range's opening price/time
Imbalance Detection: Fair Value Gaps and Volume Imbalances highlighted on HTF candles
MODE OPTIONS
Previous/Current: Previous shows the last completed range. Current shows the forming range with dynamic H/L/C updates
Auto/Manual: Auto selects range by chart TF. Manual lets you choose specific ranges
Extend Box (Current): In Current mode, extends the box's right edge as price develops
AUTO MODE TIMEFRAME LOGIC
Chart < 15m → 6H Range
Chart 15m-1H → 1D Range
Chart 1H-6H → 1W Range
Chart 6H-1D → 1M Range
Chart > 1D → 3M Range
INPUTS
Mode
Mode: Previous/Current - Choose completed or forming range
Auto/Manual: Auto selects range by chart TF, Manual lets you choose
Extend Box (Current): Extends box right edge with price (Current mode only)
Previous Ranges
Range 1: Enable/disable, select timeframe (4H/6H/1D/1W/1M/3M), max display count
Range 2: Second range layer for multi-timeframe analysis
Reference Lines
Line Mode: Levels (H/M/L) or Quadrants (H/75/M/25/L)
Line Style: Solid, dashed, or dotted
Line Thickness: 1-4 pixels
Show Labels: Toggle reference line labels
Label Offset: Distance of labels from current price (1-20 bars)
HTF Candle Levels: Show mini H/M/L lines on HTF candles
Open Line: Vertical line at range open with customizable style
Range Boxes & Colors
Show Range Boxes: Toggle box visibility (lines remain visible)
Per-Range Colors: Customize box and line colors for each timeframe (4H, 6H, 1D, 1W, 1M, 3M)
HTF Candle Styling
Show HTF Candles: Toggle HTF candle display
Body/Border/Wick Colors: Customize bull and bear candle appearance
Padding/Buffer/Width: Control candle spacing and size
Labels
HTF Label: Show timeframe label above/below candles
Remaining Time: Countdown timer to candle close
Label Position: Top, Bottom, or Both
Label Alignment: Align across timeframes or follow individual candles
Imbalance
Fair Value Gap: Highlight FVGs on HTF candles
Volume Imbalance: Highlight VIs on HTF candles
HOW TO USE
Add the indicator to your chart
Choose Previous or Current mode based on your analysis preference
Use Auto mode for intelligent range selection, or Manual to select specific timeframes
Reference lines extend from range levels - watch for price reactions at H/M/L
In Current mode, observe how the range develops with real-time updates
Use the HTF candles on the right for quick multi-timeframe context
REFERENCE LINE LABELS
Labels follow this format:
Previous mode: pD-H (previous Daily High), pW-M (previous Weekly Mid), p6H-London-L (previous 6H London Low)
Current mode: D-H (Daily High), W-M (Weekly Mid), 6H-Asia-L (6H Asia Low)
6H SESSION NAMES
Asia: 18:00-00:00 ET
London: 00:00-06:00 ET
NYAM: 06:00-12:00 ET
NYPM: 12:00-18:00 ET
RECOMMENDED TIMEFRAMES
1-5 minute charts: 6H or 1D ranges
15-60 minute charts: 1D or 1W ranges
4H charts: 1W or 1M ranges
Daily charts: 1M or 3M ranges
Or simply use Auto mode to let the indicator choose the optimal range.
TIPS
The Mid (M) level often acts as equilibrium - watch for mean reversion plays
High and Low levels are more often than not, key to reversals
In Current mode, watch how price interacts with the forming range boundaries
Combine with your existing analysis for confluence
DISCLAIMER
This indicator is for educational and informational purposes only.
Past performance does not guarantee future results.
Always use proper risk management and never risk more than you can afford to lose.
Trading involves substantial risk of loss and is not suitable for all investors.
CREDITS
Original Base HTF candle Plotting Logic by fadizeidan. Put on Steroids by cephxs & fstarcapital.
CHANGELOG
Pro + v1.0: Added Previous/Current mode, 4H range, dual-box visualization, reference lines with trade-into detection, session-aware 6H labels, open line, Auto mode with intelligent TF selection
IFVGs [NINE]Overview
The IFVG Indicator is a precision-engineered tool designed to identify and display Inversion Fair Value Gaps (IFVGs), a powerful price action concept rooted in ICT (Inner Circle Trader) methodology. This indicator automatically detects when price closes through an existing Fair Value Gap, causing the zone to "invert" and flip its directional bias, signaling potential areas of institutional interest for future price reactions.
What is an Inversion Fair Value Gap?
A Fair Value Gap (FVG) is a three-candle pattern where a gap exists between the wicks of the first and third candles, representing an imbalance in price delivery. These zones often act as magnets for price to return and "fill" the inefficiency.
An Inversion Fair Value Gap (IFVG) occurs when price doesn't just tap into an FVG, it closes through it with a candle body. This "inversion" transforms the zone:
A Bullish FVG that gets closed through becomes a Bearish IFVG (potential resistance/supply zone)
A Bearish FVG that gets closed through becomes a Bullish IFVG (potential support/demand zone)
IFVGs represent areas where the market has shown its hand — institutional order flow has aggressively moved through a prior inefficiency, and the inverted zone now becomes a point of interest for potential reversals or continuations.
Key Features
Automatic IFVG Detection
The indicator continuously monitors for Fair Value Gaps and automatically converts them to IFVGs when price body closes through the zone. No manual identification required.
Multiple Display Styles
Choose from four distinct visualization modes to match your chart aesthetic:
Level — Clean, minimal single line at the IFVG extreme (top for bullish, bottom for bearish)
Normal — Filled zone with dashed borders and dot label
Minimalist — High/low boundary lines with connecting link
Classic — Filled box with 50% midline only
Full Customization
Independent colors for bullish and bearish IFVGs
Adjustable transparency for zone fills
Optional 50% midline (Consequent Encroachment level)
Flexible label styles: "IFVG" or "+/−" notation
Multiple label sizes: Tiny, Small, Normal, Large
Smart Extension Options
Extend to Current Bar — Zones dynamically extend as price progresses
Extend to Confirmation — Zones end at the bar where inversion occurred
Manual Offset — Fine-tune extension length in bars
Clustered IFVG Filter
Prevents chart clutter by ensuring only one IFVG per direction forms within a 5-bar cooldown period. When a single candle closes through multiple FVGs, only the first IFVG of that directional series is displayed — eliminating redundant signals and keeping your chart clean.
FVG Lookback Control
Limit which FVGs can become IFVGs based on their age. Options include 10, 50, 100, 200, or 300 bars. This filters out old, stale FVGs that may create less relevant inversions.
Session Time Filters
Optional time-based filtering allows you to focus on specific trading sessions:
Configurable session windows (e.g., 9:30 AM - 12:00 PM)
Support for two independent session filters
Multiple timezone options including New York, London, Tokyo, and more
Volume Imbalance Detection
Optionally include Volume Imbalances (VIs) — gaps between candle bodies rather than wicks — expanding the scope of detectable inefficiencies.
Invalidation Tracking
IFVGs are automatically invalidated when price closes back through the zone in the opposite direction, with optional display of invalidated zones.
How to Use
Entry Confirmation
IFVGs serve as areas for trade entries. When price returns to a confirmed IFVG:
Bullish IFVG — Look for long entries as price taps the zone from above
Bearish IFVG — Look for short entries as price taps the zone from below
Settings Reference
Inversion Fair Value Gaps
Show IFVGs? — Master toggle for IFVG display
Style — Level, Normal, Minimalist, or Classic
Transparency % — Zone fill opacity (0-100)
Historical Display — Maximum IFVGs to show per direction
Bullish/Bearish Colors — Independent color selection
Show Invalidated? — Display IFVGs that have been invalidated
Extend IFVGs? — Enable dynamic zone extension
Extension Mode — Current Bar or Confirmation
Manual Offset — Additional bars to extend
High/Low Lines — Show boundary lines (Minimalist style)
50% Midline — Show Consequent Encroachment level
Show Labels? — Display zone labels
Label Style — IFVG or +/− notation
FVG Lookback — Maximum age of FVGs that can invert
Clustered Filter — Prevent multiple same-direction IFVGs in quick succession
Volume Imbalances — Include body gaps in detection
Session Filters
Enable 1st/2nd Time Filter — Activate session filtering
Session Times — Define active trading windows
Timezone — Reference timezone for session calculations
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, and nothing contained herein constitutes a recommendation, solicitation, or offer to buy or sell any securities, options, or other financial instruments.
Trading involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. You should carefully consider your investment objectives, level of experience, and risk appetite before making any trading decisions.
The developer of this indicator makes no representations or warranties regarding the accuracy, completeness, or reliability of the information provided. You are solely responsible for your own trading decisions and any profits or losses that may result.
Always conduct your own research and consider seeking advice from a licensed financial professional before trading.
SMT (ICT Concepts)Overview
Smart Money Technique (SMT) Divergence is a price action analysis method derived from Inner Circle Trader (ICT) methodology. This indicator automatically detects SMT divergences by comparing price movements across correlated financial instruments, identifying moments when assets that typically move together begin to diverge - a phenomenon often associated with potential price reversals.
An SMT divergence occurs when one instrument makes a new swing high or low while a correlated instrument fails to confirm that move. This failure to confirm suggests that the instrument may be positioning for a reversal, as the divergence indicates a lack of conviction in the current price direction across related markets.
Theoretical Foundation
What is SMT Divergence?
In correlated markets, instruments tend to move in tandem. For example, the E-mini S&P 500 (ES) and E-mini Nasdaq 100 (NQ) futures typically make swing highs and lows together due to their shared exposure to U.S. equity markets. When this correlation breaks down at key swing points, it creates an SMT divergence.
Bullish SMT Divergence:
The chart instrument creates a lower low compared to a previous swing low, while the correlated comparison instrument creates a higher low (or fails to make a lower low). This divergence at the lows suggests potential buying pressure and a possible bullish reversal.
Bearish SMT Divergence:
The chart instrument creates a higher high compared to a previous swing high, while the correlated comparison instrument creates a lower high (or fails to make a higher high). This divergence at the highs suggests potential selling pressure and a possible bearish reversal.
Why SMT Divergences Matter
SMT divergences are considered significant because they may indicate:
Accumulation or distribution occurring in one instrument but not the other
Relative strength or weakness between correlated assets
Potential exhaustion of the current trend
Early warning signs before major reversals
Indicator Features
Multi-Timeframe SMT Detection
This indicator provides simultaneous SMT detection on two timeframes:
Current Timeframe (CTF) Detection:
The indicator scans for SMT divergences on the chart's active timeframe using multiple pivot lookback periods (3, 5, 8, 13, 21, and 34 bars). This multi-period approach ensures detection of both short-term and intermediate swing points, reducing the likelihood of missing valid divergences while filtering out noise.
Higher Timeframe (HTF) Detection:
Simultaneously, the indicator monitors a higher timeframe for SMT divergences using pivot periods of 3, 5, 8, 13, and 21 HTF candles. Higher timeframe signals generally carry more significance as they represent larger market structure.
Automatic Timeframe Pairing:
When enabled, the indicator automatically selects an appropriate higher timeframe based on your chart's current timeframe:
Sub-1 minute charts pair with 5-minute
1-2 minute charts pair with 15-minute
3-4 minute charts pair with 30-minute
5 minute charts pair with 1-hour
6-9 minute charts pair with 1-hour
15 minute charts pair with 4-hour
16-59 minute charts pair with Daily
1-4 hour charts pair with Weekly
Daily charts pair with Monthly
Combined Signal Detection:
When an SMT divergence is detected on both the current timeframe and higher timeframe at the same price pivots, the indicator combines these into a single enhanced signal. Combined signals display both timeframes in the label and use the higher timeframe styling to emphasize their increased significance.
Automatic Symbol Correlation
The indicator includes comprehensive automatic symbol selection based on the instrument you are viewing. When Auto SMT is enabled, the indicator intelligently selects correlated comparison symbols.
Index Futures Correlations:
E-mini Contracts:
NQ (Nasdaq 100) compares with ES (S&P 500) and YM (Dow Jones)
ES (S&P 500) compares with NQ (Nasdaq 100) and YM (Dow Jones)
YM (Dow Jones) compares with NQ (Nasdaq 100) and ES (S&P 500)
RTY (Russell 2000) compares with ES (S&P 500) and NQ (Nasdaq 100)
Micro Contracts:
MNQ (Micro Nasdaq) compares with MES (Micro S&P) and MYM (Micro Dow)
MES (Micro S&P) compares with MNQ (Micro Nasdaq) and MYM (Micro Dow)
MYM (Micro Dow) compares with MNQ (Micro Nasdaq) and MES (Micro S&P)
M2K (Micro Russell) compares with MES (Micro S&P) and MNQ (Micro Nasdaq)
Metals Futures Correlations:
Standard Contracts:
GC (Gold) compares with SI (Silver) and PL (Platinum)
SI (Silver) compares with GC (Gold) and PL (Platinum)
PL (Platinum) compares with GC (Gold) and SI (Silver)
Micro Contracts:
MGC (Micro Gold) compares with SIL (Micro Silver) and PL (Platinum)
SIL (Micro Silver) compares with MGC (Micro Gold) and PL (Platinum)
Energy Futures Correlations:
CL (Crude Oil) compares with RB (RBOB Gasoline) and NG (Natural Gas)
RB (RBOB Gasoline) compares with CL (Crude Oil) and NG (Natural Gas)
NG (Natural Gas) compares with CL (Crude Oil) and RB (RBOB Gasoline)
MCL (Micro Crude) compares with RB (RBOB Gasoline) and NG (Natural Gas)
Major ETF Correlations:
SPY (S&P 500 ETF) compares with QQQ, DIA, and IWM
QQQ (Nasdaq 100 ETF) compares with SPY, DIA, and IWM
DIA (Dow Jones ETF) compares with SPY, QQQ, and IWM
IWM (Russell 2000 ETF) compares with SPY, QQQ, and DIA
Stock Sector Mapping:
When viewing individual stocks, the indicator automatically identifies the stock's sector and selects appropriate sector ETFs for comparison:
Technology Sector (AAPL, MSFT, GOOGL, NVDA, AMD, INTC, etc.):
Primary: QQQ (Nasdaq 100 ETF)
Secondary: XLK (Technology Select Sector SPDR)
Tertiary: SPY (S&P 500 ETF)
Financial Sector (JPM, BAC, GS, MS, WFC, etc.):
Primary: XLF (Financial Select Sector SPDR)
Secondary: KBE (SPDR S&P Bank ETF)
Tertiary: SPY (S&P 500 ETF)
Energy Sector (XOM, CVX, COP, SLB, etc.):
Primary: XLE (Energy Select Sector SPDR)
Secondary: USO (United States Oil Fund)
Tertiary: SPY (S&P 500 ETF)
Healthcare Sector (JNJ, UNH, PFE, MRK, LLY, etc.):
Primary: XLV (Health Care Select Sector SPDR)
Secondary: IBB (iShares Biotechnology ETF)
Tertiary: SPY (S&P 500 ETF)
Consumer Discretionary Sector (TSLA, HD, NKE, MCD, etc.):
Primary: XLY (Consumer Discretionary Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Consumer Staples Sector (PG, KO, PEP, WMT, COST, etc.):
Primary: XLP (Consumer Staples Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Industrial Sector (CAT, BA, HON, UPS, etc.):
Primary: XLI (Industrial Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Materials Sector (LIN, APD, SHW, FCX, NEM, etc.):
Primary: XLB (Materials Select Sector SPDR)
Secondary: GLD (SPDR Gold Shares)
Tertiary: SPY (S&P 500 ETF)
Utilities Sector (NEE, DUK, SO, etc.):
Primary: XLU (Utilities Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Real Estate Sector (AMT, PLD, CCI, etc.):
Primary: XLRE (Real Estate Select Sector SPDR)
Secondary: VNQ (Vanguard Real Estate ETF)
Tertiary: SPY (S&P 500 ETF)
Communication Services Sector (NFLX, DIS, CMCSA, VZ, T, etc.):
Primary: XLC (Communication Services Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Forex Correlations:
EURUSD compares with GBPUSD
GBPUSD compares with EURUSD
Cryptocurrency Correlations:
BTCUSD compares with ETHUSD
ETHUSD compares with BTCUSD
Three-Symbol Comparison
The indicator supports comparison against up to three symbols simultaneously. When multiple comparison symbols show divergence at the same pivot point, all diverging symbols are displayed in the label, providing stronger confluence. For example, if NQ shows divergence with both ES and YM at the same swing high, the label will display "ES1! + YM1!" indicating divergence confirmation from multiple correlated instruments.
Invalidation Logic
SMT divergences are not indefinitely valid. The indicator includes automatic invalidation logic based on price action following the divergence signal.
Invalidation Rules:
Bearish SMT: Invalidates when price trades above the high of the confirmation pivot (right side of the divergence)
Bullish SMT: Invalidates when price trades below the low of the confirmation pivot (right side of the divergence)
The invalidation level is set at the confirmation bar (the second pivot that completes the SMT pattern), not the extreme of both pivots. This approach aligns with the concept that once price exceeds the confirmation point, the divergence setup is no longer valid.
Invalidation Display Options:
Users can choose to show or hide invalidated SMT signals separately for current timeframe and higher timeframe divergences. When shown, invalidated signals can be displayed with different line styles and widths to visually distinguish them from active signals. Separate limits prevent excessive invalidated signals from cluttering the chart (maximum 15 invalidated signals per timeframe type).
Input Settings
General Settings
Enable SMT Detection:
Master toggle to enable or disable all SMT divergence detection. When disabled, no SMT signals will be calculated or displayed.
Direction:
Filter which divergence types to display:
Both: Display both bullish and bearish SMT divergences
Bullish: Display only bullish SMT divergences (divergence at lows)
Bearish: Display only bearish SMT divergences (divergence at highs)
Symbol Settings
Enable Auto SMT:
When enabled, the indicator automatically selects correlated comparison symbols based on the chart instrument using the correlation mappings described above. When disabled, manual symbol inputs are used.
Symbol 1 (with enable toggle):
First comparison symbol. Enabled by default. When Auto SMT is disabled, enter the desired symbol manually.
Symbol 2 (with enable toggle):
Second comparison symbol. Enabled by default. When Auto SMT is disabled, enter the desired symbol manually.
Symbol 3 (with enable toggle):
Third comparison symbol. Disabled by default. Enable for additional confirmation from a third correlated instrument.
Current Timeframe SMT Settings
Show Current TF SMTs:
Toggle visibility of SMT divergences detected on the chart's current timeframe.
Bullish Color:
Color for bullish SMT divergence lines and labels on the current timeframe.
Bearish Color:
Color for bearish SMT divergence lines and labels on the current timeframe.
Line Style:
Style for current timeframe SMT lines (solid, dashed, or dotted).
Line Width:
Width of current timeframe SMT lines (1-4 pixels).
Show Labels:
Toggle visibility of labels on current timeframe SMT divergences.
Label Style:
Normal: Displays full information including timeframe and diverging symbol names
+/-: Displays minimal "+" or "-" characters with full information available in hover tooltip
Label Size:
Size of current timeframe SMT labels (Tiny, Small, Normal, or Large).
Show Invalidated:
Toggle visibility of invalidated current timeframe SMT signals.
Invalidated Line Style:
Line style for invalidated current timeframe SMT signals.
Invalidated Line Width:
Line width for invalidated current timeframe SMT signals.
Higher Timeframe SMT Settings
Show Higher TF SMTs:
Toggle visibility of SMT divergences detected on the higher timeframe.
Auto Timeframe:
When enabled, automatically selects an appropriate higher timeframe based on the chart's current timeframe. When disabled, uses the manually specified timeframe.
Manual Timeframe:
When Auto Timeframe is disabled, specify the higher timeframe to scan for SMT divergences.
Bullish Color:
Color for bullish SMT divergence lines and labels on the higher timeframe.
Bearish Color:
Color for bearish SMT divergence lines and labels on the higher timeframe.
Line Style:
Style for higher timeframe SMT lines (solid, dashed, or dotted).
Line Width:
Width of higher timeframe SMT lines (1-4 pixels).
Show Labels:
Toggle visibility of labels on higher timeframe SMT divergences.
Label Style:
Normal: Displays full information including timeframe and diverging symbol names
+/-: Displays minimal "+" or "-" characters with full information available in hover tooltip
Label Size:
Size of higher timeframe SMT labels (Tiny, Small, Normal, or Large).
Show Invalidated:
Toggle visibility of invalidated higher timeframe SMT signals.
Invalidated Line Style:
Line style for invalidated higher timeframe SMT signals.
Invalidated Line Width:
Line width for invalidated higher timeframe SMT signals.
Visual Representation
Line Display
SMT divergences are displayed as lines connecting the two pivot points that form the divergence:
For bearish SMT: A line connects the previous swing high to the current (higher) swing high
For bullish SMT: A line connects the previous swing low to the current (lower) swing low
The line color indicates the divergence type (bullish or bearish) and whether it was detected on the current timeframe or higher timeframe.
Label Display
Labels are positioned at the midpoint of the SMT line and display:
The timeframe on which the divergence was detected
The symbol(s) that showed divergence with the chart instrument
When using the "+/-" label style, labels show only "+" for bullish or "-" for bearish divergences, with full information accessible via hover tooltip.
All labels use monospace font formatting for consistent visual appearance.
Combined Signals
When the same divergence is detected on both current and higher timeframes, the signals are combined into a single display using higher timeframe styling. The label shows both timeframes (e.g., "M2 + M15") and all diverging symbols, indicating strong multi-timeframe confluence.
Practical Application Guidelines
Signal Interpretation
SMT divergences should be interpreted within the broader market context. Consider the following when evaluating signals:
Market Structure: SMT divergences occurring at key structural levels (previous highs/lows, order blocks, fair value gaps) tend to be more significant.
Timeframe Confluence: Signals appearing on multiple timeframes simultaneously suggest stronger institutional involvement.
Symbol Confluence: Divergences confirmed by multiple comparison symbols indicate broader market disagreement with the current price direction.
Time of Day: SMT divergences during high-volume trading sessions may carry more weight than those during low-liquidity periods.
Limitations and Considerations
Correlation Variability: Correlations between instruments can strengthen or weaken over time. The automatic symbol selection is based on typical correlations but may not always reflect current market conditions.
Pivot Detection Lag: Pivots are only confirmed after subsequent price action, meaning SMT signals appear with some delay after the actual swing point forms.
False Signals: Not all SMT divergences result in reversals. Use additional confirmation methods and proper risk management.
Data Requirements: The indicator requires sufficient historical data and may not function properly on instruments with limited price history.
Technical Notes
The indicator uses multiple pivot detection periods to identify swing points across different scales
Higher timeframe candle tracking is performed on the lower timeframe chart for precise pivot bar indexing
A deduplication system prevents the same divergence from being detected multiple times across different pivot periods
Array-based storage manages active and invalidated SMT signals with automatic cleanup to prevent memory issues
Maximum label and line counts are set to 500 each to accommodate extended analysis periods
Disclaimer
This indicator is provided for educational and informational purposes only. It is designed to assist traders in identifying potential SMT divergences based on historical price data and should not be considered as financial advice or a recommendation to buy or sell any financial instrument.
Trading financial markets involves substantial risk of loss and is not suitable for all investors. Past performance of any trading methodology, including concepts discussed in this indicator, does not guarantee future results. Users should conduct their own research and analysis before making any trading decisions.
The automatic symbol correlations and sector mappings are based on general market relationships and may not accurately reflect current or future correlations. Users are encouraged to verify correlations independently and adjust comparison symbols as needed.
Always use appropriate risk management techniques, including but not limited to position sizing and stop-loss orders. Never risk more capital than you can afford to lose.
Session Killzone & Liquidity Sweep Engine [2025]A session-based market analysis tool designed to visualize key intraday trading sessions and monitor price interaction with session highs and lows.
The script draws configurable session ranges (Asia, London, New York AM, Lunch, and PM) using session-based boxes. For each session, the high and low levels are calculated in real time and projected forward as reference levels.
Each session high and low reacts dynamically to price behavior:
• If price wicks beyond a session level without a candle close beyond it, the level is marked as a liquidity sweep and stops extending.
• If price closes beyond a session level, the level is considered invalidated and removed.
Optional midpoint levels can be displayed for each session. Users can choose whether levels extend only until mitigation or continue beyond it, as well as whether only the most recent session or all past sessions are tracked.
Additional features include:
• Timezone support with proper session alignment
• Session drawing limits to manage chart clutter
• Timeframe filtering to restrict drawings to lower timeframes
• Optional alerts when session highs or lows are broken by a candle close
• Extensive customization for colors, line styles, labels, and visibility
This tool is intended for traders who analyze intraday price behavior around session highs and lows and want a structured way to observe wick-based interactions and level invalidations.
INSTITUTIONAL MOMENTUM [@Ash_TheTrader]⚡ The Impulse Engine: Institutional Velocity & Smart Structure System
Subtitle/Short Description: Stop looking at just Open and Close. Visualize the speed of price action, detect institutional footprints, and trade off dynamic "living" market structure that flips and burns automatically. Developed by @Ash_TheTrader.
The Hidden Dimension of Price Action
Most traders look at a standard candlestick and see four data points: Open, High, Low, and Close.
But this hides the most critical information: The struggle.
Did the buyers step in aggressively in the first 5 minutes, pushing price to highs instantly? (Institutional buying)
Or did it take 59 minutes of slow, grinding effort to reach that high? (Retail exhaustion/Trap)
Standard candles look identical in both scenarios. The Impulse Engine, developed by @Ash_TheTrader, solves this by visualizing the "Speed of Price" (Velocity) directly onto your chart, combined with a state-of-the-art, dynamic market structure system.
It’s not just an indicator; it’s a complete market X-ray.
1. The Velocity Painter: See the Speed ⚡
The core of this system is the Velocity Engine. It looks "inside" your current timeframe bar (using lower timeframe data) to calculate how fast price traveled to its extremes.
It paints the bars based on institutional urgency, allowing you to ignore the noise and focus on the momentum.
The Visual Code:
⚡ NEON CYAN (Bullish Impulse) : Aggressive buying. Price ripped from the open to the high very quickly. This is where the smart money is stepping on the gas.
⚡ NEON MAGENTA (Bearish Impulse): Aggressive selling. Price crashed from the open to the low immediately.
💤 FADED GREY (Exhaustion/Trap): The "grind." Price took a long time to reach its extremes. These are often low-momentum environments or potential traps waiting to reverse.
STANDARD GREEN/RED: Normal market flow with no significant velocity extremes.
"Trade the Neon, Ignore the Grey." — @Ash_TheTrader
2. Smart Structure: "Living" Levels 🏗️
Old-school pivot indicators clutter your chart with endless historical lines that are no longer relevant. The Impulse Engine uses a "Living Structure" algorithm that manages the lifecycle of every support and resistance level.
It only shows you the two most relevant Resistance levels (R1, R2) above price, and the two most relevant Support levels (S1, S2) below price.
Risk-Based Classification:
You choose the structure based on your trading style in the settings:
Scalp Mode: Detects short-term, 5-bar swings. (Thin dotted lines).
Trend Mode: Detects standard trend swings (21-bar). (Dashed lines).
Major Swing: Detects deep, major structural points (60-bar). (Thick solid lines).
The "Flip & Burn" Mechanic (Viral Feature) 🔥
This is where the system gets smart. It understands market mechanics:
The Flip (Role Reversal): If a Resistance level is broken by a candle close, it automatically turns Gold and becomes Support (Flip). The same applies to Support turning into Resistance. You no longer need to guess if an old level will hold from the other side.
The Burn (Auto-Cleaning): If a "Flipped" level is broken again, the system recognizes it has lost its structural integrity. The line is instantly "burned" (removed from the chart).
This ensures your chart only ever shows levels that are active and respected.
3. Whale Signs: The Footprint of Big Money 🐋
Sometimes, velocity isn't enough. You need to see raw power.
The Whale Sign feature detects massive expansions in volatility. It flags any candle whose range is significantly larger (default 2x) than the average of the previous two candles.
💚 Green Triangle + $ (Below Bar): A massive bullish expansion candle. A "Wake Up" call for longs.
❤️ Red Triangle + $ (Above Bar): A massive bearish expansion candle. A warning sign for shorts.
These often precede sustained velocity moves.
4. The Pro HUD (Heads-Up Display) 💻
In the bottom right corner, the dynamic HUD gives you a real-time health check of the current candle.
Status Header: Instantly tells you if the current candle is IMPULSE, EXHAUSTION, or NORMAL.
Live Velocity %: The exact speed score. The text color changes to Neon during impulses and fades to grey during exhaustion.
Mode Info: Reminds you which risk setting you are currently using (e.g., Mode: ).
Signature: The official @Ash_TheTrader stamp of quality.
How to Trade With The Impulse Engine
This system is designed for confluence. Never trade a signal in isolation.
📈 Strategy 1 : The "Velocity Bounce" (Trend Continuation)
Ensure the market is trending (e.g., making higher highs).
Wait for price to pull back to a Smart Support level (Cyan dashed line or Gold "Flip" line).
Trigger: Look for a Neon Cyan Impulse Candle to form right off that support level. This confirms institutions are defending the structure with speed.
📉 Strategy 2: The "Whale Breakout"
Identify a consolidation zone below a Smart Resistance level.
Trigger: A Whale Sign ($) appears on a candle that successfully closes above the Resistance level.
Confirmation: The very next candle should ideally be a Neon Impulse candle continuing the move.
Conclusion
The markets are moved by aggression and speed. By obscuring this data, standard charts put you at a disadvantage.
The Impulse Engine brings this hidden data to the forefront, combining institutional velocity detection with smart, automated market structure that reacts to price just like a professional trader would.
Trade faster, trade smarter.
Developed by @Ash_TheTrader.
(Disclaimer: This tool is for informational purposes only and does not constitute financial advice. Always manage your risk.)
ICT Macro Tracker - Study Version (Original by toodegrees)This indicator is a modified study version of the ICT Algorithmic Macro Tracker by toodegrees, based on the original open-source script available at The original indicator plots ICT Macro windows on the chart, corresponding to specific time [ periods when the Interbank Price Delivery Algorithm undergoes checks/instructions (aka "macros") for the price engine to reprice to an area of liquidity or inefficiency.
This study version adds functionality to hide bars outside macro periods. When enabled, the indicator draws boxes that cover the full chart height during non-macro periods, obscuring those bars so only macro periods are visible. This helps focus on macro-only price action. The feature is configurable, allowing users to enable or disable it and customize the box color. All original functionality remains intact.
ForzAguanno - Premium / Discount (Range Glissant)Premium / Discount Zones – Dynamic Range (Fibo-based)
This indicator highlights Premium, Discount, and Equilibrium zones using a dynamic Fibonacci range calculated from recent price action.
It is designed to help traders contextualize price and avoid taking trades in unfavorable locations (e.g. buying too high or selling too low).
- How it works
The indicator automatically:
- Detects the highest high (HH) and lowest low (LL) over a rolling range
- Builds a Fibonacci-style structure between LL → HH
- Defines three key areas:
Discount Zone (lower part of the range)
Equilibrium Zone (around the 50% level)
Premium Zone (upper part of the range)
Two additional extreme levels are used:
0.075 → deep discount
0.925 → deep premium
These levels help isolate areas where price is statistically stretched.
- Visual elements
- Horizontal levels:
- Green → Discount
- Purple → Equilibrium
- Red → Premium
- Text labels are placed inside each zone for instant readability.
Zones are extended into the future for cleaner visualization.
- How to use it
This tool is best used as a context filter, not a standalone signal generator.
Typical use cases:
Look for longs in Discount
Look for shorts in Premium
Use Equilibrium as a neutral / decision zone
Combine with structure, momentum, or entry models
It works particularly well with:
Market structure concepts
Smart money / range-based trading
Session-based strategies
⚠️ Important notes
This indicator does not predict direction
It provides context, not signals
Always combine with proper risk management
Final thoughts
The goal of this indicator is simplicity and clarity:
Know where price is located inside its range before taking a trade.
If you find it useful, feel free to share feedback.
Orderblock Footprints [AlgoAlpha]🟠 OVERVIEW
This script highlights orderblocks and then drills into what actually trades inside them. Zones are created only after an abnormal directional impulse, measured with a z-score on consecutive candle bodies, so the orderblocks are tied to real expansion rather than simple pivots. Once a zone exists, the script overlays lower-timeframe volume footprints inside the candle when price trades back into that zone. The goal is to show not just where an orderblock sits, but whether price is being accepted or absorbed when it is revisited.
🟠 CONCEPTS
Orderblocks are detected after extreme bullish or bearish impulses. The script tracks consecutive body movement up or down, normalizes that distance with a rolling z-score, and only triggers when the move is statistically large. The last opposite candle before that impulse defines the orderblock range. These zones then extend forward until they are either mitigated by price closing through them or they expire by age.
Inside an active zone, the script switches to a lower timeframe and builds a footprint-style profile for each bar. Each candle is split into price rows, counting time-at-price and volume delta. Positive and negative delta are colored separately. Absorption is flagged when opposing delta prints appear in the wick that rejects the zone. In practice: the impulse defines context ; the footprint shows interaction .
🟠 FEATURES
Separate bullish and bearish zones with automatic extension
Volume split inside each zone candle (up vs down volume)
Lower-timeframe footprint with TPO-style rows and delta gradient
Absorption detection using opposing delta in rejection wicks
Alerts for zone creation and absorption events
🟠 USAGE
Setup : Add the script to your chart. It works on any market and timeframe. The lower timeframe for footprints is fixed at 5 minutes, so higher chart timeframes show clearer structure. Use the Z-Score Window to control how strict impulse detection is and Max Box Age to limit how long old zones stay on the chart.
Read the chart : Bullish orderblocks are created after strong upward impulses and are invalidated when price closes below them. Bearish orderblocks are created after strong downward impulses and are invalidated when price closes above them. When price trades inside a zone, footprint rows appear. Green-tinted rows show positive delta; red-tinted rows show negative delta. Absorption labels appear when opposing delta prints into a rejecting wick.
Settings that matter : Increasing the Z-Score Window makes orderblocks rarer but more significant. Disabling Prevent Overlap allows stacked zones if you want to study clustering. Adjusting Rows per bar changes footprint resolution—lower values are cleaner, higher values show more detail but use more objects.
IFVG Pro v.1Detects IFVGs in real time.
Includes alerts for specific timeframes.
This is my first indicator so I will be continually working on it to make it better and more accurate. Thanks for trying it out!
Po3 CandlesPo3 Candles is a clean visual tool that projects higher-timeframe candles (default: 4H) onto the right side of any chart, regardless of the chart’s current timeframe. This allows traders to see the structure of the higher timeframe ahead of price, without switching charts.
This is especially useful for:
ICT / SMC style traders
Traders who rely on HTF bias
Intraday traders who want to monitor HTF PO3 sequences
Futures, indices, crypto, and FX
What It Does
This indicator displays the last N higher-timeframe candles (1–4), drawn to the right side of your chart:
Always uses real HTF data, independent of the current chart timeframe
Candles appear oldest on the left → newest on the right
Can show only the current HTF candle or up to 4 candles total
Includes fully centered wicks for clean visual alignment
Candle body width + spacing are configurable
Candle colors can match your chart theme
The result is a floating, mini HTF “chart” that updates live as the current HTF candle forms.
TGIF Dynamic Tracker [NINE]Overview
A professional-grade indicator for tracking weekly price ranges and identifying high-probability retracement zones based on the TGIF (Thank God It's Friday) concept from ICT (Inner Circle Trader) methodology.
What is the TGIF Concept?
The TGIF concept is based on the observation that price tends to retrace a significant portion of the weekly range toward the end of the trading week — typically on Thursday evening or Friday. This phenomenon occurs as institutional traders take profits and rebalance positions before the weekend, creating predictable retracement patterns.
By identifying the weekly high and low, traders can anticipate specific retracement levels where price is likely to find support or resistance. The most commonly referenced retracement zone is the 20-30% level, representing a shallow pullback from the week's extreme before potential continuation.
Features In Depth
Weekly High/Low Tracking
The foundation of the TGIF strategy is accurately tracking the current week's price extremes.
Automatic Detection: The indicator continuously monitors price action and updates the weekly high and low in real-time. As new extremes are made, all dependent calculations (retracement zones, percentage levels) update automatically.
Smart Session Timing: The indicator automatically detects your market type and adjusts accordingly:
Stocks/ETFs: Week begins Monday at 9:30 AM ET (market open)
Forex/Crypto/Futures: Week begins Sunday at 6:00 PM ET (18:00)
This ensures accurate weekly range calculations regardless of which market you're trading.
Visual Customization:
Enable/disable weekly high and low lines independently
Choose line color, style (solid, dashed, dotted), and thickness
Lines extend from week start to current bar
Percentage Level Lines
Individual horizontal lines mark key retracement percentages within the weekly range.
Available Levels:
20% — Shallow retracement, first potential support/resistance
30% — Edge of the primary TGIF zone
50% — Mid-range equilibrium point
60% — Beginning of deeper retracement territory
80% — Deep retracement zone
90% — Near-complete retracement
Independent Controls: Each level can be toggled on or off individually, allowing you to display only the levels relevant to your trading strategy. All levels share common styling settings for a clean, consistent appearance.
Dynamic Bias Adjustment: Levels automatically adjust based on the current weekly bias:
Bullish Bias (new weekly high made): Levels measure DOWN from the high
Bearish Bias (new weekly low made): Levels measure UP from the low
This ensures retracement zones always point toward the direction of potential pullback.
Retracement Zones
Highlighted zones visually emphasize the most significant retracement areas.
Three Configurable Zones:
20-30% Zone (Primary TGIF Zone)
This is the classic TGIF retracement area. When price makes a weekly high or low, traders anticipate a pullback to this zone before potential continuation. This shallow retracement often provides optimal risk/reward entries in the direction of the weekly trend.
50-60% Zone (Equilibrium Zone)
Represents a balanced pullback to the middle of the weekly range. Price reaching this zone suggests a more significant retracement is underway. This area often acts as a decision point — price either finds support/resistance here or continues toward deeper retracement levels.
80-90% Zone (Deep Retracement Zone)
Indicates a near-complete retracement of the weekly range. Price reaching this zone suggests the original weekly move may be fully reversing. Traders watch for reversal signals here or prepare for a potential range expansion in the opposite direction.
Zone Display Options:
Each zone can be enabled/disabled independently
Customizable background colors with transparency control
Zones only appear during the retracement period (starting Thursday/Friday)
Midlines: Optional center lines within each zone (25%, 55%, 85%) provide additional precision points. These midlines often act as the "sweet spot" within each retracement band.
Time-Based Markers
Vertical lines help you identify important session boundaries and timing.
Daily Session Lines:
Mark the start of each trading day with vertical lines extending through the weekly range.
Stocks: 9:30 AM ET (NYSE/NASDAQ open)
Forex/Crypto/Futures: 6:00 PM ET (18:00 — New York session close/new day start)
Control how many historical session lines remain visible (1-5) to avoid chart clutter while maintaining useful reference points.
Weekly Start Lines:
A distinct vertical line marks the beginning of each trading week, providing clear visual separation between weeks and helping you identify the starting point for weekly range calculations.
Retracement Start Lines:
Mark when the TGIF retracement period begins — this is when you should start watching for pullbacks to the retracement zones.
Stocks: Friday 9:30 AM ET (Friday market open)
Forex/Crypto/Futures: Thursday 6:00 PM ET (18:00)
Historical Weeks
View retracement data from previous weeks to identify recurring patterns and validate the TGIF concept on your chosen instrument.
Historical Tracking:
Display up to 20 previous weeks of data
Each historical week shows its own high/low lines, retracement zones, and time markers
Helps identify how consistently the instrument respects TGIF levels
What's Displayed:
Weekly high and low boundaries
All enabled retracement zones with midlines
Weekly start and retracement start lines
Optional labels for historical levels
Historical Labels: Toggle labels on historical weeks independently. Disable them to reduce clutter while keeping the visual reference lines.
Use Cases:
Backtest TGIF setups visually on your chart
Identify instruments that respect TGIF levels consistently
Study how deep retracements typically go on your chosen market
Labels & Display Modes
Comprehensive labeling options for quick reference.
Label Display Modes:
Levels: Shows only the level name (e.g., "HIGH", "20%", "50%")
Price: Shows only the price value
Both: Shows level name and price (e.g., "20% | 1.2345")
Label Positioning: Labels appear to the right of the current bar, staying visible as price action develops.
Tooltips: When using "Levels" display mode, hover over any label to see the exact price in the tooltip.
Label Customization:
Text size: Tiny, Small, Normal, Large, Huge
Text color selection
Labels use monospace font for clean alignment
Info Table
An optional real-time summary table showing all current levels and their distance from price.
Table Contents:
Current day indicator (MON, TUE, WED, THU, FRI)
All six percentage levels (20%, 30%, 50%, 60%, 80%, 90%)
Exact price for each level
Distance from current price to each level
Adaptive Theming: The table automatically detects your chart's background color (light or dark) and adjusts text and border colors for optimal readability.
Display Settings:
9 position options (corners, edges, and center)
Size options: Tiny, Small, Normal, Large
Practical Use: Quickly identify which level is nearest to current price without visually scanning the chart. The distance column helps assess how far price needs to travel to reach key zones.
Smart Market Detection
The indicator automatically identifies your market type and adjusts all timing calculations.
Detected Market Types:
Stocks & ETFs:
Week starts: Monday 9:30 AM ET
Daily sessions: 9:30 AM ET
Retracement period begins: Friday 9:30 AM ET
Standard equity market hours apply
Forex & Crypto:
Week starts: Sunday 6:00 PM ET (18:00)
Daily sessions: 6:00 PM ET (18:00)
Retracement period begins: Thursday 6:00 PM ET (18:00)
24-hour market timing with New York session rollover
Futures Contracts:
Automatically detected via common futures symbols (ES, NQ, YM, RTY, CL, GC, etc.)
Uses forex-style timing (18:00 ET rollover)
Handles continuous contracts and front-month symbols
This automatic detection ensures you get accurate weekly ranges without manual configuration.
Bias Tracking
The indicator dynamically tracks weekly directional bias to orient retracement calculations correctly.
How Bias is Determined:
When price makes a new weekly high, bias shifts to BULLISH
When price makes a new weekly low, bias shifts to BEARISH
Bias can change multiple times throughout the week as new extremes are made
Why Bias Matters:
Retracement levels are calculated from the appropriate extreme based on current bias:
Bullish bias: Levels measure DOWN from the weekly high (anticipating pullback from high)
Bearish bias: Levels measure UP from the weekly low (anticipating pullback from low)
This ensures the 20-30% zone always represents a shallow retracement in the context of the current weekly direction.
Tips
Best Results on Trending Weeks: TGIF works best when there's a clear weekly direction. Choppy, range-bound weeks may not produce clean retracements.
Combine with Other Confluence: TGIF levels are most powerful when they align with other technical factors — Fair Value Gaps, order blocks, previous week highs/lows, or key support/resistance levels.
Use Historical Data: Enable historical weeks to see how your instrument typically respects TGIF levels. Some instruments are more "TGIF-friendly" than others.
Midlines as Precision Points: The midlines (25%, 55%, 85%) often act as the exact reversal point within each zone. Watch for reactions specifically at these levels.
Friday Afternoon Caution: Late Friday sessions can be thin and choppy. Consider taking profits or reducing position sizes heading into the weekend.
Requirements
Intraday Timeframes Only: This indicator requires timeframes of 1 hour or less for accurate session and weekly boundary detection.
Sufficient Historical Data: When using the Historical Weeks feature, ensure your chart has enough bars loaded to display the requested number of weeks.
Session-Based Markets: Optimized for markets with distinct sessions. Continuous 24/7 markets may show different characteristics.
Disclaimer
For Educational and Informational Purposes Only
This indicator is provided as a technical analysis tool for educational and informational purposes only. It is not intended as, and should not be construed as, financial advice, investment advice, trading advice, or any other type of advice.
No Guarantees: Past performance of any trading strategy, indicator, or methodology is not indicative of future results. The TGIF concept and associated retracement levels do not guarantee that price will behave in any predicted manner. Markets are inherently
unpredictable, and no technical indicator can accurately predict future price movements.
Risk Warning: Trading financial instruments involves substantial risk of loss and is not suitable for all investors. You should carefully consider your investment objectives, level of experience, and risk appetite before trading. Never trade with money you cannot afford to lose.
Not Financial Advice: The creator of this indicator (NINE) is not a licensed financial advisor, broker, or dealer. Nothing in this indicator or its documentation should be interpreted as a recommendation to buy, sell, or hold any financial instrument.
Your Responsibility: You are solely responsible for your own trading decisions. Always conduct your own research and due diligence before making any trading or investment decisions. Consider consulting with a qualified financial professional before trading.
No Liability: The creator assumes no responsibility or liability for any errors, inaccuracies, or omissions in this indicator or its documentation. The creator shall not be held liable for any losses, damages, or costs arising from the use or inability to use this indicator.
NWOG/NDOG [NINE]Overview
A professional-grade indicator for detecting and visualizing New Week Opening Gaps (NWOGs) and New Day Opening Gaps (NDOGs), essential concepts in ICT (Inner Circle Trader) methodology and analysis.
What Are Opening Gaps?
Opening gaps represent price inefficiencies created between trading sessions. When one session closes and the next session opens at a different price, the resulting "gap" creates a zone of unfilled orders and potential liquidity. These gaps often act as magnets for price, providing high-probability trading opportunities as the market seeks to rebalance these inefficiencies.
NWOG (New Week Opening Gap)
The gap between Friday's close and Sunday's open. These weekly imbalances are significant because they represent the collective repositioning of institutional traders over the weekend. NWOGs frequently serve as major support/resistance zones that can influence price action for days or even weeks. Due to their larger timeframe context, NWOGs typically carry more weight than daily gaps.
NDOG (New Day Opening Gap)
The gap between one session's close and the next session's open. Daily gaps occur more frequently than weekly gaps, offering more regular trading setups. While individually less significant than NWOGs, NDOGs provide valuable intraday reference points and often fill within the same trading session.
Features In Depth
Gap Detection & Visualization
The indicator automatically identifies and plots opening gaps as they form in real-time.
Automatic Detection: The indicator monitors session transitions and instantly identifies when a gap forms between the previous close and current open. NWOGs are detected on Sunday opens, while NDOGs are detected at each new daily session open (excluding Sundays, which are reserved for NWOG detection).
Bullish vs Bearish Classification: Each gap is automatically classified based on its direction:
Bullish Gap (Gap Up): Current open is higher than previous close, indicates overnight buying pressure
Bearish Gap (Gap Down): Current open is lower than previous close, indicates overnight selling pressure
The indicator uses distinct color schemes for bullish and bearish gaps, making it easy to identify gap direction at a glance. Current/most recent gaps use the "new" color settings, while historical gaps use the standard color settings.
Historical Tracking: Track up to 20 gaps of each type simultaneously. The "Historical Count" setting controls how many gaps remain visible on your chart. Older gaps are automatically removed as new ones form, keeping your chart clean while maintaining relevant historical context.
Visual Customization:
Toggle gap boundary lines (HIGH/LOW) on or off independently from the background fill
Choose line styles: solid (⎯⎯⎯), dashed (----), or dotted (····)
Adjust line thickness from 1-4 pixels
Enable/disable background fill with customizable transparency
Set colors independently for current vs historical gaps
Consequent Encroachment (C.E.)
The Consequent Encroachment represents the 50% midpoint of a gap — a critical level in ICT methodology.
Why C.E. Matters: In smart money concepts, the C.E. level represents the point of maximum efficiency within an imbalance. Price often gravitates toward this level as it seeks to rebalance the gap. Many traders use C.E. as their primary target when trading gap fills, or as a key level for entries and stop placement.
C.E. Display Options:
Independent color settings for current vs historical gaps
Separate line style and thickness controls
Can be shown/hidden independently from gap boundaries
Quarter Levels (25% and 75%): For traders who want additional precision, the indicator offers optional quarter levels at 25% and 75% of the gap range. These levels can serve as:
Partial profit targets
Scaling entry points
Additional support/resistance zones within the gap
Fill Tracking & Percentage
The indicator provides sophisticated fill tracking to monitor how much of each gap has been "filled" by subsequent price action.
How Fill Percentage Works:
For bullish gaps (gap up): Measures how far price has retraced DOWN from the gap's high toward its low
For bearish gaps (gap down): Measures how far price has retraced UP from the gap's low toward its high
The fill percentage updates in real-time as price moves through the gap zone, giving you instant feedback on gap fill progress.
Fill Detection Methods:
Wicks: Uses the full candle range (high/low) — more sensitive, detects fills earlier
Bodies: Uses only open/close prices — more conservative, requires stronger commitment
Visual Fill Indicators: The fill percentage is displayed with intuitive symbols:
〇 0-24% filled — Gap is largely untouched
◔ 25-49% filled — Minor fill in progress
◑ 50-74% filled — C.E. level has been reached
◕ 75-99% filled — Gap nearly complete
⬤ 100% filled — Gap fully filled
Hide Filled Gaps: Enable this option to automatically remove gaps from your chart once they reach 100% fill. This keeps your chart focused on active, unfilled gaps that still represent potential trading opportunities.
Projection Levels
When price breaks out of a gap zone, projection levels provide potential targets based on the gap's size.
How Projections Work: Once price closes above a gap's high (for upward projections) or below a gap's low (for downward projections), the indicator calculates extension levels using the gap's range as a measuring unit. These projections function similarly to Fibonacci extensions but are anchored to the gap's dimensions.
Projection Direction:
Upward Projections: Triggered when price closes above the gap's high — levels project above the gap
Downward Projections: Triggered when price closes below the gap's low — levels project below the gap
Customizable Multipliers: Define your own projection levels using the "Projection Levels" input. Enter comma-separated values representing multiples of the gap size:
Default: 0.5,1,2,2.5
Example custom: 0.618,1,1.618,2,2.618 (Fibonacci-based)
Each value creates a projection line at that multiple of the gap range
Projection Display Options:
Side: Display projections on the Left (extending back from gap formation) or Right (extending forward)
Color, Style, Thickness: Full visual customization
Labels: Show multiplier values at each projection level
"Extend Until Tapped" Feature: When enabled (Left side only), projection lines stop extending once price touches them. This creates a visual record of which levels have been reached and when, helping you track projection performance over time. Untapped projections continue extending until they're reached.
Labels & Formatting
Comprehensive labeling options help you quickly identify and reference gaps on your chart.
Label Format Options:
Gap Type: Simple label showing "NWOG" or "NDOG"
Gap Type + Date: Includes the full date with day of week (e.g., "NWOG Monday, November 3, 2025")
Gap Type + Date + Filled Percent: Adds the fill percentage and symbol (e.g., "NWOG Monday, November 3, 2025 ")
Label Positioning:
When Show Levels is ON: Separate labels appear at the HIGH and LOW boundaries
When Show Levels is OFF: A single label appears at the C.E. (midpoint) level
Label Customization:
Text size: Tiny, Small, Normal, or Large
Text color and background color (set background transparency to 100 for no background)
Tooltips provide detailed information including all price levels and fill percentage
Hide Historical Labels: Enable this option to hide labels and projection text on all gaps except the most recent. Lines remain visible, but text clutter is reduced — useful when tracking many historical gaps.
Status Table
An optional summary table provides at-a-glance information about all active gaps.
Table Contents: For each active gap, the table displays:
Gap Type: NWOG or NDOG with date
HIGH: Upper boundary of the gap
LOW: Lower boundary of the gap
C.E.: Consequent Encroachment (50% level)
% Filled: Current fill percentage with visual symbol
Display Settings:
Position: 9 positions available (Top/Middle/Bottom × Left/Center/Right)
Size: Tiny, Small, or Normal text
Gap Count: Control how many NWOGs and NDOGs appear in the table (1-3 each)
Adaptive Theming: The table automatically detects your chart's background color and adjusts text colors for optimal readability on both light and dark themes.
Smart Filtering: The table only shows unfilled gaps (or gaps not hidden by the "Hide Filled" setting), keeping the display focused on actionable information.
Alert System
Stay informed of key gap events without constantly monitoring your charts.
Gap Formation Alerts: Receive an alert the moment a new gap is detected. The alert includes:
Gap direction (Bullish/Bearish)
Gap type (NWOG/NDOG)
Symbol name
Example: "Bullish NWOG formed on AMEX:SPY "
Gap Filled Alerts: Get notified when a gap reaches 100% fill. This is valuable for:
Confirming trade targets have been reached
Identifying when gaps are no longer active reference points
Example: "NWOG filled on AMEX:SPY "
Projection Level Alerts: Receive alerts when price reaches your defined projection levels. Each level only alerts once, preventing spam. Useful for:
Taking profits at projection targets
Identifying extended moves beyond the gap
Example: "NWOG 2x projection reached on AMEX:SPY "
General Settings
Gap Offset: Controls how many bars the gap lines extend to the right of the current candle (0-15 bars). A higher offset keeps labels and lines visible further into the future, while a lower offset keeps the display tighter to current price action.
Tips
NWOG Priority: NWOGs typically hold more significance than NDOGs due to their weekly timeframe. When NWOG and NDOG levels conflict, consider giving more weight to the NWOG.
Unfilled Historical Gaps: Gaps from days or weeks ago can still influence current price action. Don't ignore older unfilled gaps — they often become relevant when price returns to those zones.
Session Context: Pay attention to which session created the gap. Gaps formed during high-volume sessions (like NYSE open) may carry more significance than gaps from lower-volume periods.
Gap Size Matters: Larger gaps represent more significant imbalances and often provide stronger support/resistance. Smaller gaps may fill quickly and offer less reliable levels.
Clean Chart Option: Use "Hide Historical Labels" combined with the status table to maintain a clean chart while still having access to all gap information.
Requirements
Intraday Timeframes Only: This indicator works exclusively on intraday timeframes (minutes, hours). Gap detection requires session open/close data that is only available on intraday charts.
Sufficient Historical Data: Ensure your chart has enough historical bars loaded for accurate gap tracking, especially if using higher historical count settings.
Session-Based Markets: The indicator is optimized for markets with distinct trading sessions (stocks, futures, forex). 24/7 markets like crypto may show fewer or different gap patterns.
Disclaimer
For Educational and Informational Purposes Only
This indicator is provided as a technical analysis tool for educational and informational purposes only. It is not intended as, and should not be construed as, financial advice, investment advice, trading advice, or any other type of advice.
No Guarantees: Past performance of any trading strategy, indicator, or methodology is not indicative of future results. The identification of gaps, projections, and fill levels does not guarantee that price will behave in any predicted manner. Markets are inherently unpredictable, and no technical indicator can accurately predict future price movements.
Risk Warning: Trading financial instruments involves substantial risk of loss and is not suitable for all investors. You should carefully consider your investment objectives, level of experience, and risk appetite before trading. Never trade with money you cannot afford to lose.
Not Financial Advice: The creator of this indicator (NINE) is not a licensed financial advisor, broker, or dealer. Nothing in this indicator or its documentation should be interpreted as a recommendation to buy, sell, or hold any financial instrument.
Your Responsibility: You are solely responsible for your own trading decisions. Always conduct your own research and due diligence before making any trading or investment decisions. Consider consulting with a qualified financial professional before trading.
No Liability: The creator assumes no responsibility or liability for any errors, inaccuracies, or omissions in this indicator or its documentation. The creator shall not be held liable for any losses, damages, or costs arising from the use or inability to use this indicator.
Fair Value Gap Signals [Kodexius]Fair Value Gap Signals is an advanced market structure tool that automatically detects and tracks Fair Value Gaps (FVGs), evaluates the quality of each gap, and highlights high value reaction zones with visual metrics and signal markers.
The script is designed for traders who focus on liquidity concepts, order flow and mean reversion. It goes beyond basic FVG plotting by continuously monitoring how price interacts with each gap and by quantifying three key aspects of each zone:
-Entry velocity inside the gap
-Volume absorption during tests
-Structural integrity and depth of penetration
The result is a dynamic, information rich visualization of which gaps are being respected, which are being absorbed, and where potential reversals or continuations are most likely to occur.
All visual elements are configurable, including the maximum number of visible gaps per direction, mitigation method (close or wick) and an ATR based filter to ignore insignificant gaps in low volatility environments.
🔹 Features
🔸 Automated Fair Value Gap Detection
The script detects both bullish and bearish FVGs based on classic three candle logic:
Bullish FVG: current low is strictly above the high from two bars ago
Bearish FVG: current high is strictly below the low from two bars ago
🔸 ATR Based Gap Filter
To avoid clutter and low quality signals, the script can ignore very small gaps using an ATR based filter.
🔸Per Gap State Machine and Lifecycle
Each gap is tracked with an internal status:
Fresh: gap has just formed and has not been tested
Testing: price is currently trading inside the gap
Tested: gap was tested and left, waiting for a potential new test
Rejected: price entered the gap and then rejected away from it
Filled: gap is considered fully mitigated and no longer active
This state machine allows the script to distinguish between simple touches, multiple tests and meaningful reversals, and to trigger different alerts accordingly.
🔸 Visual Ranking of Gaps by Metrics
For each active gap, three additional horizontal rank bars are drawn on top of the gap area:
Rank 1 (Vel): maximum entry velocity inside the gap
Rank 2 (Vol): relative test volume compared to average volume
Rank 3 (Dpt): remaining safety of the gap based on maximum penetration depth
These rank bars extend horizontally from the creation bar, and their length is a visual score between 0 and 1, scaled to the age of the gap. Longer bars represent stronger or more favorable conditions.
🔸Signals and Rejection Markers
When a gap shows signs of rejection (price enters the gap and then closes away from it with sufficient activity), the script can print a signal label at the reaction point. These markers summarize the internal metrics of the gap using a tooltip:
-Velocity percentage
-Volume percentage
-Safety score
-Number of tests
🔸 Flexible Mitigation Logic (Close or Wick)
You can choose how mitigation is defined via the Mitigation Method input:
Close: the gap is considered filled only when the closing price crosses the gap boundary
Wick: a full fill is detected as soon as any wick crosses the gap boundary
🔸 Alert Conditions
-New FVG formed
-Price entering a gap (testing)
-Gap fully filled and invalidated
-Rejection signal generated
🔹Calculations
This section summarizes the main calculations used under the hood. Only the core logic is covered.
1. ATR Filter and Gap Size
The script uses a configurable ATR length to filter out small gaps. First the ATR is computed:
float atrVal = ta.atr(atrLength)
Gap size for both directions is then measured:
float gapSizeBull = low - high
float gapSizeBear = low - high
If useAtrFilter is enabled, gaps smaller than atrVal are ignored. This ties the minimum gap size to the current volatility regime.
2. Fair Value Gap Detection
The basic FVG conditions use a three bar structure:
bool fvgBull = low > high
bool fvgBear = high < low
For bullish gaps the script stores:
-top as low of the current bar
-bottom as high
For bearish gaps:
-top as high of the current bar
-bottom as low
This defines the price range that is considered the imbalance area.
3. Depth and Safety Score
Depth measures how far price has penetrated into the gap since its creation. For each bar, the script computes a currentDepth and updates the maximum depth:
float currentDepth = 0.0
if g.isBullish
if l < g.top
currentDepth := g.top - l
else
if h > g.bottom
currentDepth := h - g.bottom
if currentDepth > g.maxDepth
g.maxDepth := currentDepth
The safety score expresses how much of the gap remains intact:
float depthRatio = g.maxDepth / gapSize
float safetyScore = math.max(0.0, 1.0 - depthRatio)
safetyScore near 1: gap is mostly untouched
safetyScore near 0: gap is mostly or fully filled
4. Velocity Metric
Velocity captures how aggressively price moves inside the gap. It is based on the body to range ratio of each bar that trades within the gap and rewards bars that move in the same direction as the gap:
float barRange = h - l
float bodyRatio = math.abs(close - open) / barRange
float directionBonus = 0.0
if g.isBullish and close > open
directionBonus := 0.2
else if not g.isBullish and close < open
directionBonus := 0.2
float currentVelocity = math.min(bodyRatio + directionBonus, 1.0)
The gap keeps track of the strongest observed value:
if currentVelocity > g.maxVelocity
g.maxVelocity := currentVelocity
This maximum is later used as velScore when building the velocity rank bar.
5. Volume Accumulation and Volume Score
While price is trading inside a gap, the script accumulates the traded volume:
if isInside
g.testVolume += volume
It also keeps track of the number of tests and the volume at the start of the first test:
if g.status == "Fresh"
g.status := "Testing"
g.testCount := 1
g.testStartVolume := volume
An average volume is computed using a 20 period SMA:
float volAvg = ta.sma(volume, 20)
The expected volume is approximated as:
float expectedVol = volAvg * math.max(1, (bar_index - g.index) / 2)
The volume score is then:
float volScore = math.min(g.testVolume / expectedVol, 1.0)
This produces a normalized 0 to 1 metric that shows whether the gap has attracted more or less volume than expected over its lifetime.
6. Rank Bar Scaling
All three scores are projected visually along the time axis as horizontal bars. The script uses the age of the gap in bars as the maximum width:
float maxWidth = math.max(bar_index - g.index, 1)
Then each metric is mapped to a bar length:
int len1 = int(math.max(1, maxWidth * velScore))
g.rankBox1.set_right(g.index + len1)
int len2 = int(math.max(1, maxWidth * volScore))
g.rankBox2.set_right(g.index + len2)
int len3 = int(math.max(1, maxWidth * safetyScore))
g.rankBox3.set_right(g.index + len3)
This creates an intuitive visual representation where stronger metrics produce longer rank bars, making it easy to quickly compare the relative quality of multiple FVGs on the chart.
IDLP – Intraday Daily Levels Pro [FXSMARTLAB]🔥 IDLP – Intraday Daily Levels Pro
IDLP – Intraday Daily Levels Pro is a precision toolkit for intraday traders who rely on objective daily structure instead of repainting indicators and noisy signals.
Every level plotted by IDLP is derived from one simple rule:
Today’s trading decisions must be based on completed market data only.
That means:
✅ No use of the current day’s unfinished data for levels
✅ No lookahead
✅ No hidden repaint behavior
IDLP reconstructs the previous trading day from the intraday chart and then projects that structure forward onto the current session, giving you a stable, institutional-style intraday map.
🧱 1. Previous Daily Levels (Core Structure)
IDLP extracts and displays the full previous daily structure, which you can toggle on/off individually via the inputs:
Previous Daily High (PDH)
Previous Daily Low (PDL)
Previous Daily Open
Previous Daily Close,
Previous Daily Mid (50% of the range)
Previous Daily Q1 (25% of the range)
Previous Daily Q3 (75% of the range)
All of these come from the day that just closed and are then locked for the entire current session.
What these levels tell you:
PDH / PDL – true extremes of yesterday’s price action (liquidity zones, breakout/reversal points).
Previous Daily Open / Close – how the market positioned itself between session start and end
Mid (50%) – equilibrium level of the previous day’s auction.
Q1 / Q3 (25% / 75%) internal structure of the previous day’s range, dividing it into four equal zones and helping you see if price is trading in the lower, middle, or upper quarter of yesterday’s range.
All these levels are non-repaint: once the day is completed, they are fixed and never change when you scroll, replay, or backtest.
🎯 2. Previous Day Pivot System (P, S1, S2, R1, R2)
IDLP includes a classic floor-trader pivot grid, but critically:
It is calculated only from the previous day’s high, low, and close.
So for the current session, the following are fixed:
Pivot P – central reference level of the previous day.
Support 1 (S1) and Support 2 (S2)
Resistance 1 (R1) and Resistance 2 (R2)
These levels are widely used by institutional desks and algos to structure:
mean-reversion plays, breakout zones, intraday targets, and risk placement.
Everything in this section is non-repaint because it only uses the previous day’s fully closed OHLC.
📏 3. 1-Day ADR Bands Around Previous Daily Open
Instead of a multi-day ADR, IDLP uses a pure 1-Day ADR logic:
ADR = Range of the previous day
ADR = PDH − PDL
From that, IDLP builds two clean bands centered around the previous daily Open:
ADR Upper Band = Previous Day Open + (ADR × Multiplier)
ADR Lower Band = Previous Day Open − (ADR × Multiplier)
The multiplier is user-controlled in the inputs:
ADR Multiplier (default: 0.8)
This lets you choose how “tight” or “wide” you want the ADR envelope to be around the previous day’s open.
Typical use cases:
Identify realistic intraday extension targets, Spot exhaustion moves beyond ADR bands, Frame reversals after reaching volatility extremes, Align trades with or against volatility expansion
Again, since ADR is calculated only from the completed previous day, these bands are totally non-repaint during the current session.
🔒 4. True Non-Repaint Architecture
The internal logic of IDLP is built to guarantee non-repaint behavior:
It reconstructs each day using time("D") and tracks:
dayOpen, dayHigh, dayLow, dayClose for the current day
prevDayOpen, prevDayHigh, prevDayLow, prevDayClose for the previous day
At the moment a new day starts:
The “current day” gets “frozen” into prevDay*
These prevDay* values then drive: Previous Daily Levels, Pivots, ADR.
During the current day:
All these “previous day” values stay fixed, no matter what happens.
They do not move in real time, they do not shift in replay.
This means:
What you see in the past is exactly what you would have seen live.
No fake backtests.
No illusion of perfection from repainting behavior.
🎯 5. Designed For Intraday Traders
IDLP – Intraday Daily Levels Pro is made for:
- Day traders and scalpers
- Index and FX traders
- Prop firm challenge trading
- Traders using ICT/SMC-style levels, liquidity, and range logic
- Anyone who wants a clean, institutional-style daily framework without noise
You get:
Previous Day OHLC
Mid / Q1 / Q3 of the previous range
Previous-Day Pivots (P, S1, S2, R1, R2)
1-Day ADR Bands around Previous Day Open
All calculated only from closed data, updated once per day, and then locked.
ChronoPulse MS-MACD Resonance StrategyChronoPulse MS-MACD Resonance Strategy
A systematic trading strategy that combines higher-timeframe market structure analysis with dual MACD momentum confirmation, ATR-based risk management, and real-time quality assurance monitoring.
Core Principles
The strategy operates on the principle of multi-timeframe confluence, requiring agreement between:
Market structure breaks (CHOCH/BOS) on a higher timeframe
Dual MACD momentum confirmation (classic and crypto-tuned profiles)
Trend alignment via directional EMAs
Volatility and volume filters
Quality score composite threshold
Strategy Components
Market Structure Engine : Detects Break of Structure (BOS) and Change of Character (CHOCH) events using confirmed pivots on a configurable higher timeframe. Default structure timeframe is 240 minutes (4H).
Dual MACD Fusion : Requires agreement between two MACD configurations:
Classic MACD: 12/26/9 (default)
Fusion MACD: 8/21/5 (default, optimized for crypto volatility)
Both must agree on direction before trade execution. This can be disabled to use single MACD confirmation.
Trend Alignment : Uses two EMAs for directional bias:
Directional EMA: 55 periods (default)
Execution Trend Guide: 34 periods (default)
Both must align with trade direction.
ATR Risk Management : All risk parameters are expressed in ATR multiples:
Stop Loss: 1.5 × ATR (default)
Take Profit: 3.0 × ATR (default)
Trail Activation: 1.0 × ATR profit required (default)
Trail Distance: 1.5 × ATR behind price (default)
Volume Surge Filter : Optional gate requiring current volume to exceed a multiple of the volume SMA. Default threshold is 1.4× the 20-period volume SMA.
Quality Score Gate : Composite score (0-1) combining:
Structure alignment (0.0-1.0)
Momentum strength (0.0-1.0)
Trend alignment (0.0-1.0)
ATR volatility score (0.0-1.0)
Volume intensity (0.0-1.0)
Default threshold: 0.62. Trades only execute when quality score exceeds this threshold.
Execution Discipline : Trade budgeting system:
Maximum trades per session: 6 (default)
Cooldown bars between entries: 5 (default)
Quality Assurance Console : Real-time monitoring panel displaying:
Structure status (pass/fail)
Momentum confirmation (pass/fail)
Volatility readiness (pass/fail)
Quality score (pass/fail)
Discipline compliance (pass/fail)
Performance metrics (win rate, profit factor)
Net PnL
Certification requires: Win Rate ≥ 40%, Profit Factor ≥ 1.4, Minimum 25 closed trades, and positive net profit.
Integrity Suite : Optional validation panel that audits:
Configuration sanity checks
ATR data readiness
EMA hierarchy validity
Performance realism checks
Strategy Settings
strategy(
title="ChronoPulse MS-MACD Resonance Strategy",
shorttitle="ChronPulse",
overlay=true,
max_labels_count=500,
max_lines_count=500,
initial_capital=100000,
currency=currency.USD,
pyramiding=0,
commission_type=strategy.commission.percent,
commission_value=0.015,
slippage=2,
default_qty_type=strategy.percent_of_equity,
default_qty_value=2.0,
calc_on_order_fills=true,
calc_on_every_tick=true,
process_orders_on_close=true
)
Key Input Parameters
Structure Timeframe : 240 (4H) - Higher timeframe for structure analysis
Structure Pivot Left/Right : 3/3 - Pivot confirmation periods
Structure Break Buffer : 0.15% - Buffer for structure break confirmation
MACD Fast/Slow/Signal : 12/26/9 - Classic MACD parameters
Fusion MACD Fast/Slow/Signal : 8/21/5 - Crypto-tuned MACD parameters
Directional EMA Length : 55 - Primary trend filter
Execution Trend Guide : 34 - Secondary trend filter
ATR Length : 14 - ATR calculation period
ATR Stop Multiplier : 1.5 - Stop loss in ATR units
ATR Target Multiplier : 3.0 - Take profit in ATR units
Trail Activation : 1.0 ATR - Profit required before trailing
Trail Distance : 1.5 ATR - Distance behind price
Volume Threshold : 1.4× - Volume surge multiplier
Quality Threshold : 0.62 - Minimum quality score (0-1)
Max Trades Per Session : 6 - Daily trade limit
Cooldown Bars : 5 - Bars between entries
Win-Rate Target : 40% - Minimum for QA certification
Profit Factor Target : 1.4 - Minimum for QA certification
Minimum Trades for QA : 25 - Required closed trades
Signal Generation Logic
A trade signal is generated when ALL of the following conditions are met:
Higher timeframe structure shows bullish (CHOCH/BOS) or bearish structure break
Both MACD profiles agree on direction (if fusion enabled)
Price is above both EMAs for longs (below for shorts)
ATR data is ready and above minimum threshold
Volume exceeds threshold × SMA (if volume gate enabled)
Quality score ≥ quality threshold
Trade budget available (under max trades per day)
Cooldown period satisfied
Risk Management
Stop loss and take profit are set immediately on entry
Trailing stop activates after 1.0 ATR of profit
Trailing stop maintains 1.5 ATR distance behind highest profit point
Position sizing uses 2% of equity per trade (default)
No pyramiding (single position per direction)
Limitations and Considerations
The strategy requires sufficient historical data for higher timeframe structure analysis
Quality gate may filter out many potential trades, reducing trade frequency
Performance metrics are based on historical backtesting and do not guarantee future results
Commission and slippage assumptions (0.015% + 2 ticks) may vary by broker
The strategy is optimized for trending markets with clear structure breaks
Choppy or ranging markets may produce false signals
Crypto markets may require different parameter tuning than traditional assets
Optimization Notes
The strategy includes several parameters that can be tuned for different market conditions:
Quality Threshold : Lower values (0.50-0.60) allow more trades but may reduce average quality. Higher values (0.70+) are more selective but may miss opportunities.
Structure Timeframe : Use 240 (4H) for intraday trading, Daily for swing trading, Weekly for position trading
Volume Gate : Disable for low-liquidity pairs or when volume data is unreliable
Dual MACD Fusion : Disable for mean-reverting markets where single MACD may be more responsive
Trade Discipline : Adjust max trades and cooldown based on your risk tolerance and market volatility
Non-Repainting Guarantee
All higher timeframe data requests use lookahead=barmerge.lookahead_off to prevent repainting. Pivot detection waits for full confirmation before registering structure breaks. All visual elements (tables, labels) update only on closed bars.
Alerts
Three alert conditions are available:
ChronoPulse Long Setup : Fires when all long entry conditions are met
ChronoPulse Short Setup : Fires when all short entry conditions are met
ChronoPulse QA Certification : Fires when Quality Assurance console reaches CERTIFIED status
Configure alerts with "Once Per Bar Close" delivery to match the non-repainting design.
Visual Elements
Structure Labels : CHOCH↑, CHOCH↓, BOS↑, BOS↓ markers on structure breaks
Directional EMA : Orange line showing trend bias
Trailing Stop Lines : Green (long) and red (short) trailing stop levels
Dashboard Panel : Real-time status display (structure, MACD, ATR, quality, PnL)
QA Console : Quality assurance monitoring panel
Integrity Suite Panel : Optional validation status display
Recommended Usage
Forward test with paper trading before live deployment
Monitor the QA console until it reaches CERTIFIED status
Adjust parameters based on your specific market and timeframe
Respect the trade discipline limits to avoid over-trading
Review quality scores and adjust threshold if needed
Use appropriate commission and slippage settings for your broker
Technical Implementation
The strategy uses Pine Script v6 with the following key features:
Multi-timeframe data requests with lookahead protection
Confirmed pivot detection for structure analysis
Dynamic trailing stop management
Real-time quality score calculation
Trade budgeting and cooldown enforcement
Comprehensive dashboard and monitoring panels
All source code is open and available for review and modification.
Disclaimer
This script is for educational and informational purposes only. It is not intended as financial, investment, or trading advice. Past performance does not guarantee future results. Trading involves substantial risk of loss and is not suitable for all investors. Always conduct your own research and consult with a qualified financial advisor before making any trading decisions. The author and TradingView are not responsible for any losses incurred from using this strategy.
FVG Maxing - Fair Value Gaps, Equilibrium, and Candle Patterns
What this script does
This open-source indicator highlights 3-candle fair value gaps (FVGs) on the active chart timeframe, draws their midpoint ("equilibrium") line, tracks when each gap is mitigated, and optionally marks simple candle patterns (engulfing and doji) for confluence. It is intended as an educational tool to study how price interacts with imbalances.
3-candle bullish and bearish FVG zones drawn as forward-extending boxes.
Equilibrium line at 50% of each gap.
Different styling for mitigated vs unmitigated gaps.
Compact statistics panel showing how many gaps are currently active and filled.
Optional overlays for bullish/bearish engulfing patterns and doji candles.
1. FVG logic (3-candle gaps)
The script focuses on a strict 3-candle definition of a fair value gap:
Three consecutive candles with the same body direction.
The wick of candle 3 is separated from the wick of candle 1 (no overlap).
A bullish gap is created when price moves up fast enough to leave a gap between candle 1 and 3. A bearish gap is the mirror case to the downside.
In Pine, the core detection looks like this:
// Three candles with the same body direction
bull_seq = close > open and close > open and close > open
bear_seq = close < open and close < open and close < open
// Wick gap between candle 1 and candle 3
bull_gap = bull_seq and low > high
bear_gap = bear_seq and high < low
// Final FVG flags
is_bull_fvg = bull_gap
is_bear_fvg = bear_gap
For each detected FVG:
Bullish FVG range: from high up to low (gap below current price).
Bearish FVG range: from low down to high (gap above current price).
Each zone is stored in a custom FVGData structure so it can be updated when price later trades back inside it.
2. Equilibrium line (0.5 of the gap)
Every FVG box gets an optional equilibrium line plotted at the midpoint between its top and bottom:
eq_level = (top + bottom) / 2.0
right_index = extend_boxes ? bar_index + extend_length_bars : bar_index
bx = box.new(bar_index - 2, top, right_index, bottom)
eq_ln = line.new(bar_index - 2, eq_level, right_index, eq_level)
line.set_style(eq_ln, line.style_dashed)
line.set_color(eq_ln, eq_color)
You can use this line as a neutral “fair value” reference inside the zone, or as a simple way to think in terms of premium/discount within each gap.
3. Mitigation rules and styling
Each FVG stays active until price trades back into the gap:
Bullish FVG is considered mitigated when the low touches or moves below the top of the gap.
Bearish FVG is considered mitigated when the high touches or moves above the bottom of the gap.
When that happens, the script:
Marks the internal FVGData entry as mitigated.
Softens the box fill and border colors.
Optionally updates the label text from "BULL EQ / BEAR EQ" to "BULL FILLED / BEAR FILLED".
Can hide mitigated zones almost completely if you only want to see unfilled imbalances.
This allows you to distinguish between current areas of interest and zones that have already been traded through.
4. Candle pattern overlays (engulfing and doji)
For additional confluence, the script can mark simple candle patterns on top of the FVG view:
Bullish engulfing — current candle body fully wraps the previous bearish body and is larger in size.
Bearish engulfing — current candle body fully wraps the previous bullish body and is larger in size.
Doji — candles where the real body is small relative to the full range (high–low).
The detection is based on basic body and range geometry:
curr_body = math.abs(close - open)
prev_body = math.abs(close - open )
curr_range = high - low
body_ratio = curr_range > 0 ? curr_body / curr_range : 1.0
bull_engulfing = close > open and close < open and open <= close and close >= open and curr_body > prev_body
bear_engulfing = close < open and close > open and open >= close and close <= open and curr_body > prev_body
is_doji = curr_range > 0 and body_ratio <= doji_body_ratio
On the chart, they appear as:
Small triangle markers below bullish engulfing candles.
Small triangle markers above bearish engulfing candles.
Small circles above doji candles.
All three overlays are optional and can be turned on or off and recolored in the CANDLE PATTERNS group of inputs.
5. Inputs overview
The script organizes settings into clear groups:
DISPLAY SETTINGS : Show bullish/bearish FVGs, show/hide mitigated zones, box extension length, box border width, and maximum number of boxes.
EQUILIBRIUM : Toggle equilibrium lines, color, and line width.
LABELS : Enable labels, choose whether to label unmitigated and/or mitigated zones, and select label size.
BULLISH COLORS / BEARISH COLORS : Separate fill and border colors for bullish and bearish gaps.
MITIGATED STYLE : Opacity used when a gap is marked as mitigated.
STATISTICS : Toggle the on-chart FVG statistics panel.
CANDLE PATTERNS : Show engulfing patterns, show dojis, colors, and the body-to-range threshold that defines a doji.
6. Statistics panel
An optional table in the corner of the chart summarizes the current state of all tracked gaps:
Total number of FVGs still being tracked.
Number of bullish vs bearish FVGs.
Number of unfilled vs mitigated FVGs.
Simple fill rate: percentage of tracked FVGs that have been marked as mitigated.
This can help you study how a particular market tends to treat gaps over time.
7. How you might use it (examples)
These are usage ideas only, not recommendations:
Study how often your symbol mitigates gaps and where inside the zone price tends to react.
Use higher-timeframe context and then refine entries near the equilibrium line on your trading timeframe.
Combine FVG zones with basic candle patterns (engulfing/doji) as an extra visual anchor, if that fits your process.
Hope you enjoy, give your feedback in the comments!
- officialjackofalltrades






















