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.
SMC
Market Structure HighLow + Liquidity [MaB]📊 Market Structure HighLow + Liquidity A comprehensive indicator combining precision market structure analysis with real-time liquidity zone detection, built on a custom finite-state machine architecture.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 KEY FEATURES
• Automatic Swing Detection Identifies structural High/Low points using a dual-confirmation system (minimum candles + pullback percentage)
• Smart Trend Tracking Automatically switches between Uptrend (Higher Highs & Higher Lows) and Downtrend (Lower Highs & Lower Lows)
• Breakout Alerts Visual markers for confirmed breakouts (Br↑ / Br↓) with configurable threshold
• Sequential Labeling Clear numbered labels (L1, H2, L3, H4...) showing the exact market structure progression
• Color-Coded Structure Lines
• Green: Uptrend continuation legs
• Red: Downtrend continuation legs
• Gray: Trend inversion points
• Imbalance Zones (FVG) Automatically detects Fair Value Gaps that form during impulsive moves between validated swing points
• Inducement Zones Identifies potential liquidity traps - FVGs that form before breakout confirmation, often used as stop-hunt areas
• Dynamic Zone Management Zones automatically close when price touches them, with configurable retracement sensitivity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔬 TECHNICAL ARCHITECTURE
This indicator does NOT rely on TradingView's built-in ta.pivothigh() / ta.pivotlow() functions.
Instead, it implements a custom finite-state machine (FSM) that manages multiple monitoring states, alternating dynamically between Uptrend and Downtrend modes based on confirmed breakouts.
Core Components:
• State Machine Engine Multiple internal states handle candidate detection, validation, and confirmation phases. The system transitions between states based on price action triggers and confirmation criteria.
• Dual-Confirmation System Each swing point must satisfy two independent filters before validation:
o Time-based filter (minimum candles)
o Price-based filter (minimum retracement %)
• Directional Breakout Logic Separate breakout detection routines for uptrend continuation, downtrend continuation, and trend inversion scenarios. Each triggers specific state transitions.
• FVG Classification Engine Automatically distinguishes between Imbalance zones (post-confirmation FVGs) and Inducement zones (pre-confirmation FVGs) based on breakout timing context.
• Dynamic Zone Lifecycle Zones are created, monitored, and closed through a managed lifecycle with configurable touch sensitivity.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ CONFIGURABLE PARAMETERS
Market Structure
• Analysis Start Date: Define when to begin structure analysis
• Min Confirmation Candles: Required candles for validation (default: 3)
• Pullback Percentage: Minimum retracement for confirmation (default: 10%)
• Breakout Threshold: Percentage beyond structure for breakout (default: 1%)
Liquidity
• Show Zones: Toggle visibility of imbalance and inducement zones
• Zone Colors: Customize colors for Supply/Demand imbalances and inducements
• Zone Retracement %: How deep price must enter zone to consider it touched (0-100%)
• Inactive Zones Transparency: Visual distinction for closed zones
Display
• Show Market Structure Table: Toggle info panel
• Replay Mode: Optimize for TradingView Replay feature
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 ZONE COLOR CODING
• 🔴 Imbalance Supply (Red): Bearish FVG - potential resistance/short entry
• 🟢 Imbalance Demand (Green): Bullish FVG - potential support/long entry
• 🟠 Inducement Supply (Orange): Pre-breakout bearish FVG - possible stop-hunt zone
• 🔵 Inducement Demand (Blue): Pre-breakout bullish FVG - possible stop-hunt zone
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 HOW IT WORKS
1. Initializes state machine in UPTREND mode, searching for first swing Low
2. Tracks price movement and triggers candidate states upon potential reversals
3. Validates candidates through dual-confirmation (time + price filters)
4. Upon confirmation, scans price range for FVG patterns (3-candle gaps)
5. Classifies detected FVGs based on breakout timing (Inducement vs Imbalance)
6. Monitors breakout levels - triggers state transitions on confirmed breaks
7. Alternates between Uptrend/Downtrend modes based on breakout direction
8. Manages zone lifecycle - closes zones when price retraces into them
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 BEST USED FOR
• Identifying key support/resistance levels with liquidity context
• Spotting potential reversal zones (imbalances)
• Avoiding stop-hunt traps (inducement awareness)
• Trend direction confirmation
• Breakout trading setups with confluence
• Multi-timeframe structure and liquidity analysis
• Understanding where institutional orders may be resting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ NOTES
• Works best on higher timeframes (1H+) for cleaner structure
• Inducement zones often convert to Imbalance zones after breakout confirmation
• Zone Retracement % allows fine-tuning: 0% = first touch, 25% = quarter penetration, 100% = full traversal
• Inactive zones remain visible (faded) to show historical liquidity levels
• Use Replay Mode when backtesting to prevent buffer overflow errors
APS - Sweeps & BOSThis indicator identifies pivot highs and lows, detects liquidity sweeps, and marks Break of Structure (BOS).
Key Features:
1) Pivot Detection :
The script uses configurable left and right bar parameters to identify significant pivot highs and lows, marking them with "X" labels on the chart. These pivots represent potential areas where price may react.
2) Sweep Detection :
A sweep occurs when price temporarily moves beyond a previous pivot level but closes back inside, suggesting a liquidity grab or stop hunt. The indicator draws horizontal lines connecting the original pivot to the sweep location and labels these events. Sweeps often precede reversals as they collect liquidity before moving in the opposite direction.
3) Break of Structure (BOS) :
BOS events are marked when price closes beyond a previous pivot level, indicating a potential shift in market structure. Bullish BOS occurs when price closes above a pivot high, while Bearish BOS occurs when price closes below a pivot low. These can signal continuation moves or trend changes.
4) Previous Day High/Low (PDH/PDL):
The indicator tracks the previous session's high and low (based on 6 PM ET session breaks, which auto-adjusts for DST) and displays whether these levels have been breached. It also calculates and displays a 50% equilibrium line between PDH and PDL.
5) Higher Timeframe Context :
A table in the top-right corner shows whether the higher timeframe close is in premium (above equilibrium) or discount (below equilibrium) territory. The HTF automatically adjusts based on your current timeframe.
6) Customization Options:
Adjustable pivot sensitivity (left/right bars)
Configurable sweep lookback period
Customizable colors, line styles, and label sizes for all elements
Toggle visibility for any component
Optional alerts for sweeps and BOS events
How to Use:
Sweeps near support/resistance often indicate liquidity grabs before reversals
BOS events can confirm directional bias changes
Use PDH/PDL levels as reference points for intraday trading
Consider HTF context when taking trades (discount zones for longs, premium zones for shorts)
Important Notes:
This indicator is designed for educational purposes and market analysis. Past patterns do not guarantee future results. Please follow proper risk management.
SMC KZ NYThis script plots vertical lines on the chart to highlight KZ opens and closes based on New York time.
Key characteristics:
The indicator is plotted on the price chart (overlay).
It draws thin, dotted vertical lines at specific kz.
Killzones are calculated using the America/New_York timezone to ensure correct alignment.
Only weekdays (Monday to Friday) are considered.
The script draws sessions for today and up to one week back (maximum 7 calendar days).
All drawings are created once on the last bar to avoid duplicates and performance issues.
Each session has its own color for clear visual distinction:
Asia KZ(open)
London KZ (open and close)
New York / KZ Morning (open and close)
Lunch (open and close)
New York / KZ Afternoon (open and close)
The Asia KZ open at 20:00 NY is intentionally excluded on Fridays, as there is no valid Asia KZ start on Friday evening.
The vertical lines extend across the entire visible price range of the chart.
The script is optimized to stay well within TradingView object limits.
Purpose:
The indicator is designed to give traders a clean, non-intrusive visual reference for key KZ transitions, helping to analyze price behavior around killzones opens and closes without cluttering the chart.
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.)
SMC Sessions NYThis script plots vertical session markers on the chart to highlight session opens and closes based on New York time.
Key characteristics:
The indicator is plotted on the price chart (overlay).
It draws thin, dotted vertical lines at specific session times.
Sessions are calculated using the America/New_York timezone to ensure correct alignment.
Only weekdays (Monday to Friday) are considered.
The script draws sessions for today and up to one week back (maximum 7 calendar days).
All drawings are created once on the last bar to avoid duplicates and performance issues.
Each session has its own color for clear visual distinction:
Asia session (open)
London session (open and close)
New York / Kill Zone Morning (open and close)
Lunch session (open and close)
New York / Kill Zone Afternoon (open and close)
The Asia session open at 20:00 NY is intentionally excluded on Fridays, as there is no valid Asia session start on Friday evening.
The vertical lines extend across the entire visible price range of the chart.
The script is optimized to stay well within TradingView object limits.
Purpose:
The indicator is designed to give traders a clean, non-intrusive visual reference for key session transitions, helping to analyze price behavior around session opens and closes without cluttering the chart.
This approach is suitable for intraday and session-based trading models, including SMC-style workflows.
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.
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!
Market Structure Pivots with BOS & CHoCH [zazenio]What is Market Structure?
Market structure is simply the pattern of highs and lows that price creates as it moves. When you look at any chart, you'll notice price doesn't move in a straight line — it swings up, pulls back, swings up again (in an uptrend), or the opposite in a downtrend.
These swing points — the peaks and valleys — are what traders call pivots . Identifying them correctly is the foundation of understanding where a market has been and where it might go next.
What This Indicator Does
Swing Pivots automatically marks these peaks and valleys on your chart so you don't have to draw them manually. It works on any market — stocks, crypto, forex, futures, indices — and on any timeframe.
Beyond just marking pivots, this indicator also draws BOS (Break of Structure) and CHoCH (Change of Character) lines — two essential concepts that help you understand when a trend is continuing or potentially reversing.
How Pivots Are Detected
This indicator confirms pivots based on price structure, not a fixed bar count.
Here's how it works:
A swing high is confirmed when price breaks below the previous swing low. At that moment, we know the high was real — price tried to go higher, failed, and reversed. The market "proved" that level was a genuine turning point.
A swing low is confirmed when price breaks above the previous swing high. The same logic applies — price tried to go lower, failed, and reversed direction.
This creates a natural alternation: high, low, high, low. Each pivot is validated by the market's actual behavior, not by waiting for an arbitrary number of bars to pass.
Understanding BOS and CHoCH
Once you can identify pivots, the next step is understanding what happens when price breaks through them. This is where BOS and CHoCH come in.
BOS (Break of Structure)
A Break of Structure occurs when price continues in the direction of the current trend by breaking a previous pivot level.
In an uptrend : Price breaks above a previous swing high → This signals strength. Buyers are pushing price to new highs, and the trend is likely to continue.
In a downtrend : Price breaks below a previous swing low → This signals weakness. Sellers are pushing price to new lows, and the trend is likely to continue.
Think of BOS as the market saying "the trend is still intact." Each BOS confirms that the dominant side (buyers or sellers) remains in control.
CHoCH (Change of Character)
A Change of Character occurs when price breaks a pivot level in the opposite direction of the current trend. This is an early warning signal that the trend may be reversing.
In an uptrend : Price breaks below a previous swing low → This is unexpected. In a healthy uptrend, lows should hold. When they don't, it suggests buyers are losing control and sellers may be taking over.
In a downtrend : Price breaks above a previous swing high → This is unexpected. In a healthy downtrend, highs should hold. When they don't, it suggests sellers are losing control and buyers may be stepping in.
Think of CHoCH as the market's behavior "changing character" — it's no longer acting the way it should if the trend were healthy.
Why BOS and CHoCH Matter
These concepts give you a framework for reading what the market is actually doing:
BOS tells you the trend is continuing — stay with it or look for entries in that direction
CHoCH warns you the trend may be ending — time to be cautious, take profits, or look for trades in the new direction
By visualizing these breaks directly on your chart, you don't have to guess. You can see at a glance whether the market is trending smoothly (consecutive BOS) or showing signs of reversal (CHoCH).
Why This Approach Works
Most pivot indicators use a "lookback" method — they wait for a certain number of bars (say, 5 or 10) on each side of a candle before confirming it as a pivot. This creates a fixed delay. By the time the pivot appears on your chart, price has already moved on.
This indicator doesn't wait. It confirms pivots the moment price structure proves them. The result is pivots that align with how traders actually read charts — based on breaks of structure, not arbitrary countdowns.
Settings
Configuration
Swing Width : Controls how sensitive the detection is. Higher numbers show only major swings; lower numbers capture smaller moves within the structure.
Pivot Settings
High/Low Color : Customize the colors of swing high and swing low markers
Style : Choose between Triangle or Circle markers
Size : Adjust the size of pivot markers (Auto, Tiny, Small, Normal)
Structure Lines
Show CHoCH : Toggle Change of Character lines on/off
CHoCH Color : Customize the color of CHoCH lines
CHoCH Label : Show/hide the "CHoCH" text label
Show BOS : Toggle Break of Structure lines on/off
BOS Color : Customize the color of BOS lines
BOS Label : Show/hide the "BOS" text label
Use Cases
See the "skeleton" of price action at a glance
Identify potential support and resistance levels
Understand if the market is trending or ranging
Spot trend continuations with BOS lines
Catch early reversal signals with CHoCH lines
Build a foundation for more advanced trading strategies
━━━━━━━━━━━━━━━━━━━━━━
Version History
v1.1
Added BOS (Break of Structure) lines to visualize trend continuation
Added CHoCH (Change of Character) lines to identify potential trend reversals
Added toggle options for BOS and CHoCH visibility
Added customizable colors for structure lines
Added optional labels for BOS and CHoCH
v1.0
Initial release
Automatic swing high and swing low detection
Structure-based pivot confirmation (not fixed lookback)
Customizable pivot markers (style, size, colors)
Adjustable swing width sensitivity
━━━━━━━━━━━━━━━━━━━━━━
Disclaimer:
This script is provided for educational and informational purposes only. It is not financial advice and does not constitute a recommendation to buy or sell any financial instrument. Always do your own research and trade at your own risk.
Swing Pivots - Market Structure High Low [zazenio]What is Market Structure?
Market structure is simply the pattern of highs and lows that price creates as it moves. When you look at any chart, you'll notice price doesn't move in a straight line — it swings up, pulls back, swings up again (in an uptrend), or the opposite in a downtrend.
These swing points — the peaks and valleys — are what traders call pivots. Identifying them correctly is the foundation of understanding where a market has been and where it might go next.
What This Indicator Does
Swing Pivots automatically marks these peaks and valleys on your chart so you don't have to draw them manually. It works on any market — stocks, crypto, forex, futures, indices — and on any timeframe.
How Pivots Are Detected
This indicator confirms pivots based on price structure, not a fixed bar count.
Here's how it works:
A swing high is confirmed when price breaks below the previous swing low. At that moment, we know the high was real — price tried to go higher, failed, and reversed. The market "proved" that level was a genuine turning point.
A swing low is confirmed when price breaks above the previous swing high. The same logic applies — price tried to go lower, failed, and reversed direction.
This creates a natural alternation: high, low, high, low. Each pivot is validated by the market's actual behavior, not by waiting for an arbitrary number of bars to pass.
Why This Matters
Most pivot indicators use a "lookback" method — they wait for a certain number of bars (say, 5 or 10) on each side of a candle before confirming it as a pivot. This creates a fixed delay. By the time the pivot appears on your chart, price has already moved on.
This indicator doesn't wait. It confirms pivots the moment price structure proves them. The result is pivots that align with how traders actually read charts — based on breaks of structure, not arbitrary countdowns.
Settings
Swing Width: Controls how sensitive the detection is. Higher numbers show only major swings; lower numbers capture smaller moves within the structure.
Style/Size/Colors: Customize how the pivot markers look on your chart.
Use Cases
See the "skeleton" of price action at a glance
Identify potential support and resistance levels
Understand if the market is trending or ranging
Build a foundation for more advanced concepts like Break of Structure (BOS) and Change of Character (CHoCH)
⸻
Disclaimer:
This script is provided for educational and informational purposes only. It is not financial advice and does not constitute a recommendation to buy or sell any financial instrument. Always do your own research and trade at your own risk.
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.
SMC Pro: Real-Time Final**Description:**
This comprehensive SMC indicator is designed to automatically visualize major **Trading Sessions** and **Killzones**, alongside Fair Value Gaps (FVG). It helps traders identify high-probability setups by correlating time and price, specifically during key market hours (London, New York, Asia).
**Key Features:**
1. **Trading Sessions & Killzones:** The indicator clearly highlights the open and duration of major sessions (Asia, London, New York), allowing traders to spot volatility injections and "Judas Swings."
2. **Automated FVG Detection:** Scans price action to locate valid Fair Value Gaps and Imbalances within these sessions.
3. **Entry Logic:** Marks potential entry zones at the 50% retracement level of the identified FVG.
4. **Risk Management:** Projects a fixed Risk-to-Reward ratio (e.g., 1:3) with automatic Stop Loss and Take Profit levels.
5. **Clean Visualization:** Color-coded boxes for sessions and gaps keep the chart organized.
**How to Use:**
* **Time Analysis:** Watch for price action as the London or NY session opens (highlighted by the indicator).
* **Signal:** Wait for an Imbalance/FVG to form during these high-volume times.
* **Entry:** Set a limit order at the 50% mark of the gap.
* **Exit:** Use the projected TP levels.
**Disclaimer:**
This tool is for educational purposes and technical analysis assistance only. Past performance does not guarantee future results.
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
TCT OBIF Detector█ OVERVIEW
The OBIF (Order Block Imbalance Fill) indicator automatically detects and visualizes high-probability trading zones by combining two powerful Smart Money Concepts: Order Blocks and Fair Value Gaps (FVGs).
An OBIF occurs when an Order Block forms immediately before a Fair Value Gap, creating a zone of institutional interest that price often revisits before continuing its move.
█ CONCEPTS
Order Block (OB)
An Order Block is the last opposing candle before a strong directional move. It represents an area where institutional traders likely placed orders.
- Bullish OB: Last bearish candle before an up-move
- Bearish OB: Last bullish candle before a down-move
Fair Value Gap (FVG)
An FVG is a price imbalance created when a candle's body completely gaps past the previous candle's range, leaving an unfilled area.
- Bullish FVG: Gap up where candle .low > candle .high
- Bearish FVG: Gap down where candle .high < candle .low
OBIF Zone
When an Order Block directly precedes an FVG, it creates an OBIF - a confluence zone with higher probability of acting as support/resistance.
█ HOW TO USE
1. Identify the Trend
Use OBIFs in the direction of the higher timeframe trend for best results.
2. Wait for Price to Return
OBIFs act as magnets - price often returns to fill the imbalance and test the order block.
3. Look for Confirmation
When price enters an OBIF zone, look for:
- Rejection wicks
- Engulfing patterns
- Break of structure on lower timeframes
4. Mitigation
Once price fully trades through the OBIF (touches the opposite edge), the zone is considered mitigated and loses its significance.
█ FEATURES
- Automatic Detection — Identifies OBIFs in real-time as they form
- Visual Zones — Clean, non-intrusive boxes that don't obscure price action
- Mitigation Tracking — Zones automatically update when price mitigates them
- Multi-Timeframe Friendly — Works on any timeframe from 1m to Monthly
- Customizable — Adjust colors, opacity, and display preferences
█ SETTINGS
- Lookback Window — How many candles back to search for the Order Block (default: 3)
- Show Bullish/Bearish — Toggle visibility of each type
- Show Mitigated — Display zones that have been mitigated (shown in gray)
- Fill Opacity — Adjust zone transparency (higher = more see-through)
- Border Width — Thickness of zone borders
█ BEST PRACTICES
✓ Use on higher timeframes (1H+) for more reliable zones
✓ Combine with market structure analysis
✓ Look for OBIFs at key support/resistance levels
✓ Use lower timeframe confirmation for entries
✗ Don't trade every OBIF blindly
✗ Avoid OBIFs against the dominant trend
█ CREDITS
The Composite Trader (TCT) methodologies.
Previous Day/Week High and Low • Ahmed SiddiquiThe script shows Previous Day's Candle High and Low & Previous Week's Candle High and Low which updates automatically everyday and every week. There are few more modification will be done in next versions.
SMC Pre-Trade Checklist (Mozzys)Here is a **clean, professional description** you can use when publishing your TradingView script.
It clearly explains what the indicator does and why traders use it—perfect for the public library.
---
# **📌 Script Description (for Publishing)**
**SMC Pre-Trade Checklist (Compact Edition)**
This indicator provides a **smart, compact on-chart checklist** designed for traders who use **Smart Money Concepts (SMC)**.
Instead of guessing or rushing entries, the checklist helps you confirm the essential SMC conditions *before* taking a trade.
The checklist displays as a **small 3-column panel** in the corner of your chart, making it easy to scan without covering price action.
All items are controlled through indicator settings, where you can tick each condition as you validate it in your analysis.
---
## **🔥 What This Tool Helps You Do**
This script helps you stay disciplined by verifying the core components of an SMC setup:
### **1. Higher-Timeframe (HTF) Bias**
* Market direction clarity
* Premium vs. discount zones
* HTF POIs and liquidity targets
### **2. Liquidity Conditions**
* Liquidity sweeps
* Liquidity-based take-profit targets
### **3. Market Structure**
* BOS/CHOCH confirmation
* Displacement
* Clean pullback into POI
### **4. Entry Validation**
* Quality POI
* LTF confirmation
* Logical SL/TP and RR
### **5. Risk Management**
* Correct position sizing
* Avoiding high-impact news
* Spread/volatility conditions
### **6. Trader Discipline**
* Trade matches your model
* No revenge or emotional trading
---
## **🎯 Why Traders Love This**
Most losses come from **breaking rules**, not market randomness.
This checklist forces consistency, clarity, and patience—especially in fast environments like FX, indices, and crypto.
* Prevents emotional entries
* Reduces impulsive trades
* Keeps you aligned with your SMC plan
* Works with any strategy or SMC style
* Clean, minimal, non-intrusive layout
---
## **📌 Features**
* Compact 3-column layout
* Customizable from the indicator settings
* Works on all timeframes and assets
* Zero chart clutter
* Perfect for rule-based traders
---
## **🚀 Who This Indicator Is For**
* SMC traders
* ICT-style traders
* Liquidity-based traders
* Anyone who wants more discipline & consistency
* Backtesters who want structured trade evaluation
--
5min ORB - HenryJ5min ORB, for ICT trading
Strategy Implementation: The main goal is to identify and visually mark the trading range established during the first 5 minutes of the regular trading session.
Time Definition: It measures the Highest High and Lowest Low recorded from the session open (minute 0) up to the close of the 5th minute.
Visual Marking: It draws two distinct horizontal line segments on the chart:
One line marks the High of the 5-minute Opening Range.
One line marks the Low of the 5-minute Opening Range.
Drawing Window: The lines are intentionally drawn starting from the 6th minute (after the range is fully established) and extend up to the 60th minute of the trading session. This ensures the lines are available to guide trades for the first hour after the opening volatility subsides.
Labeling: It includes a "5min ORB" text label placed near the high line, clearly identifying the range.
BY Henry J
Range Deviations PRO | Trade SymmetryRange Deviations PRO — Extended Session Levels
An enhanced version of the original Range Deviations by @joshuuu, retaining the full core logic while adding a key upgrade:
🔹 All session ranges, midlines, and deviation levels now extend into the next trading session, giving seamless multi-session context.
Supports Asia, CBDR, Flout, ONS, and Custom Sessions — with options for half/full standard deviations, equilibrium, and range boxes exactly as in the original.
Extending these levels helps identify:
• Liquidity sweeps
• Trap moves / false breaks
• Daily high/low projections
• Premium–discount behavior across sessions
Ideal for traders using ICT concepts who want clearer continuation of session structure into the next day.
Credit: Original logic by @joshuuu — enhancements by TradeSymmetry.
Disclaimer: Educational use only. Not financial advice.
Position Size Calculator + Live R/R Panel — SMC/ICT (@PueblaATH)Position Size + Live R/R Panel — SMC/ICT (@PueblaATH)
Position Size + Live R/R Panel — SMC/ICT (@PueblaATH) is a professional-grade risk management and execution module built for Smart Money Concepts (SMC) and ICT Traders who require accurate, repeatable, institution-style trade planning.
This tool delivers precise position sizing, R:R modeling, leverage and margin projections, fee-adjusted PnL outcomes, and real-time execution metrics—all directly on the chart. Optimized for crypto, forex, and futures, it provides scalpers, day traders, and swing traders with the clarity needed to execute high-quality trades with confidence and consistency.
What the Indicator Does
Institutional Position Sizing Engine
Calculates position size based on account balance, % risk, and SL distance.
Supports custom minimum lot size rounding across crypto, FX, indices, and derivatives.
Intelligent direction logic (Auto / Long / Short) based on SMC/ICT structure.
Advanced Risk/Reward & Profit Modeling
Real-time R:R ratio using actual rounded position size.
Live PnL readout that updates with price movements.
Gross & net profit projections with full fee deduction.
Execution Planning with Draggable Levels
Entry, SL, and TP levels fully draggable for fast scenario modeling.
Automatic projected lines backward/forward with clean label alignment.
TP and SL tags include % movement from Entry, ideal for SMC/ICT journaling.
Precise modeling of real exchange fee structures
Maker fee per side
Taker fee per side
Mixed fee modes (Maker entry, Taker exit, Average, etc.)
Leverage & Margin Forecasting
Margin requirements displayed for 3 customizable leverage settings.
Helps traders understand capital commitment before executing the trade.
Useful for futures, crypto perps, and CFD setups.
Clean HUD Panel for Rapid Decision-Making
A full professional trading panel displays:
Target & actual risk
Position size
Entry / SL / TP
TP/SL percentage distance
Gross profit
Net profit (after fees)
Fees @ TP and @ SL
Live PnL
Margin requirements
Optimized for SMC & ICT Workflows
Perfect for traders using:
Breakers, FVGs, OBs
Liquidity sweeps
Session models
Precision entries (OTE, Displacement, Rebalancing)
Leverage-based execution (crypto perps, futures)
How to Use It
Attach the indicator to your chart.
Set account balance, risk %, fee model, and leverage presets.
Drag Entry, SL, and TP to shape the setup.
View instant calculations of: Position size; R:R; Net PnL after fees; Margin required
Use it as your pre-trade checklist & execution model.
Originality & Credits
This script is an original creation by @PueblaATH, released under the MPL 2.0 license.
It does not copy, modify, or repackage any existing TradingView code.
All logic—including the fee engine, margin calculator, responsive HUD, dynamic risk model, and visual execution system—is authored specifically for this indicator.
Volumetric Inverse Fair Value Gap (IFVG) [Kodexius]The Volumetric Inverse Fair Value Gap (IFVG) indicator detects and visualizes inverse fair value gaps (IFVGs) zones where previous inefficiencies in price (fair value gaps) are later invalidated or “inverted.”
Unlike traditional FVG indicators, this tool integrates volume-based analysis to quantify the bullish, bearish, and overall strength of each inversion. It visually represents these metrics within a dynamically updating box on the chart, giving traders deeper insight into market reactions when liquidity imbalances are filled and reversed.
Features
Inverse fair value gap detection
The script identifies bullish and bearish fair value gaps, stores them as pending zones, and turns them into inverse fair value gaps when price trades back through the gap in the opposite direction. Each valid inversion becomes an active IFVG zone on the chart.
Sensitivity control with ATR filter and strict mode
A minimum gap size based on ATR is used to filter out small and noisy gaps. Strict mode can be enabled so that any wick contact between the relevant candles prevents the gap from being accepted as a fair value gap. This lets you decide how clean and selective the zones should be.
Show Last N Boxes control
The indicator can keep only the most recent N IFVG zones visible. Older zones are removed from the chart once the number of active objects exceeds the user setting. This prevents clutter on higher timeframes or long histories and keeps attention on the most relevant recent zones.
Ghost box for the original gap
When the ghost option is enabled, the script draws a faint box that marks the original fair value gap from which the inverse zone came. This makes it easy to see where the initial imbalance appeared and how price later inverted that area.
Volumetric bull, bear and strength metrics
For each IFVG, the script estimates how much of the bar volume is associated with buying and how much with selling, then computes bull percentage, bear percentage and a strength score that uses a percentile rank of volume. These values are stored with the IFVG object and drive the visualization inside the zone.
Three band visual layout inside each IFVG
Each active IFVG is drawn as a container with three horizontal sections. The top band represents the bull percentage, the middle band the bear percentage and the bottom band the strength metric. The width of each bar reflects its respective value so you can read the structure of the zone at a glance.
Customizable colors and label text
Colors for bull, bear, strength, the empty background area, the ghost box and label text can be adjusted in the inputs. This allows you to match the indicator to different chart themes or highlight specific aspects such as strength or direction.
Automatic invalidation and cleanup
When price clearly closes beyond the IFVG in a way that breaks the logic of that zone, the script marks it as inactive and deletes all boxes and labels linked to it. Only valid and active IFVGs remain on the chart, which keeps the display clean and focused.
Calculations
1. Detecting Fair Value Gaps (FVGs)
A fair value gap is identified when price action leaves an imbalance between candle wicks. Depending on the mode:
Bullish FVG: When low > high
Bearish FVG: When high < low
Optionally, the strict mode ensures wicks do not touch.
The gap’s significance is filtered using the ATR multiplier input to exclude minor noise.
Once detected, FVGs are stored as pending zones until inverted by opposite movement (price crossing through).
bool bull_cond = strict_mode ? (low > high ) : (close > high )
bool bear_cond = strict_mode ? (high < low ) : (close < low )
float gap_size = 0.0
if bull_cond and close > open
gap_size := low - high
if bear_cond and close < open
gap_size := low - high
2. Creating IFVGs (Inversions)
When price later moves through a previous FVG in the opposite direction, an Inverse FVG (IFVG) is created.
For example:
A previous bearish FVG becomes bullish IFVG if price moves upward through it.
A previous bullish FVG becomes bearish IFVG if price moves downward through it.
The IFVG is initialized with structural boundaries (top, bottom) and timestamp metadata to anchor visualization.
if not p.is_bull_gap and close > p.top
inverted := true
to_bull := true
if p.is_bull_gap and close < p.btm
inverted := true
to_bull := false
3. Volume Metrics (Bull, Bear, Strength)
Each IFVG calculates buy and sell volumes from the current bar’s price spread and total volume.
Bull % = proportion of upward (buy) volume
Bear % = proportion of downward (sell) volume
Strength % = normalized percentile rank of total volume
These are obtained through a custom function that estimates directional volume contribution:
calc_metrics(float o, float h, float l, float c, float v) =>
float rng = h - l
float buy_v = 0.0
if rng == 0
buy_v := v * 0.5
else
if c >= o
buy_v := v * ((math.abs(c - o) + (math.min(o, c) - l)) / rng)
else
buy_v := v * ((h - math.max(o, c)) / rng)
float sell_v = v - buy_v
float total = buy_v + sell_v
float p_bull = total > 0 ? buy_v / total : 0
float p_bear = total > 0 ? sell_v / total : 0
float p_str = ta.percentrank(v, 100) / 100.0
Smart Money Concepts [Modern Neon V2]This is a visually overhauled version of the popular Smart Money Concepts (SMC) indicator, designed specifically for traders who prefer Dark Mode, High Contrast, and Maximum Visibility.
While the underlying logic preserves the robust structure detection of the original LuxAlgo script, the visual presentation has been completely modernized. The default "dull" colors have been replaced with a vibrant Cyberpunk Neon palette, and text labels have been significantly upscaled to ensure market structure is readable at a glance, even on high-resolution monitors.
🎨 Visual & Style Enhancements:
Neon Palette:
Bullish: Electric Cyan (#00F5FF)
Bearish: Neon Hot Pink (#FF007F)
Neutral/Levels: Bright Gold (#FFD700)
High Visibility Text: Market Structure labels (BOS, CHoCH, HH/LL) have been upgraded from "Tiny" to Normal size. Key Swing Points (Strong High/Low) are set to Large.
Modern "Solid" Blocks: Order Blocks and FVGs feature reduced transparency (60%) for a bolder, solid look that doesn't get washed out on dark backgrounds.
Decluttered: Removed unnecessary "Small" elements and dotted lines to focus on price action.
🛠 Key Features:
Real-Time Structure: Automatic detection of Internal and Swing structure (BOS & CHoCH) with trend coloring.
Order Blocks: Highlights Bullish and Bearish Order Blocks with new mitigation logic.
Fair Value Gaps (FVG): Auto-threshold detection for high-probability gaps.
Premium & Discount Zones: Automatically plots equilibrium zones for better entry targeting.
Multi-Timeframe Levels: Display Daily, Weekly, and Monthly highs/lows.
Trend Dashboard: (If you added the dashboard code) A clean panel displaying the current Internal and Swing trend bias.
CREDITS & LICENSE: This script is a modification of the "Smart Money Concepts " indicator.
Original Author: © LuxAlgo
License: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
creativecommons.org
ICT Fair Value Gap (FVG) Detector │ Auto-Mitigated │ 2025Accurate ICT / Smart Money Concepts Fair Value Gap (FVG) detector
Features:
• Detects both Bullish (-FVG) and Bearish (+FVG) using strict 3-candle rule
• Boxes automatically extend right until price mitigates them
• Boxes auto-delete when price closes inside the gap (true mitigation)
• No repainting – 100% reliable
• Clean, lightweight, and works on all markets & timeframes
• Fully customizable colors and transparency
How to use:
– Bullish FVG (green) = potential support / buy zone in uptrend
– Bearish FVG (red) = potential resistance / sell zone in downtrend
Exactly matches The Inner Circle Trader (ICT) methodology used by thousands of SMC traders in 2024–2025.
Enjoy and trade safe!






















