Indicator

ICT Everything Pro @SafarTradesICT Everything Pro
ICT Everything Pro consolidates multiple ICT time-based references into a single configurable indicator, allowing traders to monitor sessions, opening prices, key time markers, and higher timeframe reference levels without cluttering the chart or switching between multiple scripts.
Designed for intraday traders, the indicator centralizes the market timing concepts commonly used within the ICT methodology while providing extensive customization to match individual workflows.
Sessions
Display and customize the major trading sessions including Asia, London, AM, PM, London Close, and New York Lunch. Sessions can be displayed individually, highlighted using different styles, and limited to the current day or current week depending on your workflow.
CBDR, Asia & FLOUT
Visualize ICT session ranges including CBDR, Asia, and FLOUT. Each range supports independent visibility, colors, labels, and session definitions.
Time Markers
Display important ICT reference times using customizable vertical markers, including:
Midnight
London Open
New York Open
Equities Open
Each marker supports independent color, style, and width settings.
Opening Price Levels
Project important opening prices directly onto the chart, including:
Midnight Open
New York Open
Equities Open
Afternoon Open
RTH Open
Daily 50% Level
Each level supports customizable extensions, labels, colors, styles, and visibility.
Higher Timeframe Opening Levels
Optionally display Weekly and Monthly opening prices to maintain higher timeframe context while executing on lower timeframes.
Labels
Display day-of-week labels and a customizable chart label to improve chart organization and quickly identify trading sessions.
Customization
Every module can be configured independently, including:
Timezone selection
Session visibility
Session styles
Opening price extensions
Vertical line styling
Colors and labels
Historical display options
Higher timeframe opening levels
Intended Use
ICT Everything Pro is designed for traders who want a centralized ICT workspace without relying on multiple individual indicators. By combining session visualization, opening prices, higher timeframe references, and key time markers into a single configurable tool, it provides a cleaner and more efficient environment for market analysis and execution. Indicator

Price Action Bands | Trend & Volatility [RadixAlgo]🔶 About the Indicator
Price action often looks simple after the move is complete, but while the market is moving, traders usually need more context to understand whether price is trending, overextended, pulling back, or simply moving inside normal volatility. This price action indicator was built to make this context easier to read directly on the chart.
It combines a dynamic moving average baseline with upper and lower volatility bands, giving traders a structured way to follow trend direction, measure price extension, analyze volatility, and observe how price reacts around key dynamic support and resistance zones.
At the center of the indicator is a customizable trend baseline that can be calculated with different moving average types, including SMA, EMA, HMA, RMA, WMA, SWMA, and VWMA. The baseline changes color based on the current trend state, helping users distinguish bullish and bearish market conditions without adding unnecessary visual noise.
Around this baseline, the indicator plots adaptive volatility bands using either ATR or Standard Deviation. The upper red bands highlight areas where price may be extended to the upside, while the lower green bands show where price may be stretched to the downside.
This isn’t one of those indicators that tries to tell you exactly when to buy or sell. It’s more like a lens that helps you see what the market is actually doing in real time. Sometimes you’ll notice price hugging the bands during a strong trend, other times it drifts back toward the baseline after stretching too far.
That’s where the real insight comes from. You can tweak the moving average type, adjust how wide the bands are, or smooth things out depending on how fast or slow you like to read the chart. Whether you’re watching quick intraday moves or letting a swing trade develop over days, it naturally adapts to your style without forcing a rigid system on you.
🔶 How It Works
The logic behind Price Action Bands | Trend & Volatility starts with a dynamic trend baseline. This baseline is the central reference point of the indicator and acts as the main structure around which price action is interpreted.
Instead of forcing every market into one fixed moving average model, the indicator allows traders to choose between several moving average types, including SMA, EMA, HMA, RMA, WMA, SWMA, and VWMA.
Each one reads the market slightly differently. SMA provides a classic and balanced view of the average price, EMA reacts faster to recent price changes, HMA is smoother while still being responsive, RMA is useful for softer trend tracking, WMA gives more importance to recent candles, SWMA creates a smoother short-term baseline, and VWMA includes volume in the calculation, making it useful when traders want the trend line to reflect both price and trading activity.
After the baseline is calculated, the indicator compares it with a smoothed version of itself. This creates the trend state logic. When the baseline is positioned above its smoothed signal line, the market is treated as being in a bullish trend state, and the trend area is highlighted in blue.
When the baseline moves below the smoothed signal line, the market is treated as being in a bearish trend state, and the trend area is highlighted in orange. This does not mean that the indicator is generating automatic buy or sell signals. Instead, it gives traders a cleaner way to understand whether the current price action is aligned with bullish pressure or bearish pressure.
The second major part of the indicator is the volatility band system. Around the trend baseline, the script builds upper and lower bands that expand and contract based on market conditions. These bands can be calculated using either ATR or Standard Deviation. ATR measures the actual range of price movement and is useful for understanding how much the market is moving from candle to candle.
It is especially helpful in volatile markets, breakout phases, and fast price movements. Standard Deviation, on the other hand, measures how far the baseline or price behavior is spread from its average condition. This makes it useful for identifying statistical price extension, compression, and overextended market areas.
The indicator uses two band levels on each side of the baseline: inner bands and outer bands. The inner bands represent a moderate volatility zone, while the outer bands represent a more extreme price extension area. When price moves into the upper red bands, it shows that price is stretched above the trend baseline.
This can happen during strong bullish continuation, aggressive breakout movement, or an overextended upside condition. When price reaches the lower green bands, it shows that price is stretched below the trend baseline. This can appear during strong bearish continuation, downside volatility expansion, or an overextended sell-side move.
The upper and lower bands should not be read as simple overbought and oversold levels. This is where the indicator becomes more than just a basic band framework. Price can touch an upper band and continue higher if the trend is strong, or it can leave the upper band and return toward the baseline when momentum starts to fade.
The same logic applies to the lower bands. A move into the lower band can signal strong bearish pressure, but if price exits the band and begins moving back toward the baseline, traders may start watching for a possible reaction, correction, or mean-reversion move. The value comes from reading the relationship between price, the baseline, the trend state, and the volatility zones together.
In bullish conditions, traders usually focus on how price behaves around the blue trend baseline, the upper volatility bands, and pullbacks toward the central structure. A bullish market may show price holding above the baseline, reacting from it, or expanding toward the upper bands as volatility increases. In this environment, pullbacks toward the baseline can help traders evaluate whether the trend is still supported, while movement into the upper bands can show momentum expansion or price extension.
In bearish conditions, the logic is reversed. Traders watch how price behaves below the baseline, how it reacts around the orange trend state, and whether downside movement reaches the lower green bands. Pullbacks toward the baseline may act as areas where bearish pressure returns, while movement into the lower bands can show strong downside volatility or stretched price action.
Because the indicator does not place automatic signals on the chart, the trader remains responsible for interpreting the setup. A breakout, pullback, exit from band, or trend continuation condition is not defined by one single line touch. It is read through context: the color of the trend baseline, the position of price relative to the baseline, the distance between price and the bands, and the way candles react after entering or leaving a volatility zone. This makes the tool flexible for different strategies, including trend-following, breakout trading, pullback trading, volatility analysis, and mean-reversion analysis, while still keeping the chart visually clean.
🔶 Input Parameters
🔹Moving Average Type
Selects the moving average used as the main trend baseline. The available options are SMA, EMA, HMA, RMA, WMA, SWMA, and VWMA. Each moving average type reacts differently to price movement, so traders can choose the one that best matches their trading style.
🔹Moving Average Period
Defines the length of the moving average baseline. Higher values create a smoother and slower trend line, while lower values make the baseline react faster to recent price changes.
🔹Trend Smoothing Period
Controls the smoothing of the trend signal line. Lower values make the trend state more sensitive to changes, while higher values create a smoother and more stable trend reading.
🔹Band Method
Determines how the volatility bands are calculated. Traders can choose between ATR and Standard Deviation. ATR measures market range and movement, while Standard Deviation measures price dispersion around the baseline.
🔹ATR Period
Sets the lookback period for the ATR calculation. This option is active when the Band Method is set to ATR. A shorter period reacts faster to volatility changes, while a longer period creates a smoother volatility reading.
🔹Standard Deviation Period
Sets the lookback period for the Standard Deviation calculation. This option is active when the Band Method is set to Standard Deviation. It controls how price dispersion is measured for the volatility bands.
🔹Band Smoothing Period
Smooths the upper and lower bands to reduce short-term fluctuations. Higher values make the bands more stable, while lower values make them more responsive to recent market movement.
🔹Inner Band Multiplier
Controls the distance of the inner bands from the trend baseline. The inner bands represent the closer volatility zone and can help traders observe moderate price extension.
🔹Outer Band Multiplier
Controls the distance of the outer bands from the trend baseline. The outer bands represent a wider volatility zone and can help traders identify stronger price extension or more extreme market movement.
🔶 Summary
Price Action Bands | Trend & Volatility brings trend direction, price action analysis, and volatility bands into one clean chart-based framework. By combining a customizable moving average baseline with adaptive upper and lower bands, the indicator helps traders understand whether price is following the current trend, pulling back toward dynamic support and resistance, expanding with volatility, or moving into an overextended area. The colored trend baseline gives a quick view of bullish or bearish market conditions, while the ATR and Standard Deviation band methods allow the volatility zones to adapt to different market structures, trading styles, and timeframes.
This indicator is not designed to replace trader judgment with automatic buy and sell signals. Instead, it gives users a practical way to interpret trend-following setups, breakout conditions, pullback opportunities, exit-from-band behavior, mean-reversion zones, and volatility expansion directly on the chart. With flexible settings for moving average type, moving average period, trend smoothing, band method, band smoothing, and inner or outer band multipliers, Price Action Bands can be adjusted for scalping, intraday trading, swing trading, and broader market analysis while keeping the chart readable and focused on real price action.
Indicator

ICT Weekly ProfilesOverview
ICT Weekly Profiles is an advanced analytical tool designed to map, classify, and quantify recurring weekly price behavior based on Inner Circle Trader (ICT) concepts.
This indicator transforms raw price action into a structured weekly profile by identifying where the market forms its high, low, and directional bias, while also providing a statistical ranking of recurring patterns.
The goal is simple:
to help traders understand how the market tends to behave throughout the week and use that information to anticipate future movements.
------------------------------------------------------------------------------------
Core Concept
Markets often follow recurring behavioral patterns during the week, such as:
Tuesday High or Low formations
Wednesday reversals
Thursday consolidations
Friday expansions
This indicator automatically detects and classifies these behaviors into well-defined weekly profiles, allowing traders to identify the dominant market structure.
Weekly Profile Structure
Each week is represented visually through:
------------------------------------------------------------------------------------
1. Price Range Box
A box is drawn from the weekly high to the weekly low.
Bullish profiles are highlighted in green
Bearish profiles are highlighted in red
This provides a clear visual representation of the weekly range and directional bias.
------------------------------------------------------------------------------------
2. Market Structure Lines
The weekly movement is broken down into three segments:
Open → High → Low → Close
or
Open → Low → High → Close
This reveals the order of price events, which is critical in ICT-style analysis.
------------------------------------------------------------------------------------
3. Profile Label
Each week is labeled according to its behavior, for example:
Classic Tuesday Low of the Week
Wednesday High of the Week
Consolidation Thursday Bullish Reversal
These labels describe how the market formed its structure during the week.
------------------------------------------------------------------------------------
Profile Classification Logic
The indicator classifies each week based on the day where the high and low occur.
Bullish Profiles
Tuesday Low of the Week
Wednesday Low of the Week
Thursday Bullish Reversal
Midweek Rally
Bearish Profiles
Tuesday High of the Week
Wednesday High of the Week
Thursday Bearish Reversal
Midweek Decline
This classification reflects institutional accumulation and distribution behavior.
------------------------------------------------------------------------------------
Live Mode (Real-Time Analysis)
While the week is still active, the indicator dynamically updates:
Current weekly high and low
Structure lines
Active profile classification
The label is displayed as (LIVE) until the week closes.
------------------------------------------------------------------------------------
Statistical Ranking System
One of the most powerful features of this indicator is its built-in ranking system.
It tracks:
Total number of analyzed weeks
Frequency of each profile
Percentage occurrence
Typical day where the high or low forms
This transforms the indicator from a visual tool into a quantitative decision-making system.
------------------------------------------------------------------------------------
Timezone Flexibility
The indicator allows you to select different timezones:
London
New York
Tokyo
This ensures accurate session alignment and correct weekly structure depending on the market being analyzed.
------------------------------------------------------------------------------------
Market Sessions Visualization
Optional session tracking is included:
Asia
London
New York
Features:
Session markers (dots)
Session labels
Optional background coloring
This helps identify where liquidity and volatility are concentrated during the week.
------------------------------------------------------------------------------------
Market Open Filter
The script automatically filters out periods when the market is closed:
After Friday 17:00 New York time
Before Sunday 17:00 New York time
This prevents distorted data and improves accuracy.
------------------------------------------------------------------------------------
Customization Options
Users can customize:
Box colors (bullish / bearish)
Text and line colors
Ranking table position
Session visualization settings
Transparency levels
------------------------------------------------------------------------------------
Practical Usage
This indicator can be used to:
Identify dominant weekly patterns
Anticipate where highs or lows are likely to form
Establish directional bias early in the week
Improve timing when combined with liquidity or structure-based strategies
------------------------------------------------------------------------------------
Strengths
Based on institutional trading concepts (ICT)
Combines structure and statistics
Works across all markets (Forex, Crypto, Indices)
Provides both real-time and historical analysis
Offers probabilistic insights through ranking
------------------------------------------------------------------------------------
Limitations
Does not incorporate volume analysis
Focuses on structural behavior rather than momentum strength
Relies on OHLC data only
------------------------------------------------------------------------------------
Conclusion
ICT Weekly Profiles is more than a visual indicator.
It is a structured framework for understanding how the market behaves on a weekly basis.
By combining pattern recognition with statistical validation, it helps traders answer key questions:
Where is the market likely to form its high or low?
Which weekly patterns are most frequent?
What is the current institutional bias? Indicator

ICT Concepts [UAlgo]ICT Concepts is a broad market structure toolkit that combines several core ICT style elements inside a single script. Instead of focusing on only one concept, the indicator brings together order blocks, market structure shifts, SMT divergence, fair value gaps, balanced price ranges, consequent encroachment, liquidity sweeps, Fibonacci levels, and killzones in one integrated overlay.
The script is designed for traders who want a consolidated structure map rather than a collection of separate indicators. It tracks swing highs and lows, labels structural breaks as BOS or MSS, detects order blocks from a strict candle pattern, identifies imbalances through fair value gap logic, monitors liquidity sweeps around recent pivot levels, and draws structure anchored Fibonacci levels from the latest confirmed break. It can also compare the active chart against a second symbol for SMT divergence and even render a small comparison panel directly on the chart.
One of the strongest qualities of this script is that each module is state aware. Order blocks extend until mitigation. Fair value gaps extend until price trades through them. Structure anchors update after new breaks. Killzones persist historically for a defined number of sessions. SMT events are stored, labeled, and optionally projected inside a mini comparison panel. This makes the script much more than a simple set of static drawings. It behaves like a live structural framework that evolves with price.
From a workflow point of view, the indicator is especially useful for traders who want to read context in layers. Structure tells whether price is breaking with trend or shifting against it. Order blocks and imbalances show where inefficiency or sponsorship may remain. Liquidity sweeps show where recent resting liquidity has likely been taken. Fibonacci levels frame premium, discount, equilibrium, and OTE areas relative to the latest structural move. Killzones add time based session context. Together, these components create a broad market map for discretionary analysis.
🔹 Features
🔸 Single Candle Order Block Detection
The script detects bullish and bearish order blocks using a strict three candle displacement pattern. When a valid setup appears, the order block is stored, extended forward, and removed only after mitigation. Optional mean threshold lines can also be shown inside each block.
🔸 Multi Timeframe Order Blocks
Order block detection can run on a selected timeframe through request.security . This allows higher timeframe order blocks to be projected onto the current execution chart.
🔸 Market Structure Mapping
The indicator tracks pivot highs and lows and labels confirmed structural breaks as BOS or MSS. A continuation break is labeled BOS, while a directional reversal break is labeled MSS. This gives the chart a clear structure narrative.
🔸 SMT Divergence Detection
The script can compare the active chart against a second symbol and detect SMT divergence using pivot highs and lows from both instruments. Divergences are labeled directly on the main chart and can also be reflected inside a mini comparison panel.
🔸 Fair Value Gaps
Bullish and bearish fair value gaps are detected through a classic three candle gap condition. These imbalances are stored, extended, and removed once mitigated.
🔸 Balanced Price Range Support
When a new fair value gap overlaps with an opposite side historical fair value gap, the overlapping section becomes a balanced price range. This gives the script the ability to detect conflict zones formed by opposing inefficiencies.
🔸 Consequent Encroachment Mode
The imbalance module can also be displayed in consequent encroachment mode, where the midpoint of the gap is shown along with the premium or discount half of the imbalance.
🔸 Liquidity Sweep Detection
The indicator monitors recent pivot highs and lows and marks when price trades beyond one of those levels but closes back through it. This makes it easy to spot local buy side and sell side sweeps.
🔸 Structure Anchored Fibonacci Levels
After a confirmed structural break, the script anchors Fibonacci levels between the break extreme and the opposing structural point. Equilibrium, OTE, and optional extra levels are then projected forward.
🔸 Killzone Rendering
The script can mark Asian, London, New York AM, and New York PM session windows using session boxes and optional session range lines. Historical session boxes are kept for a user defined number of prior occurrences.
🔸 Active Object Management
Each subsystem uses its own storage and cleanup logic. Order blocks, imbalances, SMT markers, liquidity sweep boxes, Fibonacci objects, and killzones are all managed so the chart remains usable over time.
🔸 Alerts
Alert conditions are included for bullish and bearish order block detection.
🔹 Calculations
1) Order Block Pattern Logic
detectLogic() =>
bool isBull = open > close and close > open and close > open and low < low and close > high
bool isBear = open < close and close < open and close < open and high > high and close < low
[isBull, high , low , time , isBear, high , low , time ]
This is the core order block detector.
A bullish order block requires:
a bearish candle at 2 ,
a bullish candle at 1 ,
a bullish current candle,
a sweep below the low of candle 2 by candle 1 ,
and a close above the high of candle 1 .
A bearish order block uses the exact inverse.
The returned zone bounds come from candle 1 , which becomes the order block candle. That is why the function returns high , low , and time .
So the script is not marking every displacement candle. It is looking for a very specific three candle formation.
2) Multi Timeframe Order Block Projection
= request.security(syminfo.tickerid, i_tf, detectLogic())
This line runs the order block detection logic on the selected timeframe.
If the user chooses a higher timeframe, the resulting order block values are projected onto the current chart. This is extremely useful for mapping higher timeframe sponsorship zones onto a lower timeframe execution environment.
So the detection can stay structurally higher while the display remains on the user’s active chart.
3) Preventing Overlapping Order Blocks
method hasOverlap(array OBs, float top, float bottom) =>
bool overlap = false
if OBs.size() > 0
for i = 0 to OBs.size() - 1
OB item = OBs.get(i)
if (top < item.top and top > item.bottom) or (bottom > item.bottom and bottom < item.top)
overlap := true
break
overlap
Before a new order block is added, the script checks whether it overlaps an existing stored block of the same side.
If the proposed top or bottom falls inside an existing block, the new one is ignored. This reduces clutter and helps avoid stacking multiple highly similar zones in the same area.
So the order block engine is selective not only in detection, but also in object creation.
4) Order Block Mitigation and Active Limit Handling
method isMitigated(OB this, float currentClose) => this.isBull ? (currentClose < this.bottom) : (currentClose > this.top)
if drawCount < OB_ACTIVE_LIMIT
if na(item.id)
item.draw(i_bullColor, "Bull OB", i_showMidLine)
item.extend()
drawCount += 1
else
item.remove()
An order block remains valid until price closes beyond its invalidation boundary.
For bullish order blocks, mitigation happens when close moves below the block bottom.
For bearish order blocks, mitigation happens when close moves above the block top.
The script also limits how many active blocks are actually drawn. Older stored blocks may remain in memory, but only the most recent valid ones stay visible. This keeps the chart clean while preserving logic continuity.
5) Market Structure Pivot Tracking
float ph = ta.pivothigh(i_structLen, i_structLen)
float pl = ta.pivotlow(i_structLen, i_structLen)
if not na(ph)
prevHigh := lastHigh
prevHighIndex := lastHighIndex
lastHigh := ph
lastHighIndex := bar_index
if not na(pl)
prevLow := lastLow
prevLowIndex := lastLowIndex
lastLow := pl
lastLowIndex := bar_index
This is the base structure engine.
The script identifies confirmed pivot highs and lows using the selected pivot length. When a new pivot is confirmed, the prior stored high or low becomes prevHigh or prevLow , and the newest one becomes lastHigh or lastLow .
This means the indicator always keeps a rolling memory of the latest structural extremes, which later become the reference levels for BOS, MSS, liquidity sweeps, and Fibonacci anchoring.
6) BOS and MSS Logic
bool brokenHigh = ta.crossover(close, lastHigh)
bool brokenLow = ta.crossunder(close, lastLow)
if brokenHigh and not na(lastHigh) and not lastHighBroken
if not trendInitialized or trendIsBullish
drawStructure(lastHighIndex, lastHigh, bar_index, lastHigh, "BOS", i_structBull, "solid")
else
drawStructure(lastHighIndex, lastHigh, bar_index, lastHigh, "MSS", i_structBull, "dashed")
if brokenLow and not na(lastLow) and not lastLowBroken
if not trendInitialized or not trendIsBullish
drawStructure(lastLowIndex, lastLow, bar_index, lastLow, "BOS", i_structBear, "solid")
else
drawStructure(lastLowIndex, lastLow, bar_index, lastLow, "MSS", i_structBear, "dashed")
This is how the script classifies structure.
If close breaks above the last confirmed high, price has broken bullish structure.
If close breaks below the last confirmed low, price has broken bearish structure.
The label depends on prior trend state.
If the break happens in the same directional regime, it is labeled BOS.
If the break happens against the prior regime, it is labeled MSS.
So BOS means continuation of prevailing structure, while MSS means a shift in directional character.
7) SMT Divergence Detection
float smtPhA = i_smtOn ? ta.pivothigh(high, i_smtLen, i_smtLen) : na
float smtPlA = i_smtOn ? ta.pivotlow(low, i_smtLen, i_smtLen) : na
float smtPhB = i_smtOn ? request.security(i_smtSymbol, timeframe.period, ta.pivothigh(high, i_smtLen, i_smtLen)) : na
float smtPlB = i_smtOn ? request.security(i_smtSymbol, timeframe.period, ta.pivotlow(low, i_smtLen, i_smtLen)) : na
This block builds pivot data for both the main symbol and the comparison symbol.
The idea of SMT is relative disagreement. If one market makes a stronger high while the other fails to confirm it, or one market makes a lower low while the other refuses to follow, divergence may be present.
The script therefore tracks pivot highs and lows separately for both instruments.
8) Bearish and Bullish SMT Conditions
bool bearishSmt = not na(smtAHighPrev) and not na(smtBHighPrev) and (smtAHighLast > smtAHighPrev) and (smtBHighLast <= smtBHighPrev)
bool bullishSmt = not na(smtALowPrev) and not na(smtBLowPrev) and (smtALowLast < smtALowPrev) and (smtBLowLast >= smtBLowPrev)
These are the actual divergence tests.
Bearish SMT occurs when the active chart makes a higher high while the comparison symbol fails to do so.
Bullish SMT occurs when the active chart makes a lower low while the comparison symbol fails to confirm that weakness.
So the script is looking for asymmetry between related instruments, which is one of the classic uses of SMT analysis.
9) Mini Panel Rendering for SMT
= request.security(i_smtSymbol, timeframe.period, )
drawMiniCandle(startX + (lookback - 1 - i), o, h, l, c, smtMin, smtRange, baseY, targetHeight, i_smtBull, i_smtBear, isBear, isBull)
The mini panel is built by requesting OHLC data for the comparison symbol, then compressing it into a custom candle panel drawn on the right side of the chart.
Each mini candle is scaled into panel coordinates using the comparison symbol’s own high and low range. SMT event bars are then marked inside that mini chart.
So the panel is not decorative only. It provides a quick structural view of the comparison symbol directly beside the main chart.
10) Fair Value Gap Detection
bool fvgBullDetected = low > high
bool fvgBearDetected = high < low
These are the fair value gap rules.
A bullish fair value gap exists when the current low is above the high from two bars ago.
A bearish fair value gap exists when the current high is below the low from two bars ago.
This is the classic three candle inefficiency model. The gap zone is then stored as an FVG object and extended forward until mitigation.
11) Balanced Price Range Logic
bool hasOverlap = fTop > existing.bottom and fBot < existing.top
if hasOverlap
float bprTop = math.min(fTop, existing.top)
float bprBot = math.max(fBot, existing.bottom)
When a newly detected fair value gap overlaps an opposite side historical fair value gap, the overlapping area becomes a balanced price range.
This is important because BPR is not detected as an isolated standalone pattern. It is formed from the intersection of opposing inefficiencies. The script extracts only the common overlapping region and stores it as a new BPR object.
So BPR here is derived from actual imbalance conflict.
12) Consequent Encroachment Logic
float ceLevel = (this.top + this.bottom) / 2
float boxTop = this.isBull ? ceLevel : this.top
float boxBot = this.isBull ? this.bottom : ceLevel
Consequent encroachment is the midpoint of the fair value gap.
The script calculates the midpoint and, when CE mode is enabled, draws both a dashed midpoint line and a half gap box. For bullish gaps it emphasizes the lower half up to midpoint. For bearish gaps it emphasizes the upper half down to midpoint.
So CE mode gives the user a more precise internal level inside the wider imbalance.
13) Fair Value Gap Mitigation
method isMitigated(FVG this, float currentHigh, float currentLow) => this.isBull ? (currentLow < this.bottom) : (currentHigh > this.top)
A bullish fair value gap is mitigated when price trades below its bottom.
A bearish fair value gap is mitigated when price trades above its top.
Once mitigation happens, the object is removed. This keeps the imbalance display focused on still relevant inefficiencies.
14) Liquidity Sweep Detection
float liqPh = ta.pivothigh(LIQ_PIVOT_LEN, 1)
float liqPl = ta.pivotlow(LIQ_PIVOT_LEN, 1)
bool sweepBull = i_showLiq and not na(liqLastLow) and not liqLastLowSwept and low < liqLastLow and close > liqLastLow
bool sweepBear = i_showLiq and not na(liqLastHigh) and not liqLastHighSwept and high > liqLastHigh and close < liqLastHigh
This module watches recent pivot highs and lows for sweep behavior.
A bullish liquidity sweep occurs when price trades below the most recent sell side liquidity level but closes back above it.
A bearish liquidity sweep occurs when price trades above the most recent buy side liquidity level but closes back below it.
This is a clean wick through and reclaim style sweep model.
15) Liquidity Sweep Box Construction
if sweepBull
line bullSweepLine = line.new(liqLastLowIndex, liqLastLow, bar_index, liqLastLow, color = i_liqSellsideCol, style = line.style_solid)
box bullSweepBox = liqNewSweepBox(liqLastLow, low, i_liqSellsideCol)
if sweepBear
line bearSweepLine = line.new(liqLastHighIndex, liqLastHigh, bar_index, liqLastHigh, color = i_liqBuysideCol, style = line.style_solid)
box bearSweepBox = liqNewSweepBox(high, liqLastHigh, i_liqBuysideCol)
When a sweep occurs, the script draws two things:
a line showing the swept liquidity level,
and a box covering the swept excursion beyond that level.
This makes the sweep visually clear by showing both the reference price and the actual penetration area.
16) Fibonacci Anchoring From Latest Structure Break
bool fibCanDraw = i_showFib and lastStructBreakDir != 0 and not na(lastStructBreakIndex) and not na(lastStructBreakExtreme) and not na(lastStructOppPrice) and not na(lastStructOppIndex) and lastStructOppIndex != 0
The Fibonacci engine only draws when a valid structural break context exists.
The anchor requires:
a known break direction,
the latest break index,
the break extreme,
the opposing structural price,
and the opposing structural index.
So Fibonacci is not anchored arbitrarily. It is tied directly to the latest confirmed structural move.
17) Fibonacci Level Calculation
float a0 = lastStructBreakExtreme
float a1 = lastStructOppPrice
float r = a1 - a0
float p0 = a0 + r * 0.0
float p1 = a0 + r * 1.0
float pEq = a0 + r * i_fibEqLevel
float pOteLow = a0 + r * i_fibOteLow
float pOteMid = a0 + r * i_fibOteMid
float pOteHigh = a0 + r * i_fibOteHigh
This is the actual Fibonacci math.
The script defines the range between the break extreme and the opposing structural point, then calculates all Fibonacci levels as proportions of that range.
That includes:
the zero level,
the one level,
equilibrium,
the OTE low,
the OTE midpoint,
and the OTE high.
Optional extra levels can also be added in the same way.
So the Fibonacci framework always adapts to the latest structural swing rather than staying fixed to older price action.
18) Killzone Session Detection
string kzTz = "UTC-5"
kzInSession(string sess) =>
not na(time(timeframe.period, sess, kzTz))
bool inAsian = kzInSession("2000-0000")
bool inLondon = kzInSession("0200-0500")
bool inNY = kzInSession("0830-1100")
bool inLondonC = kzInSession("1330-1600")
Killzones are detected through session time windows defined in UTC 5.
Each session is converted into a boolean state that says whether the current bar falls inside that time window. This becomes the input for the killzone renderer.
So session marking is time based rather than manually positioned.
19) Killzone Box and Range Update Logic
if isActive
if not wasActive or na(sBox)
sBox := box.new(left = time, top = high, right = time, bottom = low, xloc = xloc.bar_time, bgcolor = baseCol, border_color = color(na), border_width = 0, text = boxTxt, text_color = tC, text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_top)
float prevTop = box.get_top(sBox)
float prevBot = box.get_bottom(sBox)
float newTop = math.max(prevTop, high)
float newBot = math.min(prevBot, low)
box.set_top(sBox, newTop)
box.set_bottom(sBox, newBot)
box.set_right(sBox, time)
When a killzone begins, the script creates a new box using the current bar’s range. As the session continues, it keeps updating the top and bottom to reflect the highest high and lowest low made during that session.
So each killzone box becomes both a time marker and a session range marker. Indicator

ICT MMM/AMD (Power of 3) [UAlgo]ICT MMM / AMD (Power of 3) is an intraday market structure framework that models the classic Accumulation, Manipulation, Distribution cycle using configurable killzones. The script tracks the Asia range as the accumulation anchor, looks for a liquidity sweep during the London window, waits for a Market Structure Shift confirmation, and then maps a clean entry model using Fair Value Gap logic and optional displacement requirements.
Beyond the core cycle, the indicator provides two additional layers of context:
Previous Day High and Previous Day Low levels for higher timeframe objectives
A dynamic Dealing Range built from recent pivots to visualize premium, discount, and equilibrium
The result is a structured workflow tool that organizes ICT style intraday logic into clear, step by step states with optional filters for cleaner execution.
🔹 Features
1) Session Based Cycle Engine (Killzones)
The script is built around three sessions selected by the user and evaluated in a chosen IANA timezone:
Accumulation window, typically Asia
Manipulation window, typically London
Distribution window, typically New York AM
Each day begins a new cycle at the start of the accumulation session. The script tracks the running high and low during accumulation, then finalizes those boundaries at the end of the session to create the reference range used by later steps.
2) Accumulation Range Mapping
During accumulation, the indicator maintains:
Accumulation High
Accumulation Low
Optional border only box around the session range
Optional ACC label
When the accumulation window ends, the high and low are frozen and drawn as clean horizontal guides using your selected line style and width.
3) Liquidity Sweep Detection With ATR and Tick Filters
During the manipulation window, the indicator checks for a sweep beyond the accumulation boundaries. The sweep threshold is adaptive and uses the larger of:
A minimum tick distance
A minimum ATR based distance
You can also choose whether sweep validation uses wicks or closes:
Wicks uses High and Low
Closes uses Close only
When a sweep is confirmed, the script labels it as BSL sweep if it sweeps above highs, or SSL sweep if it sweeps below lows. Optional sweep level and wick markers can also be drawn for precise reference.
4) Market Structure Shift Confirmation
After a sweep, the script waits for a Market Structure Shift using confirmed pivots. Pivot Length controls strictness. Higher values require cleaner structure and reduce false shifts, at the cost of added confirmation delay.
Bullish MSS is confirmed when price closes above the most recent confirmed pivot high after an SSL sweep
Bearish MSS is confirmed when price closes below the most recent confirmed pivot low after a BSL sweep
Optional MSS break lines can be displayed so you can see the exact level that defined the shift.
5) Displacement Qualification (Optional Gate Before FVG)
Displacement can be required before Fair Value Gap detection. This filter attempts to enforce a strong impulse candle after MSS by checking:
Body to range proportion
Body size relative to ATR
Directional strength by requiring a break beyond the prior candle extreme
This helps separate soft rotations from decisive expansions, which tends to improve FVG quality in many market conditions.
6) Fair Value Gap Detection and Management
After MSS, the script scans a configurable number of bars for a valid FVG.
Bullish FVG condition uses a three candle gap where the current low is above the high two bars ago
Bearish FVG condition uses a three candle gap where the current high is below the low two bars ago
Once an FVG is active, the script draws top and bottom boundary lines and optionally labels it. When price returns into the gap, the script treats it as mitigated. If the remove option is enabled, the FVG drawings are deleted after mitigation to keep the chart clean.
7) Entry Marking With Optional Distribution Filter
When price touches the active FVG, the script can print an ENTRY label and place a stop line.
Entry can be restricted to the distribution window if desired
This can reduce off session prints and align entries with the intended time of day logic
The stop level is anchored to the sweep extreme with an optional tick padding so you can adapt to spread and micro structure noise.
8) Target Framework Per Cycle
Targets are evaluated after MSS using your selected Target Mode:
PDH PDL only
Range only
PDH PDL plus Range
For bullish MSS, targets can include PDH and the accumulation high
For bearish MSS, targets can include PDL and the accumulation low
Target lines update forward and can stop extending once price hits them, keeping the cycle output visually informative without turning into permanent clutter.
9) Dealing Range Premium Discount Map
A Dealing Range is built from the most recent confirmed pivot high and pivot low using a separate pivot length setting. The script then computes:
Premium as the upper boundary
Discount as the lower boundary
Equilibrium as the midpoint
Optional labels mark DR PREMIUM, DR DISCOUNT, and DR EQ (50%) so you can quickly align entries with premium and discount logic.
10) Previous Day High and Low Overlay
PDH and PDL are pulled from the daily timeframe and drawn as global reference levels. These update at each new day and can be displayed with labels. This keeps higher timeframe objectives visible even when trading lower timeframes.
11) Visual Control and Cycle Retention
The indicator offers full control over:
Line styles
Line widths
Whether lines extend into the future
Whether to show boxes, labels, sweep lines, MSS lines, targets, and dealing range
Completed cycles are stored and older cycles are pruned based on Keep Last Cycles. This preserves recent context while keeping object counts under control.
🔹 Calculations
1) Session State Logic
Each session is evaluated using the chart timeframe, the session input, and the selected timezone. A cycle starts when the accumulation session turns on and ends when it turns off.
Conceptually:
inAcc is true when the current bar time falls inside the accumulation session
accStart is the transition from not inAcc to inAcc
accEnd is the transition from inAcc to not inAcc
These transitions control the lifecycle of each MMM cycle object.
2) Accumulation Range Construction
During accumulation, the script continuously updates the running high and low:
accHigh becomes the maximum observed high within the session
accLow becomes the minimum observed low within the session
At accEnd, these values are finalized and turned into horizontal range guides that define the boundaries used for sweep validation and optional range targets.
3) Sweep Threshold Model
Sweep threshold is a conservative maximum of two measurements:
Minimum sweep distance in ticks
Minimum sweep distance as a fraction of ATR
This creates a single threshold thr that adapts to volatility while still respecting a hard minimum in ticks.
Sweep evaluation then compares either:
High and Low if wicks are used
Close if closes are used
A sweep is confirmed when price probes beyond accHigh plus thr or beyond accLow minus thr.
4) MSS Pivot Framework
Confirmed pivots are used for structure shift validation. The script stores the most recent confirmed pivot high and pivot low and their bar indexes.
After a BSL sweep, bearish MSS triggers when close breaks below the last pivot low
After an SSL sweep, bullish MSS triggers when close breaks above the last pivot high
This ensures MSS is a structural confirmation rather than a subjective interpretation.
5) Displacement Filter Metrics
Displacement quality is checked using:
Body size relative to total candle range
Body size relative to ATR
Directional break beyond the previous candle extreme
Only when these requirements pass does the cycle allow the displacement flag, which can be used as a gate for FVG detection when enabled.
6) FVG Definition
The script uses a strict three candle gap model:
Bullish FVG when current low is above the high two bars ago
Bearish FVG when current high is below the low two bars ago
FVG is only searched within a fixed number of bars after MSS, which keeps the model aligned with the intended timing of the intraday cycle.
7) Mitigation and Entry Touch Logic
When an active FVG is present, a touch is defined as price overlapping the gap region. On the first touch:
If entry marking is enabled and the time filter allows it, the script prints ENTRY and places SL
FVG is marked as mitigated and can optionally be removed from the chart
Stop is computed from the sweep wick extreme plus optional tick padding, aligned with the idea that the sweep should remain the invalidation anchor.
8) Target Selection Logic
Targets are chosen based on direction and the Target Mode:
For bullish MSS, PDH can be Target A, accumulation high can be Target B
For bearish MSS, PDL can be Target A, accumulation low can be Target B
Targets are updated forward each bar and can stop extending once hit, which keeps the current cycle readable.
9) Dealing Range Computation
The dealing range uses the latest confirmed pivot high and pivot low:
DR high equals the higher of the two pivot prices
DR low equals the lower of the two pivot prices
DR equilibrium equals the midpoint of DR high and DR low
This provides a clean premium and discount map that updates as new pivots confirm.
10) Previous Day High and Low Retrieval
PDH and PDL are sourced from the daily timeframe using a security call that references the prior day values. They are reset at each new day, ensuring the lines represent the most recent completed daily range. Indicator

ICT Macro Clock - Real-Time + Alerts⏰ ICT Macro Clock - Real-Time Alert Indicator
What It Does
Real-time clock indicator with automatic visual alerts for ICT Macro time windows (xx:50 to xx:15). Designed for traders following Inner Circle Trader methodology and Smart Money Concepts.
Key Features
🔔 Macro Window Detection
Automatically detects ICT Macro periods: xx:50 to xx:15 (26 minutes)
Visual blinking alert alternates colors every second
Clock enlarges to huge size during active windows
PulseWire alerts trigger at xx:50
⏰ Real-Time Clock
Displays current time in H:M format
Adjustable GMT offset for any timezone
Compatible with Bar Replay mode
Updates every second in real-time
🎨 Full Customization
9 screen positions (top/middle/bottom × left/center/right)
Custom colors for normal, blink, and macro text
Adjustable text sizes
Customizable macro text template using {start} and {end} placeholders
Optional table borders
📱 PulseWire Alerts
Get notified when each Macro window starts
Configure alerts for app, email, sound, or webhook
24 alerts per day (one per hour)
ICT Macro Windows Explained
In ICT methodology, Macro windows are 26-minute periods when institutional algorithms are most active:
High probability for liquidity sweeps
Optimal timing for Fair Value Gap formations
Increased volatility and displacement moves
Smart Money order execution periods
Perfect for:
Silver Bullet setups
Order block activations
Killzone trading
News release alignment
Settings Overview
⚙️ General Settings
GMT offset, table position, text sizes, borders, alerts
📝 Text Settings
Macro text template, text alignment
🎨 Clock Colors
Normal display colors
Blink alert colors
Macro text colors
Usage
Add indicator to your chart
Set your GMT offset (e.g., -5 for NY, +0 for London)
Choose table position
Customize colors to match your theme
Enable PulseWire alerts if desired
Watch for visual alerts at xx:50
Example Template Formats
{start} - {end} - Macro → 14:50 - 15:15 - Macro
🔔 ICT {start}-{end} → 🔔 ICT 14:50-15:15
Macro: {start} to {end} → Macro: 14:50 to 15:15
Technical Details
Pine Script v5
Optimized performance (uses var and barstate.islast)
Works on all timeframes and markets
No repainting
Bar Replay compatible
Perfect For
✅ ICT traders
✅ Smart Money Concepts followers
✅ Forex and futures traders
✅ Intraday scalpers
✅ Anyone tracking institutional timing
Note: This is a timing tool, not a trading signal. Always use proper risk management and combine with your own analysis.
If you find this helpful, please leave a rating and share with fellow ICT traders! 🚀 Indicator

Indicator

ICT Venom Trading Model [TradingFinder] SMC NY Session 2025SetupIntroduction
The ICT Venom Model is one of the most advanced strategies in the ICT framework, designed for intraday trading on major US indices such as US100, US30, and US500. This model is rooted in liquidity theory, time and price dynamics, and institutional order flow.
The Venom Model focuses on detecting Liquidity Sweeps, identifying Fair Value Gaps (FVG), and analyzing Market Structure Shifts (MSS). By combining these ICT core concepts, traders can filter false breakouts, capture sharp reversals, and align their entries with the real institutional liquidity flow during the New York Session.
Key Highlights of ICT Venom Model :
Intraday focus : Optimized for US indices (US100, US30, US500).
Time element : Critical window is 08:00–09:30 AM (Venom Box).
Liquidity sweep logic : Price grabs liquidity at 09:30 AM open.
Confirmation tools : MSS, CISD, FVG, and Order Blocks.
Dual setups : Works in both Bullish Venom and Bearish Venom conditions.
At its core, the ICT Venom Strategy is a framework that explains how institutional players manipulate liquidity pools by engineering false breakouts around the initial range of the market. Between 08:00 and 09:30 AM New York time, a range called the “Venom Box” is formed.
This range acts as a trap for retail traders, and once the 09:30 AM market open occurs, price usually sweeps either the high or the low of this box to collect stop-loss liquidity. After this liquidity grab, the market often reverses sharply, giving birth to a classic Bullish Venom Setup or Bearish Venom Setup
The Venom Model (ICT Venom Trading Strategy) is not just a pattern recognition tool but a precise institutional trading model based on time, liquidity, and market structure. By understanding the Initial Balance Range, watching for Liquidity Sweeps, and entering trades from FVG zones or Order Blocks, traders can anticipate market reversals with high accuracy. This strategy is widely respected among ICT followers because it offers both risk management discipline and clear entry/exit conditions. In short, the Venom Model transforms liquidity manipulation into actionable trading opportunities.
Bullish Setup :
Bearish Setup :
🔵 How to Use
The ICT Venom Model is applied by observing price behavior during the early hours of the New York session. The first step is to define the Initial Range, also called the Venom Box, which is formed between 08:00 and 09:30 AM EST. This range marks the high and low points where institutional traders often create traps for retail participants. Once the official market opens at 09:30 AM, price usually sweeps either the top or bottom of this box to collect liquidity.
After this liquidity grab, the market tends to reverse in alignment with the true directional bias. To confirm the setup, traders look for signals such as a Market Structure Shift (MSS), Change in State of Delivery (CISD), or the appearance of a Fair Value Gap (FVG). These elements validate the reversal and provide precise levels for trade execution.
🟣 Bullish Setup
In a Bullish Venom Setup, the market first sweeps the low of the Venom Box after 09:30 AM, triggering sell-side liquidity collection. This downward move is often sharp and deceptive, designed to stop out retail long positions and attract new sellers. Once liquidity is taken, the market typically shifts direction, forming an MSS or CISD that signals a reversal to the upside.
Traders then wait for price to retrace into a Fair Value Gap or a demand-side Order Block created during the reversal leg. This retracement offers the ideal entry point for long positions. Stop-loss placement should be just below the liquidity sweep low, while profit targets are set at the Venom Box high and, if momentum continues, at higher session or daily highs.
🟣 Bearish Setup
In a Bearish Venom Setup, the process is similar but reversed. After the Initial Range is defined, if price breaks above the Venom Box high following the 09:30 AM open, it signals a false breakout designed to collect buy-side liquidity. This move usually traps eager buyers and clears out stop-losses above the high.
After the liquidity sweep, confirmation comes through an MSS or CISD pointing to a reversal downward. At this stage, traders anticipate a retracement into a Fair Value Gap or a supply-side Order Block formed during the reversal. Short entries are taken within this zone, with stop-loss positioned just above the liquidity sweep high. The logical profit targets include the Venom Box low and, in stronger bearish momentum, deeper session or daily lows.
🔵 Settings
Refine Order Block : Enables finer adjustments to Order Block levels for more accurate price responses.
Mitigation Level OB : Allows users to set specific reaction points within an Order Block, including: Proximal: Closest level to the current price. 50% OB: Midpoint of the Order Block. Distal: Farthest level from the current price.
FVG Filter : The Judas Swing indicator includes a filter for Fair Value Gap (FVG), allowing different filtering based on FVG width: FVG Filter Type: Can be set to "Very Aggressive," "Aggressive," "Defensive," or "Very Defensive." Higher defensiveness narrows the FVG width, focusing on narrower gaps.
Mitigation Level FVG : Like the Order Block, you can set price reaction levels for FVG with options such as Proximal, 50% OB, and Distal.
CISD : The Bar Back Check option enables traders to specify the number of past candles checked for identifying the CISD Level, enhancing CISD Level accuracy on the chart.
🔵 Conclusion
The ICT Venom Model is more than just a reversal setup; it is a complete intraday trading framework that blends liquidity theory, time precision, and market structure analysis. By focusing on the Initial Range between 08:00 and 09:30 AM New York time and observing how price reacts at the 09:30 AM open, traders can identify liquidity sweeps that reveal institutional intentions.
Whether in a Bullish Venom Setup or a Bearish Venom Setup, the model allows for precise entries through Fair Value Gaps (FVGs) and Order Blocks, while maintaining clear risk management with well-defined stop-loss and target levels.
Ultimately, the ICT Venom Model provides traders with a structured way to filter false moves and align their trades with institutional order flow. Its strength lies in transforming liquidity manipulation into actionable opportunities, giving intraday traders an edge in timing, accuracy, and consistency. For those who master its logic, the Venom Model becomes not only a strategy for entry and exit, but also a deeper framework for understanding how liquidity truly drives price in the New York session.
Indicator

Watermark [TakingProphets] Watermark
A fully customizable watermark & chart info panel to keep your charts branded, organized, and informative — without clutter.
Special thanks to for inspiring the original concept that led to this expanded version.
📌 Overview
Perfect for:
Traders who stream, record, or share charts
Keeping essential info (symbol, TF, date, price) visible
Intraday traders who want day-of-week labels without messy vertical lines
✨ Key Features
1. Personal Watermark
Custom text, colors, size, opacity
Position anywhere: Top, Middle, Bottom × Left, Center, Right
Alignment options: left, center, right
Optional border with adjustable color or hide completely
2. Chart Info Panel
Show any combination of:
Custom text
Symbol
Timeframe (auto-formatted)
Date (MM-DD-YYYY)
Last price
Day of the week
Position independently from watermark
Adjustable background opacity
3. Day-of-Week Labels
Labels Sunday → Saturday at session start or midday
Works on intraday ≤ 15m timeframes
Option to hide weekends
Place labels Top or Bottom
⚙️ How to Use
Enable Watermark → Personal Watermark Settings → Toggle Show Watermark, enter your text, style it.
Set Up Info Panel → Chart Information Panel → Select details, choose position, adjust style.
Add Day Labels → Day of Week Labels Settings → Turn on for intraday charts.
💡 Tips
Lower background opacity for a subtle look.
Use bright colors for streaming so your brand stands out.
Hide unused features to keep charts clean & fast.
🙏 Acknowledgments
This script’s concept was inspired by toodegrees.
Developed by TakingProphets — tools for traders who value clarity, precision, and style.
⚠️ Disclaimer:
This script is for informational purposes only. It is not financial advice. Always trade responsibly and manage your risk. Indicator

ICT Setup 04 [TradingFinder] SFP Sweep Liquidity Fake CHoCH/BOS🔵 Introduction
In smart money and ICT based trading, liquidity is never random. Some of the most meaningful market moves begin with a liquidity sweep where price intentionally hunts a previous swing high or swing low to trigger stop loss orders and absorb volume.
This manipulation is often followed by a sharp reversal from a reaction zone, creating ideal conditions for a high probability entry. This indicator is built to detect exactly that. It identifies a valid swing point and defines a reaction zone where price is likely to react.
For short setups, the zone lies between the swing high and the maximum of the candle’s open or close. For long setups, it’s drawn from the swing low to the minimum of the open or close.
When price returns to this zone and forms a qualified confirmation candle typically a doji or a small bodied candle that closes inside the zone while sweeping the liquidity this is a potential sign of reversal.
The candle must show both the sweep and the inability to hold above or below the key level, signaling a fake breakout or failed move. By combining elements of liquidity hunt, reaction zone rejection, and candle based entry confirmation, this tool highlights sniper entry points used by smart money to trap retail traders and reverse the trend. It helps filter out noise and enhances timing, making it ideal for trading in alignment with institutional order flow.
Long Position :
Short Position :
🔵 How to Use
This indicator is designed to highlight precise moments where price sweeps liquidity and reacts within a high probability reversal zone. By identifying clean swing highs and lows and defining a smart reaction zone around them, it filters out weak fakeouts and focuses only on setups with strong institutional footprints.
The tool works best when combined with market structure analysis and is suitable for both scalping and intraday trading. Below is a breakdown of how to interpret the signals for long and short positions based on the visual setups provided.
🟣 Long Setup
In a long setup, the indicator first detects a valid swing low where liquidity has likely accumulated below. A reaction zone is then drawn between the swing low and the minimum of the open or close of the swing candle.
When price returns to this zone, it must sweep the previous low and form a precise confirmation candle, such as a doji or a small bodied candle, that closes inside the zone. This candle must also reject the lower level, showing failure to continue downward.
As shown in the chart, once the liquidity grab is complete and the confirmation candle forms, a clean long signal is issued, indicating a potential bullish reversal backed by smart money behavior.
🟣 Short Setup
In a short setup, the indicator identifies a swing high where buy-side liquidity is resting. It then constructs a reaction zone between the high and the maximum of the open or close of the swing candle. Price must return to this zone, sweep the swing high, and form a bearish confirmation candle inside the zone.
A classic example is a doji or rejection candle that traps breakout buyers and fails to hold above the previous high. In the provided chart, the price aggressively hunts the liquidity above the swing high, but the close within the reaction zone signals exhaustion, prompting a short signal with high reversal probability.
These setups represent moments where price action, liquidity behavior, and candle structure align to offer strong entries. By focusing on clean sweeps and reactive confirmations, the indicator helps traders stay on the side of smart money and avoid common breakout traps.
🔵 Settings
🟣 Logical settings
Swing period : You can set the swing detection period.
Max Swing Back Method : It is in two modes "All" and "Custom". If it is in "All" mode, it will check all swings, and if it is in "Custom" mode, it will check the swings to the extent you determine.
Max Swing Back : You can set the number of swings that will go back for checking.
Maximum Distance Between Swing and Signal :The maximum number of candles allowed between the swing point and the potential signal. The default value is 50, ensuring that only recent and relevant price reactions are considered valid.
🟣 Display settings
Displaying or not displaying swings and setting the color of labels and lines.
🟣 Alert Settings
Alert SFP : Enables alerts for Swing Failure Pattern.
Message Frequency : Determines the frequency of alerts. Options include 'All' (every function call), 'Once Per Bar' (first call within the bar), and 'Once Per Bar Close' (final script execution of the real-time bar). Default is 'Once per Bar'.
Show Alert Time by Time Zone : Configures the time zone for alert messages. Default is 'UTC'.
🔵 Conclusion
This indicator is built for traders who rely on liquidity driven setups and smart money principles. By combining swing structure analysis with precision reaction zones and strict entry confirmation, it isolates the exact moments where price sweeps liquidity and fails to continue. These are high value points where institutional activity often reveals itself, and retail traps unfold.
Unlike generic breakout tools, this script focuses on quality over quantity by requiring both a sweep of a swing high or low and a confirmed rejection candle that closes inside a predefined zone. With customizable swing depth, proximity filters, visual highlights, and alert functions, it offers a complete framework for identifying and acting on fake breakouts with confidence. Whether you trade forex, crypto, or indices, this tool enhances your ability to align with true order flow and take entries where liquidity is most likely to shift.
Indicator

FVG Premium [no1x]█ OVERVIEW
This indicator provides a comprehensive toolkit for identifying, visualizing, and tracking Fair Value Gaps (FVGs) across three distinct timeframes (current chart, a user-defined Medium Timeframe - MTF, and a user-defined High Timeframe - HTF). It is designed to offer traders enhanced insight into FVG dynamics through detailed state monitoring (formation, partial fill, full mitigation, midline touch), extensive visual customization for FVG representation, and a rich alert system for timely notifications on FVG-related events.
█ CONCEPTS
This indicator is built upon the core concept of Fair Value Gaps (FVGs) and their significance in price action analysis, offering a multi-layered approach to their detection and interpretation across different timeframes.
Fair Value Gaps (FVGs)
A Fair Value Gap (FVG), also known as an imbalance, represents a range in price delivery where one side of the market (buying or selling) was more aggressive, leaving an inefficiency or an "imbalance" in the price action. This concept is prominently featured within Smart Money Concepts (SMC) and Inner Circle Trader (ICT) methodologies, where such gaps are often interpreted as footprints left by "smart money" due to rapid, forceful price movements. These methodologies suggest that price may later revisit these FVG zones to rebalance a prior inefficiency or to seek liquidity before continuing its path. These gaps are typically identified by a three-bar pattern:
Bullish FVG : This is a three-candle formation where the second candle shows a strong upward move. The FVG is the space created between the high of the first candle (bottom of FVG) and the low of the third candle (top of FVG). This indicates a strong upward impulsive move.
Bearish FVG : This is a three-candle formation where the second candle shows a strong downward move. The FVG is the space created between the low of the first candle (top of FVG) and the high of the third candle (bottom of FVG). This indicates a strong downward impulsive move.
FVGs are often watched by traders as potential areas where price might return to "rebalance" or find support/resistance.
Multi-Timeframe (MTF) Analysis
The indicator extends FVG detection beyond the current chart's timeframe (Low Timeframe - LTF) to two higher user-defined timeframes: Medium Timeframe (MTF) and High Timeframe (HTF). This allows traders to:
Identify FVGs that might be significant on a broader market structure.
Observe how FVGs from different timeframes align or interact.
Gain a more comprehensive perspective on potential support and resistance zones.
FVG State and Lifecycle Management
The indicator actively tracks the lifecycle of each detected FVG:
Formation : The initial identification of an FVG.
Partial Fill (Entry) : When price enters but does not completely pass through the FVG. The indicator updates the "current" top/bottom of the FVG to reflect the filled portion.
Midline (Equilibrium) Touch : When price touches the 50% level of the FVG.
Full Mitigation : When price completely trades through the FVG, effectively "filling" or "rebalancing" the gap. The indicator records the mitigation time.
This state tracking is crucial for understanding how price interacts with these zones.
FVG Classification (Large FVG)
FVGs can be optionally classified as "Large FVGs" (LV) if their size (top to bottom range) exceeds a user-defined multiple of the Average True Range (ATR) for that FVG's timeframe. This helps distinguish FVGs that are significantly larger relative to recent volatility.
Visual Customization and Information Delivery
A key concept is providing extensive control over how FVGs are displayed. This control is achieved through a centralized set of visual parameters within the indicator, allowing users to configure numerous aspects (colors, line styles, visibility of boxes, midlines, mitigation lines, labels, etc.) for each timeframe. Additionally, an on-chart information panel summarizes the nearest unmitigated bullish and bearish FVG levels for each active timeframe, providing a quick glance at key price points.
█ FEATURES
This indicator offers a rich set of features designed to provide a highly customizable and comprehensive Fair Value Gap (FVG) analysis experience. Users can tailor the FVG detection, visual representation, and alerting mechanisms across three distinct timeframes: the current chart (Low Timeframe - LTF), a user-defined Medium Timeframe (MTF), and a user-defined High Timeframe (HTF).
Multi-Timeframe FVG Detection and Display
The core strength of this indicator lies in its ability to identify and display FVGs from not only the current chart's timeframe (LTF) but also from two higher, user-selectable timeframes (MTF and HTF).
Timeframe Selection: Users can specify the exact MTF (e.g., "60", "240") and HTF (e.g., "D", "W") through dedicated inputs in the "MTF (Medium Timeframe)" and "HTF (High Timeframe)" settings groups. The visibility of FVGs from these higher timeframes can be toggled independently using the "Show MTF FVGs" and "Show HTF FVGs" checkboxes.
Consistent Detection Logic: The FVG detection logic, based on the classic three-bar imbalance pattern detailed in the 'Concepts' section, is applied consistently across all selected timeframes (LTF, MTF, HTF)
Timeframe-Specific Visuals: Each timeframe's FVGs (LTF, MTF, HTF) can be customized with unique colors for bullish/bearish states and their mitigated counterparts. This allows for easy visual differentiation of FVGs originating from different market perspectives.
Comprehensive FVG Visualization Options
The indicator provides extensive control over how FVGs are visually represented on the chart for each timeframe (LTF, MTF, HTF).
FVG Boxes:
Visibility: Main FVG boxes can be shown or hidden per timeframe using the "Show FVG Boxes" (for LTF), "Show Boxes" (for MTF/HTF) inputs.
Color Customization: Colors for bullish, bearish, active, and mitigated FVG boxes (including Large FVGs, if classified) are fully customizable for each timeframe.
Box Extension & Length: FVG boxes can either be extended to the right indefinitely ("Extend Boxes Right") or set to a fixed length in bars ("Short Box Length" or "Box Length" equivalent inputs).
Box Labels: Optional labels can display the FVG's timeframe and fill percentage on the box. These labels are configurable for all timeframes (LTF, MTF, and HTF). Please note: If FVGs are positioned very close to each other on the chart, their respective labels may overlap. This can potentially lead to visual clutter, and it is a known behavior in the current version of the indicator.
Box Borders: Visibility, width, style (solid, dashed, dotted), and color of FVG box borders are customizable per timeframe.
Midlines (Equilibrium/EQ):
Visibility: The 50% level (midline or EQ) of FVGs can be shown or hidden for each timeframe.
Style Customization: Width, style, and color of the midline are customizable per timeframe. The indicator tracks if this midline has been touched by price.
Mitigation Lines:
Visibility: Mitigation lines (representing the FVG's opening level that needs to be breached for full mitigation) can be shown or hidden for each timeframe. If shown, these lines are always extended to the right.
Style Customization: Width, style, and color of the mitigation line are customizable per timeframe.
Mitigation Line Labels: Optional price labels can be displayed on mitigation lines, with a customizable horizontal bar offset for positioning. For optimal label placement, the following horizontal bar offsets are recommended: 4 for LTF, 8 for MTF, and 12 for HTF.
Persistence After Mitigation: Users can choose to keep mitigation lines visible even after an FVG is fully mitigated, with a distinct color for such lines. Importantly, this option is only effective if the general setting 'Hide Fully Mitigated FVGs' is disabled, as otherwise, the entire FVG and its lines will be removed upon mitigation.
FVG State Management and Behavior
The indicator tracks and visually responds to changes in FVG states.
Hide Fully Mitigated FVGs: This option, typically found in the indicator's general settings, allows users to automatically remove all visual elements of an FVG from the chart once price has fully mitigated it. This helps maintain chart clarity by focusing on active FVGs.
Partial Fill Visualization: When price enters an FVG, the indicator offers a dynamic visual representation: the portion of the FVG that has been filled is shown as a "mitigated box" (typically with a distinct color), while the original FVG box shrinks to clearly highlight the remaining, unfilled portion. This two-part display provides an immediate visual cue about how much of the FVG's imbalance has been addressed and what potential remains within the gap.
Visual Filtering by ATR Proximity: To help users focus on the most relevant price action, FVGs can be dynamically hidden if they are located further from the current price than a user-defined multiple of the Average True Range (ATR). This behavior is controlled by the "Filter Band Width (ATR Multiple)" input; setting this to zero disables the filter entirely, ensuring all detected FVGs remain visible regardless of their proximity to price.
Alternative Usage Example: Mitigation Lines as Key Support/Resistance Levels
For traders preferring a minimalist chart focused on key Fair Value Gap (FVG) levels, the indicator's visualization settings can be customized to display only FVG mitigation lines. This approach leverages these lines as potential support and resistance zones, reflecting areas where price might revisit to address imbalances.
To configure this view:
Disable FVG Boxes: Turn off "Show FVG Boxes" (for LTF) or "Show Boxes" (for MTF/HTF) for the desired timeframes.
Hide Midlines: Disable the visibility of the 50% FVG Midlines (Equilibrium/EQ).
Ensure Mitigation Lines are Visible: Keep "Mitigation Lines" enabled.
Retain All Mitigation Lines:
Disable the "Hide Fully Mitigated FVGs" option in the general settings.
Enable the feature to "keep mitigation lines visible even after an FVG is fully mitigated". This ensures lines from all FVGs (active or fully mitigated) remain on the chart, which is only effective if "Hide Fully Mitigated FVGs" is disabled.
This setup offers:
A Decluttered Chart: Focuses solely on the FVG opening levels.
Precise S/R Zones: Treats mitigation lines as specific points for potential price reactions.
Historical Level Analysis: Includes lines from past, fully mitigated FVGs for a comprehensive view of significant price levels.
For enhanced usability with this focused view, consider these optional additions:
The on-chart Information Panel can be activated to display a quick summary of the nearest unmitigated FVG levels.
Mitigation Line Labels can also be activated for clear price level identification. A customizable horizontal bar offset is available for positioning these labels; for example, offsets of 4 for LTF, 8 for MTF, and 12 for HTF can be effective.
FVG Classification (Large FVG)
This feature allows for distinguishing FVGs based on their size relative to market volatility.
Enable Classification: Users can enable "Classify FVG (Large FVG)" to identify FVGs that are significantly larger than average.
ATR-Based Threshold: An FVG is classified as "Large" if its height (price range) is greater than or equal to the Average True Range (ATR) of its timeframe multiplied by a user-defined "Large FVG Threshold (ATR Multiple)". The ATR period for this calculation is also configurable.
Dedicated Colors: Large FVGs (both bullish/bearish and active/mitigated) can be assigned unique colors, making them easily distinguishable on the chart.
Panel Icon: Large FVGs are marked with a special icon in the Info Panel.
Information Panel
An on-chart panel provides a quick summary of the nearest unmitigated FVG levels.
Visibility and Position: The panel can be shown/hidden and positioned in any of the nine standard locations on the chart (e.g., Top Right, Middle Center).
Content: It displays the price levels of the nearest unmitigated bullish and bearish FVGs for LTF, MTF (if active), and HTF (if active). It also indicates if these nearest FVGs are Large FVGs (if classification is enabled) using a selectable icon.
Styling: Text size, border color, header background/text colors, default text color, and "N/A" cell background color are customizable.
Highlighting: Background and text colors for the cells displaying the overall nearest bullish and bearish FVG levels (across all active timeframes) can be customized to draw attention to the most proximate FVG.
Comprehensive Alert System
The indicator offers a granular alert system for various FVG-related events, configurable for each timeframe (LTF, MTF, HTF) independently. Users can enable alerts for:
New FVG Formation: Separate alerts for new bullish and new bearish FVG formations.
FVG Entry/Partial Fill: Separate alerts for price entering a bullish FVG or a bearish FVG.
FVG Full Mitigation: Separate alerts for full mitigation of bullish and bearish FVGs.
FVG Midline (EQ) Touch: Separate alerts for price touching the midline of a bullish or bearish FVG.
Alert messages are detailed, providing information such as the timeframe, FVG type (bull/bear, Large FVG), relevant price levels, and timestamps.
█ NOTES
This section provides additional information regarding the indicator's usage, performance considerations, and potential interactions with the PulseWire platform. Understanding these points can help users optimize their experience and troubleshoot effectively.
Performance and Resource Management
Maximum FVGs to Track : The "Max FVGs to Track" input (defaulting to 25) limits the number of FVG objects processed for each category (e.g., LTF Bullish, MTF Bearish). Increasing this value significantly can impact performance due to more objects being iterated over and potentially drawn, especially when multiple timeframes are active.
Drawing Object Limits : To manage performance, this script sets its own internal limits on the number of drawing objects it displays. While it allows for up to approximately 500 lines (max_lines_count=500) and 500 labels (max_labels_count=500), the number of FVG boxes is deliberately restricted to a maximum of 150 (max_boxes_count=150). This specific limit for boxes is a key performance consideration: displaying too many boxes can significantly slow down the indicator, and a very high number is often not essential for analysis. Enabling all visual elements for many FVGs across all three timeframes can cause the indicator to reach these internal limits, especially the stricter box limit
Optimization Strategies : To help you manage performance, reduce visual clutter, and avoid exceeding drawing limits when using this indicator, I recommend the following strategies:
Maintain or Lower FVG Tracking Count: The "Max FVGs to Track" input defaults to 25. I find this value generally sufficient for effective analysis and balanced performance. You can keep this default or consider reducing it further if you experience performance issues or prefer a less dense FVG display.
Utilize Proximity Filtering: I suggest activating the "Filter Band Width (ATR Multiple)" option (found under "General Settings") to display only those FVGs closer to the current price. From my experience, a value of 5 for the ATR multiple often provides a good starting point for balanced performance, but you should feel free to adjust this based on market volatility and your specific trading needs.
Hide Fully Mitigated FVGs: I strongly recommend enabling the "Hide Fully Mitigated FVGs" option. This setting automatically removes all visual elements of an FVG from the chart once it has been fully mitigated by price. Doing so significantly reduces the number of active drawing objects, lessens computational load, and helps maintain chart clarity by focusing only on active, relevant FVGs.
Disable FVG Display for Unused Timeframes: If you are not actively monitoring certain higher timeframes (MTF or HTF) for FVG analysis, I advise disabling their display by unchecking "Show MTF FVGs" or "Show HTF FVGs" respectively. This can provide a significant performance boost.
Simplify Visual Elements: For active FVGs, consider hiding less critical visual elements if they are not essential for your specific analysis. This could include box labels, borders, or even entire FVG boxes if, for example, only the mitigation lines are of interest for a particular timeframe.
Settings Changes and Platform Limits : This indicator is comprehensive and involves numerous calculations and drawings. When multiple settings are changed rapidly in quick succession, it is possible, on occasion, for PulseWire to issue a "Runtime error: modify_study_limit_exceeding" or similar. This can cause the indicator to temporarily stop updating or display errors.
Recommended Approach : When adjusting settings, it is advisable to wait a brief moment (a few seconds) after each significant change. This allows the indicator to reprocess and update on the chart before another change is made
Error Recovery : Should such a runtime error occur, making a minor, different adjustment in the settings (e.g., toggling a checkbox off and then on again) and waiting briefly will typically allow the indicator to recover and resume correct operation. This behavior is related to platform limitations when handling complex scripts with many inputs and drawing objects.
Multi-Timeframe (MTF/HTF) Data and Behavior
HTF FVG Confirmation is Essential: : For an FVG from a higher timeframe (MTF or HTF) to be identified and displayed on your current chart (LTF), the three-bar pattern forming the FVG on that higher timeframe must consist of fully closed bars. The indicator does not draw speculative FVGs based on incomplete/forming bars from higher timeframes.
Data Retrieval and LTF Processing: The indicator may use techniques like lookahead = barmerge.lookahead_on for timely data retrieval from higher timeframes. However, the actual detection of an FVG occurs after all its constituent bars on the HTF have closed.
Appearance Timing on LTF (1 LTF Candle Delay): As a natural consequence of this, an FVG that is confirmed on an HTF (i.e., its third bar closes) will typically become visible on your LTF chart one LTF bar after its confirmation on the HTF.
Example: Assume an FVG forms on a 30-minute chart at 15:30 (i.e., with the close of the 30-minute bar that covers the 15:00-15:30 period). If you are monitoring this FVG on a 15-minute chart, the indicator will detect this newly formed 30-minute FVG while processing the data for the 15-minute bar that starts at 15:30 and closes at 15:45. Therefore, the 30-minute FVG will become visible on your 15-minute chart at the earliest by 15:45 (i.e., with the close of that relevant 15-minute LTF candle). This means the HTF FVG is reflected on the LTF chart with a delay equivalent to one LTF candle.
FVG Detection and Display Logic
Fair Value Gaps (FVGs) on the current chart timeframe (LTF) are detected based on barstate.isconfirmed. This means the three-bar pattern must be complete with closed bars before an FVG is identified. This confirmation method prevents FVGs from being prematurely identified on the forming bar.
Alerts
Alert Setup : To receive alerts from this indicator, you must first ensure you have enabled the specific alert conditions you are interested in within the indicator's own settings (see 'Comprehensive Alert System' under the 'FEATURES' section). Once configured, open PulseWire's 'Create Alert' dialog. In the 'Condition' tab, select this indicator's name, and crucially, choose the 'Any alert() function call' option from the dropdown list. This setup allows the indicator to trigger alerts based on the precise event conditions you have activated in its settings
Alert Frequency : Alerts are designed to trigger once per bar close (alert.freq_once_per_bar_close) for the specific event.
User Interface (UI) Tips
Settings Group Icons: In the indicator settings menu, timeframe-specific groups are marked with star icons for easier navigation: 🌟 for LTF (Current Chart Timeframe), 🌟🌟 for MTF (Medium Timeframe), and 🌟🌟🌟 for HTF (High Timeframe).
Dependent Inputs: Some input settings are dependent on others being enabled. These dependencies are visually indicated in the settings menu using symbols like "↳" (dependent setting on the next line), "⟷" (mutually exclusive inline options), or "➜" (directly dependent inline option).
Settings Layout Overview: The indicator settings are organized into logical groups for ease of use. Key global display controls – such as toggles for MTF FVGs, HTF FVGs (along with their respective timeframe selectors), and the Information Panel – are conveniently located at the very top within the '⚙️ General Settings' group. This placement allows for quick access to frequently adjusted settings. Other sections provide detailed customization options for each timeframe (LTF, MTF, HTF), specific FVG components, and alert configurations.
█ FOR Pine Script® CODERS
This section provides a high-level overview of the FVG Premium indicator's internal architecture, data flow, and the interaction between its various library components. It is intended for Pine Script™ programmers who wish to understand the indicator's design, potentially extend its functionality, or learn from its structure.
System Architecture and Modular Design
The indicator is architected moduarly, leveraging several custom libraries to separate concerns and enhance code organization and reusability. Each library has a distinct responsibility:
FvgTypes: Serves as the foundational data definition layer. It defines core User-Defined Types (UDTs) like fvgObject (for storing all attributes of an FVG) and drawSettings (for visual configurations), along with enumerations like tfType.
CommonUtils: Provides utility functions for common tasks like mapping user string inputs (e.g., "Dashed" for line style) to their corresponding Pine Script™ constants (e.g., line.style_dashed) and formatting timeframe strings for display.
FvgCalculations: Contains the core logic for FVG detection (both LTF and MTF/HTF via requestMultiTFBarData), FVG classification (Large FVGs based on ATR), and checking FVG interactions with price (mitigation, partial fill).
FvgObject: Implements an object-oriented approach by attaching methods to the fvgObject UDT. These methods manage the entire visual lifecycle of an FVG on the chart, including drawing, updating based on state changes (e.g., mitigation), and deleting drawing objects. It's responsible for applying the visual configurations defined in drawSettings.
FvgPanel: Manages the creation and dynamic updates of the on-chart information panel, which displays key FVG levels.
The main indicator script acts as the orchestrator, initializing these libraries, managing user inputs, processing data flow between libraries, and handling the main event loop (bar updates) for FVG state management and alerts.
Core Data Flow and FVG Lifecycle Management
The general data flow and FVG lifecycle can be summarized as follows:
Input Processing: User inputs from the "Settings" dialog are read by the main indicator script. Visual style inputs (colors, line styles, etc.) are consolidated into a types.drawSettings object (defined in FvgTypes). Other inputs (timeframes, filter settings, alert toggles) control the behavior of different modules. CommonUtils assists in mapping some string inputs to Pine constants.
FVG Detection:
For the current chart timeframe (LTF), FvgCalculations.detectFvg() identifies potential FVGs based on bar patterns.
For MTF/HTF, the main indicator script calls FvgCalculations.requestMultiTFBarData() to fetch necessary bar data from higher timeframes, then FvgCalculations.detectMultiTFFvg() identifies FVGs.
Newly detected FVGs are instantiated as types.fvgObject and stored in arrays within the main script. These objects also undergo classification (e.g., Large FVG) by FvgCalculations.
State Update & Interaction: On each bar, the main indicator script iterates through active FVG objects to manage their state based on price interaction:
Initially, the main script calls FvgCalculations.fvgInteractionCheck() to efficiently determine if the current bar's price might be interacting with a given FVG.
If a potential interaction is flagged, the main script then invokes methods directly on the fvgObject instance (e.g., updateMitigation(), updatePartialFill(), checkMidlineTouch(), which are part of FvgObject).
These fvgObject methods are responsible for the detailed condition checking and the actual modification of the FVG's state. For instance, the updateMitigation() and updatePartialFill() methods internally utilize specific helper functions from FvgCalculations (like checkMitigation() and checkPartialMitigation()) to confirm the precise nature of the interaction before updating the fvgObject’s state fields (such as isMitigated, currentTop, currentBottom, or isMidlineTouched).
Visual Rendering:
The FvgObject.updateDrawings() method is called for each fvgObject. This method is central to drawing management; it creates, updates, or deletes chart drawings (boxes, lines, labels) based on the FVG's current state, its prev_* (previous bar state) fields for optimization, and the visual settings passed via the drawSettings object.
Information Panel Update: The main indicator script determines the nearest FVG levels, populates a panelData object (defined in FvgPanelLib), and calls FvgPanel.updatePanel() to refresh the on-chart display.
Alert Generation: Based on the updated FVG states and user-enabled alert settings, the main indicator script constructs and triggers alerts using Pine Script's alert() function."
Key Design Considerations
UDT-Centric Design: The fvgObject UDT is pivotal, acting as a stateful container for all information related to a single FVG. Most operations revolve around creating, updating, or querying these objects.
State Management: To optimize drawing updates and manage FVG lifecycles, fvgObject instances store their previous bar's state (e.g., prevIsVisible, prevCurrentTop). The FvgObject.updateDrawings() method uses this to determine if a redraw is necessary, minimizing redundant drawing calls.
Settings Object: A drawSettings object is populated once (or when inputs change) and passed to drawing functions. This avoids repeatedly reading numerous input() values on every bar or within loops, improving performance.
Dynamic Arrays for FVG Storage: Arrays are used to store collections of fvgObject instances, allowing for dynamic management (adding new FVGs, iterating for updates).
Indicator

CISD [TakingProphets]🧠 Indicator Purpose:
The "CISD - Change in State of Delivery" is a precision tool designed for traders utilizing ICT (Inner Circle Trader) conecpets. It detects critical shifts in delivery conditions after liquidity sweeps — helping you spot true smart money activity and optimal trade opportunities. This script is especially valuable for traders applying liquidity concepts, displacement recognition, and market structure shifts at both intraday and swing levels.
🌟 What Makes This Indicator Unique:
Unlike basic trend-following or scalping tools, CISD operates through a two-phase smart money logic:
Liquidity Sweep Detection (sweeping Buyside or Sellside Liquidity).
State of Delivery Change Identification (through bearish or bullish displacement after the sweep).
It intelligently tracks candle sequences and only signals a CISD event after true displacement — offering a much deeper context than ordinary indicators.
⚙️ How the Indicator Works:
Swing Point Detection: Identifies recent pivot highs/lows to map Buyside Liquidity (BSL) and Sellside Liquidity (SSL) zones.
Liquidity Sweeps: Watches for price breaches of these liquidity points to detect institutional stop hunts.
Sequence Recognition: Finds series of same-direction candles before sweeps to mark institutional accumulation/distribution.
Change of Delivery Confirmation: Confirms CISD only after significant displacement moves price against the initial candle sequence.
Visual Markings: Automatically plots CISD lines and optional labels, customizable in color, style, and size.
🎯 How to Use It:
Identify Liquidity Sweeps: Watch for CISD levels plotted after a liquidity sweep event.
Plan Entries: Look for retracements into CISD lines for high-probability entries.
Manage Risk: Use CISD levels to refine your stop-loss and profit-taking zones.
Best Application:
After stop hunts during Killzones (London Open, New York AM).
As part of the Flow State Model: identify higher timeframe PD Arrays ➔ wait for lower timeframe CISD confirmation.
🔎 Underlying Concepts:
Liquidity Pools: Highs and lows cluster stop orders, attracting institutional sweeps.
Displacement: Powerful price moves post-sweep confirm smart money involvement.
Market Structure: CISD frequently precedes major Change of Character (CHoCH) or Break of Structure (BOS) shifts.
🎨 Customization Options:
Adjustable line color, width, and style (solid, dashed, dotted).
Optional label display with customizable color and sizing.
Line extension settings to keep CISD zones visible for future reference.
✅ Recommended for:
Traders studying ICT Smart Money Concepts.
Intraday scalpers and higher timeframe swing traders.
Traders who want to improve entries around liquidity sweeps and institutional displacement moves.
🚀 Bonus Tip:
For maximum confluence, pair this with the HTF POI, ICT Liquidity Levels, and HTF Market Structure indicators available at TakingProphets.com! 🔥 Indicator

Quarterly Theory ICT 01 [TradingFinder] XAMD + Q1-Q4 Sessions🔵 Introduction
The Quarterly Theory ICT indicator is an advanced analytical system based on the concepts of ICT (Inner Circle Trader) and fractal time. It divides time into quarterly periods and accurately determines entry and exit points for trades by using the True Open as the starting point of each cycle. This system is applicable across various time frames including annual, monthly, weekly, daily, and even 90-minute sessions.
Time is divided into four quarters: in the first quarter (Q1), which is dedicated to the Accumulation phase, the market is in a consolidation state, laying the groundwork for a new trend; in the second quarter (Q2), allocated to the Manipulation phase (also known as Judas Swing), sudden price changes and false moves occur, marking the true starting point of a trend change; the third quarter (Q3) is dedicated to the Distribution phase, during which prices are broadly distributed and price volatility peaks; and the fourth quarter (Q4), corresponding to the Continuation/Reversal phase, either continues or reverses the previous trend.
By leveraging smart algorithms and technical analysis, this system identifies optimal price patterns and trading positions through the precise detection of stop-run and liquidity zones.
With the division of time into Q1 through Q4 and by incorporating key terms such as Quarterly Theory ICT, True Open, Accumulation, Manipulation (Judas Swing), Distribution, Continuation/Reversal, ICT, fractal time, smart algorithms, technical analysis, price patterns, trading positions, stop-run, and liquidity, this system enables traders to identify market trends and make informed trading decisions using real data and precise analysis.
♦ Important Note :
This indicator and the "Quarterly Theory ICT" concept have been developed based on material published in primary sources, notably the articles on Daye( traderdaye ) and Joshuuu . All copyright rights are reserved.
🔵 How to Use
The Quarterly Theory ICT strategy is built on dividing time into four distinct periods across various time frames such as annual, monthly, weekly, daily, and even 90-minute sessions. In this approach, time is segmented into four quarters, during which the phases of Accumulation, Manipulation (Judas Swing), Distribution, and Continuation/Reversal appear in a systematic and recurring manner.
The first segment (Q1) functions as the Accumulation phase, where the market consolidates and lays the foundation for future movement; the second segment (Q2) represents the Manipulation phase, during which prices experience sudden initial changes, and with the aid of the True Open concept, the real starting point of the market’s movement is determined; in the third segment (Q3), the Distribution phase takes place, where prices are widely dispersed and price volatility reaches its peak; and finally, the fourth segment (Q4) is recognized as the Continuation/Reversal phase, in which the previous trend either continues or reverses.
This strategy, by harnessing the concepts of fractal time and smart algorithms, enables precise analysis of price patterns across multiple time frames and, through the identification of key points such as stop-run and liquidity zones, assists traders in optimizing their trading positions. Utilizing real market data and dividing time into Q1 through Q4 allows for a comprehensive and multi-level technical analysis in which optimal entry and exit points are identified by comparing prices to the True Open.
Thus, by focusing on keywords like Quarterly Theory ICT, True Open, Accumulation, Manipulation, Distribution, Continuation/Reversal, ICT, fractal time, smart algorithms, technical analysis, price patterns, trading positions, stop-run, and liquidity, the Quarterly Theory ICT strategy acts as a coherent framework for predicting market trends and developing trading strategies.
🔵b]Settings
Cycle Display Mode: Determines whether the cycle is displayed on the chart or on the indicator panel.
Show Cycle: Enables or disables the display of the ranges corresponding to each quarter within the micro cycles (e.g., Q1/1, Q1/2, Q1/3, Q1/4, etc.).
Show Cycle Label: Toggles the display of textual labels for identifying the micro cycle phases (for example, Q1/1 or Q2/2).
Table Display Mode: Enables or disables the ability to display cycle information in a tabular format.
Show Table: Determines whether the table—which summarizes the phases (Q1 to Q4)—is displayed.
Show More Info: Adds additional details to the table, such as the name of the phase (Accumulation, Manipulation, Distribution, or Continuation/Reversal) or further specifics about each cycle.
🔵 Conclusion
Quarterly Theory ICT provides a fractal and recurring approach to analyzing price behavior by dividing time into four quarters (Q1, Q2, Q3, and Q4) and defining the True Open at the beginning of the second phase.
The Accumulation, Manipulation (Judas Swing), Distribution, and Continuation/Reversal phases repeat in each cycle, allowing traders to identify price patterns with greater precision across annual, monthly, weekly, daily, and even micro-level time frames.
Focusing on the True Open as the primary reference point enables faster recognition of potential trend changes and facilitates optimal management of trading positions. In summary, this strategy, based on ICT principles and fractal time concepts, offers a powerful framework for predicting future market movements, identifying optimal entry and exit points, and managing risk in various trading conditions.
Indicator

[TehThomas] - ICT Volume ImbalanceThis script is a Volume Imbalance (VI) detector and visualizer for use on the PulseWire platform. The goal of the script is to automatically identify areas where there are significant imbalances in the volume of trades between consecutive candlesticks and visually highlight these areas. These imbalances can provide traders with valuable insights about the market’s current condition, often signaling potential reversal or continuation points based on price and volume action.
ICT (Inner Circle Trader) Concept of Volume Imbalances
Volume imbalances are a critical concept in the ICT trading methodology. They refer to situations where there is an unusual or significant difference in volume between two consecutive candlesticks, which might indicate institutional or large player activity. According to ICT principles, these imbalances can show us areas of market inefficiency or potential price manipulation. By identifying these imbalances, traders can gain an edge in understanding where the market is likely to move next.
Bullish and Bearish Volume Imbalances:
Bullish Volume Imbalance: This occurs when there is a strong increase in buying pressure, typically indicated by a higher volume on a candle that closes significantly above the previous one, often leaving a gap or larger price movement. The market could be preparing to push higher, and the volume shows a clear shift in buying demand.
Bearish Volume Imbalance:
Conversely, a bearish imbalance occurs when there is a strong increase in selling pressure, typically signaled by a candle that closes significantly lower than the previous one, again with higher volume. This could indicate that large players are offloading positions, and the price is likely to drop further.
Key Features and Functions of the Script
The script automates the process of detecting these volume imbalances and visually marking them on a price chart. Let’s explore its functionality in detail.
1. Inputs Section
The script allows for significant customization through its input options, which help traders adjust the detection and visualization of volume imbalances based on their individual preferences and trading style. Below are the details:
lookback (250 bars): This input specifies the number of bars (or candles) the script should look back when analyzing the volume imbalance. By setting this to 250, the user is looking at the last 250 bars on the chart to detect any significant volume imbalances. This period is adjustable between 50 to 500 bars.
volumeThreshold (1.0 multiplier): This input helps set the sensitivity for identifying volume imbalances. The script compares the volume of the current candle with the previous one, and if the current volume exceeds the previous volume by this threshold multiplier (in this case, 1.0 means at least equal to the previous volume), then it triggers an imbalance. Users can adjust the multiplier to suit different market conditions.
showBoxes (true/false): This toggle determines whether the boxes representing volume imbalances are drawn on the chart. When enabled, the script visually highlights the imbalances with colored boxes.
fillBaseColor (orange with 80% opacity): This is the color setting for the background of the imbalance boxes. A softer color (like orange with opacity) ensures the imbalance is highlighted without obscuring the price action.
borderColor (gray): The color of the border around the imbalance boxes. This adds a visual distinction to make the imbalance areas more visible.
borderWidth (1 pixel): This controls the width of the box's border to adjust how prominent it appears.
rightOffset (30 bars): This input controls how far the imbalance box extends to the right on the chart. It helps users anticipate the potential continuation of the imbalance beyond the current candle.
allowWickOverlap (true/false): This setting allows imbalances to be identified even if the wicks of the two consecutive candlesticks overlap. If set to false, only imbalances where the bodies of the candlesticks don’t overlap are considered.
showBrokenBoxes (true/false): If enabled, once a volume imbalance no longer holds true (i.e., the price breaks through the box), the box is marked as "broken." If disabled, the box is deleted when the imbalance condition no longer applies.
brokenBoxColor (red): This controls the color of the box when it is broken, which can be used as a visual cue that the imbalance was invalidated or no longer valid for analysis.
2. Volume Imbalance Function
This is the core function of the script, where the logic to detect bullish and bearish volume imbalances is implemented.
Bullish Imbalance Condition:
The first condition checks if the low of the current candle is greater than the high of the previous candle. This suggests that the market is moving upward with buying pressure.
The second condition checks whether the volume of the current candle is higher than the previous candle by the volumeThreshold multiplier. If both conditions are satisfied, a bullish imbalance is detected.
Bearish Imbalance Condition:
The first condition checks if the high of the current candle is lower than the low of the previous candle. This suggests downward price action with selling pressure.
The second condition checks whether the current volume exceeds the previous volume by the threshold
Allow Wick Overlap: If allowWickOverlap is set to true, the script will still detect imbalances if the wicks of the two candles overlap (common in volatile markets). If false, imbalances are only considered if the wicks do not overlap.
3. Box Creation and Management
When a volume imbalance is detected, the script creates a box on the chart:
The bullish imbalance box is drawn using the minimum of the open and close of the current bar as the top boundary and the maximum of the open and close of the previous bar as the bottom boundary.
Conversely, the bearish imbalance box is drawn in reverse, using the maximum of the current bar’s open and close as the top boundary and the minimum of the previous bar’s open and close as the bottom boundary.
Once the box is created, it is displayed on the chart with the specified background color, border color, and width.
4. Processing Existing Boxes
After detecting a new imbalance and drawing a box, the script checks whether the box should still remain on the chart:
If the price moves beyond the boundaries of the imbalance box, the box is marked as broken (if showBrokenBoxes is enabled), and its color is changed to red, signifying that the imbalance is no longer valid.
If the box remains intact (i.e., the price has not broken the defined boundaries), the script keeps the box extended to the right as the market continues to evolve.
5. Removing Outdated Boxes
Lastly, the script removes boxes that are older than the specified lookback period. For example, if a box was created 250 bars ago, it will be deleted after that period. This ensures the chart stays clean and only focuses on relevant imbalances.
Why This Script is Useful for Traders
This script is extremely valuable for traders, especially those following the ICT methodology, because it automates the process of detecting market inefficiencies or imbalances that might signal future price action. Here’s why it’s particularly useful:
Identifying Key Areas of Interest: Volume imbalances often point to areas where institutional or large-scale traders have entered the market. These areas could provide clues about the next significant move in the market.
Visualizing Market Structure: By automatically drawing boxes around volume imbalances, the script helps traders visually identify potential areas of support, resistance, or turning points, enabling them to make informed trading decisions.
Time Efficiency: Instead of manually analyzing each candlestick and volume spike, this script does the heavy lifting, saving traders valuable time and allowing them to focus on other aspects of their strategy.
Enhanced Trade Entries and Exits: By understanding where volume imbalances are occurring, traders can time their entries (buying during bullish imbalances and selling during bearish ones) and exits (as imbalances break) more effectively, thus improving their chances of success.
Conclusion
In summary, this script is a powerful tool for traders looking to implement volume imbalance strategies based on the ICT methodology. It automates the identification and visualization of significant imbalances in price and volume, offering traders a clear visual representation of potential market turning points. By customizing the settings, traders can tailor the script to their preferred timeframes and sensitivity, making it a flexible and effective tool for any trading strategy.
__________________________________________
Thanks for your support!
If you found this idea helpful or learned something new, drop a like 👍 and leave a comment, I’d love to hear your thoughts! 🚀
Make sure to follow me for more price action insights, free indicators, and trading guides. Let’s grow and trade smarter together! 📈
Indicator

[TehThomas] - ICT Liquidity sweepsThe ICT Liquidity Sweeps Indicator is designed to track liquidity zones in the market areas where stop-losses and pending orders are typically clustered. This indicator marks buyside liquidity (resistance) and sellside liquidity (support), helping traders identify areas where price is likely to manipulate liquidity before making a significant move.
This tool is based on Inner Circle Trader (ICT) Smart Money Concepts, which emphasize how institutional traders, or “Smart Money,” manipulate liquidity to fuel price movements. By identifying these zones, traders can anticipate liquidity sweeps and position themselves accordingly.
⚙️ How It Works
1️⃣ Detects Key Liquidity Zones
The script automatically identifies significant swing highs and swing lows in price action using a pivot-based method.
A swing high (buyside liquidity) is a peak where price struggles to break higher, forming a resistance level.
A swing low (sellside liquidity) is a valley where price struggles to go lower, creating a support level.
These liquidity points are prime targets for liquidity sweeps before a true trend direction is confirmed.
2️⃣ Draws Liquidity Lines
Once a swing high or low is identified, a horizontal line is drawn at that level.
The lines extend to the right, serving as future liquidity targets until they are broken.
The indicator allows customization in terms of color, line width, and maximum number of liquidity lines displayed at once.
3️⃣ Handles Liquidity Sweeps
When price breaks a liquidity level, the indicator reacts based on the chosen action setting:
Dotted/Dashed: The line remains visible but changes style to indicate a sweep.
Delete: The line is completely removed once price has interacted with it.
This feature ensures that traders can easily spot where liquidity has been taken and determine whether a reversal or continuation is likely.
4️⃣ Prevents Chart Clutter
To maintain a clean chart, the script limits the number of liquidity lines displayed at any given time.
When new liquidity zones are formed, the oldest lines are automatically removed, keeping the focus on the most relevant liquidity zones.
🎯 How to Use the ICT Liquidity Sweeps Indicator
🔍 Identifying Liquidity Grabs
This indicator helps you identify areas where Smart Money is targeting liquidity before making a move.
Buyside Liquidity (BSL) Sweeps:
Occur when price spikes above a resistance level before reversing downward.
Indicate that Smart Money has hunted stop-losses and buy stops before driving price lower.
Sellside Liquidity (SSL) Sweeps:
Occur when price drops below a support level before reversing upward.
Indicate that Smart Money has collected liquidity from stop-losses and sell stops before pushing price higher.
📈 Combining with Market Structure Shifts (MSS)
One of the best ways to use this indicator is in conjunction with our Market Structure Shifts Indicator.
Liquidity sweeps + MSS Confirmation give strong high-probability trade setups:
Wait for a liquidity sweep (price takes out a liquidity level).
Look for an MSS in the opposite direction (e.g., price sweeps a high, then breaks a recent low).
Enter the trade in the new direction with stop-loss above/below the liquidity sweep.
📊 Entry & Exit Strategies
Long Trade Example:
Price sweeps a key sellside liquidity level (SSL) → creates a false breakdown.
MSS confirms a reversal (price breaks structure upwards).
Enter long position after confirmation.
Stop-loss below the liquidity grab to minimize risk.
Short Trade Example:
Price sweeps a key buyside liquidity level (BSL) → takes liquidity above resistance.
MSS confirms a bearish move (price breaks a key support level).
Enter short position after confirmation.
Stop-loss above the liquidity grab.
🚀 Why This Indicator is a Game-Changer
✅ Helps Identify Smart Money Manipulation – Understand where institutions are likely to grab liquidity before the real move happens.
✅ Enhances Market Structure Analysis – When paired with MSS, liquidity sweeps become powerful signals for trend reversals.
✅ Filters Out False Breakouts – Many traders get caught in liquidity grabs. This indicator helps avoid bad entries.
✅ Keeps Your Chart Clean – The auto-limiting feature ensures that only the most relevant liquidity levels remain visible.
✅ Works on Any Timeframe – Whether you’re a scalper, day trader, or swing trader, liquidity concepts apply universally.
📌 Final Thoughts
The ICT Liquidity Sweeps Indicator is a must-have tool for traders who follow Smart Money Concepts. By tracking liquidity levels and highlighting sweeps, it allows traders to enter trades with precision while avoiding false breakouts.
When combined with Market Structure Shifts (MSS), this strategy becomes even more powerful, offering traders an edge in spotting reversals and timing entries effectively.
__________________________________________
Thanks for your support!
If you found this idea helpful or learned something new, drop a like 👍 and leave a comment—I’d love to hear your thoughts! 🚀
Make sure to follow me for more price action insights, free indicators, and trading strategies. Let’s grow and trade smarter together! 📈✨
Indicator

Macros ICT KillZones [TradingFinder] Times & Price Trading Setup🔵 Introduction
ICT Macros, developed by Michael Huddleston, also known as ICT (Inner Circle Trader), is a powerful trading tool designed to help traders identify the best trading opportunities during key time intervals like the London and New York trading sessions.
For traders aiming to capitalize on market volatility, liquidity shifts, and Fair Value Gaps (FVG), understanding and using these critical time zones can significantly improve trading outcomes.
In today’s highly competitive financial markets, identifying the moments when the market is seeking buy-side or sell-side liquidity, or filling price imbalances, is essential for maximizing profitability.
The ICT Macros indicator is built on the renowned ICT time and price theory, which enables traders to track and leverage key market dynamics such as breaks of highs and lows, imbalances, and liquidity hunts.
This indicator automatically detects crucial market times and optimizes strategies for traders by highlighting the specific moments when price movements are most likely to occur. A standout feature of ICT Macros is its automatic adjustment for Daylight Saving Time (DST), ensuring that traders remain synced with the correct session times.
This means you can rely on accurate market timing without the need for manual updates, allowing you to focus on capturing profitable trades during critical timeframes.
🔵 How to Use
The ICT Macros indicator helps you capitalize on trading opportunities during key market moments, particularly when the market is breaking highs or lows, filling Fair Value Gaps (FVG), or addressing imbalances. This indicator is particularly beneficial for traders who seek to identify liquidity, market volatility, and price imbalances.
🟣 Sessions
London Sessions
London Macro 1 :
UTC Time : 06:33 to 07:00
New York Time : 02:33 to 03:00
London Macro 2 :
UTC Time : 08:03 to 08:30
New York Time : 04:03 to 04:30
New York Sessions
New York Macro AM 1 :
UTC Time : 12:50 to 13:10
New York Time : 08:50 to 09:10
New York Macro AM 2 :
UTC Time : 13:50 to 14:10
New York Time : 09:50 to 10:10
New York Macro AM 3 :
UTC Time : 14:50 to 15:10
New York Time : 10:50 to 11:10
New York Lunch Macro :
UTC Time : 15:50 to 16:10
New York Time : 11:50 to 12:10
New York PM Macro :
UTC Time : 17:10 to 17:40
New York Time : 13:10 to 13:40
New York Last Hour Macro :
UTC Time : 19:15 to 19:45
New York Time : 15:15 to 15:45
These time intervals adjust automatically based on Daylight Saving Time (DST), helping traders to enter or exit trades during key market moments when price volatility is high.
Below are the main applications of this tool and how to incorporate it into your trading strategies :
🟣 Combining ICT Macros with Trading Strategies
The ICT Macros indicator can easily be used in conjunction with various trading strategies. Two well-known strategies that can be combined with this indicator include:
ICT 2022 Trading Model : This model is designed based on identifying market liquidity, structural price changes, and Fair Value Gaps (FVG). By using ICT Macros, you can identify the key time intervals when the market is seeking liquidity, filling imbalances, or breaking through important highs and lows, allowing you to enter or exit trades at the right moment.
Silver Bullet Strategy : This strategy, which is built around liquidity hunting and rapid price movements, can work more accurately with the help of ICT Macros. The indicator pinpoints precise liquidity times, helping traders take advantage of market shifts caused by filling Fair Value Gaps or correcting imbalances.
🟣 Capitalizing on Price Volatility During Key Times
Large market algorithms often seek liquidity or fill Fair Value Gaps (FVG) during the intervals marked by ICT Macros. These periods are when price volatility increases, and traders can use these moments to enter or exit trades.
For example, if sell-side liquidity is drained and the market fills an imbalance, the price might move toward buy-side liquidity. By identifying these moments, which may also involve breaking a previous high or low, you can leverage rapid market fluctuations to your advantage.
🟣 Identifying Liquidity and Price Imbalances
One of the important uses of ICT Macros is identifying points where the market is seeking liquidity and correcting imbalances. You can determine high or low liquidity levels in the market before each ICT Macro, as well as Fair Value Gaps (FVG) and price imbalances that need to be filled, using them to adjust your trading strategy. This capability allows you to manage trades based on liquidity shifts or imbalance corrections without needing a bias toward a specific direction.
🔵 Settings
The ICT Macros indicator offers various customization options, allowing users to tailor it to their specific needs. Below are the main settings:
Time Zone Mode : You can select one of the following options to define how time is displayed:
UTC : For traders who need to work with Universal Time.
Session Local Time : The local time corresponding to the London or New York markets.
Your Time Zone : You can specify your own time zone (e.g., "UTC-4:00").
Your Time Zone : If you choose "Your Time Zone," you can set your specific time zone. By default, this is set to UTC-4:00.
Show Range Time : This option allows you to display the time range of each session on the chart. If enabled, the exact start and end times of each interval are shown.
Show or Hide Time Ranges : Toggle on/off for visual clarity depending on user preference.
Custom Colors : Set distinct colors for each session, allowing users to personalize their chart based on their trading style.These settings allow you to adjust the key time intervals of each trading session to your preference and customize the time format according to your own needs.
🔵 Conclusion
The ICT Macros indicator is a powerful tool for traders, helping them to identify key time intervals where the market seeks liquidity or fills Fair Value Gaps (FVG), corrects imbalances, and breaks highs or lows. This tool is especially valuable for traders using liquidity-based strategies such as ICT 2022 or Silver Bullet.
One of the key features of this indicator is its support for Daylight Saving Time (DST), ensuring you are always in sync with the correct trading session timings without manual adjustments. This is particularly beneficial for traders operating across different time zones.
With ICT Macros, you can capitalize on crucial market opportunities during sensitive times, take advantage of imbalances, and enhance your trading strategies based on market volatility, liquidity shifts, and Fair Value Gaps.
Indicator

Judas Swing ICT 01 [TradingFinder] New York Midnight Opening M15🔵 Introduction
The Judas Swing (ICT Judas Swing) is a trading strategy developed by Michael Huddleston, also known as Inner Circle Trader (ICT). This strategy allows traders to identify fake market moves designed by smart money to deceive retail traders.
By concentrating on market structure, price action patterns, and liquidity flows, traders can align their trades with institutional movements and avoid common pitfalls. It is particularly useful in FOREX and stock markets, helping traders identify optimal entry and exit points while minimizing risks from false breakouts.
In today's volatile markets, understanding how smart money manipulates price action across sessions such as Asia, London, and New York is essential for success. The ICT Judas Swing strategy helps traders avoid common pitfalls by focusing on key movements during the opening time and range of each session, identifying breakouts and false breakouts.
By utilizing various time frames and improving risk management, this strategy enables traders to make more informed decisions and take advantage of significant market movements.
In the Judas Swing strategy, for a bullish setup, the price first touches the high of the 15-minute range of New York midnight and then the low. After that, the price returns upward, breaks the high, and if there’s a candlestick confirmation during the pullback, a buy signal is generated.
bearish setup, the price first touches the low of the range, then the high. With the price returning downward and breaking the low, if there’s a candlestick confirmation during the pullback to the low, a sell signal is generated.
🔵 How to Use
To effectively implement the Judas Swing strategy (ICT Judas Swing) in trading, traders must first identify the price range of the 15-minute window following New York midnight. This range, consisting of highs and lows, sets the stage for the upcoming movements in the London and New York sessions.
🟣 Bullish Setup
For a bullish setup, the price first moves to touch the high of the range, then the low, before returning upward to break the high. Following this, a pullback occurs, and if a valid candlestick confirmation (such as a reversal pattern) is observed, a buy signal is generated. This confirmation could indicate the presence of smart money supporting the bullish movement.
🟣 Bearish Setup
For a bearish setup, the process is the reverse. The price first touches the low of the range, then the high. Afterward, the price moves downward again and breaks the low. A pullback follows to the broken low, and if a bearish candlestick confirmation is seen, a sell signal is generated. This confirmation signals the continuation of the downward price movement.
Using the Judas Swing strategy enables traders to avoid fake breakouts and focus on strong market confirmations. The strategy is versatile, applying to FOREX, stocks, and other financial instruments, offering optimal trading opportunities through market structure analysis and time frame synchronization.
To execute this strategy successfully, traders must combine it with effective risk management techniques such as setting appropriate stop losses and employing optimal risk-to-reward ratios. While the Judas Swing is a powerful tool for predicting price movements, traders should remember that no strategy is entirely risk-free. Proper capital management remains a critical element of long-term success.
By mastering the ICT Judas Swing strategy, traders can better identify entry and exit points and avoid common traps from fake market movements, ultimately improving their trading performance.
🔵 Setting
Opening Range : High and Low identification time range.
Extend : The time span of the dashed line.
Permit : Signal emission time range.
🔵 Conclusion
The Judas Swing strategy (ICT Judas Swing) is a powerful tool in technical analysis that helps traders identify fake moves and align their trades with institutional actions, reducing risk and enhancing their ability to capitalize on market opportunities.
By leveraging key levels such as range highs and lows, fake breakouts, and candlestick confirmations, traders can enter trades with more precision. This strategy is applicable in forex, stocks, and other financial markets and, with proper risk management, can lead to consistent trading success.
Indicator

Breaker Blocks + Order Blocks confirm [TradingFinder] BBOB Alert🔵 Introduction
In the realm of technical analysis, various tools and concepts are employed to identify key levels on price charts. These tools assist traders in analyzing market trends with greater precision, enabling them to optimize their trading decisions. Among these tools, the Order Block and Breaker Block hold a significant place, serving as effective instruments for analyzing market structure.
🟣 Order Block
An Order Block refers to zones on a chart where large financial institutions and high-volume traders place their orders. Due to the substantial volume of buy or sell orders in these areas, they are often regarded as pivotal points for potential price reversals or temporary pauses in a trend. Order Blocks are particularly crucial when prices react to these zones after a strong market move, acting as strong support or resistance levels.
🟣 Breaker Block
On the other hand, a Breaker Block refers to areas on a chart that previously functioned as Order Blocks but where the price has managed to break through and continue in the opposite direction. These zones are typically recognized as key points where market trends might shift, helping traders identify potential reversal points in the market.
🟣 Overlapping Block (BBOB)
Now, imagine a scenario where these two essential concepts in technical analysis—Order Blocks and Breaker Blocks—overlap on a chart. Although this overlap is not specifically discussed within the ICT (Inner Circle Trader) trading framework, exploring and utilizing this overlap can provide traders with powerful insights into strong support and resistance zones. The combination of these two robust concepts can highlight critical areas in trading, potentially offering significant advantages in making informed trading decisions.
In this article, we will delve into the concept of this overlap, explaining how to utilize it in trading strategies. Additionally, we will analyze the potential outcomes and benefits of incorporating this concept into your trading decisions.
Bullish Overlapping Block (BBOB) :
Bearish Overlapping Block (BBOB) :
🔵 How to Use
The overlap between Order Blocks and Breaker Blocks is a compelling and powerful concept that can help traders identify key levels on the chart with a high probability of success. This overlap is particularly valuable because it combines two well-regarded concepts in technical analysis—zones of high order volume and critical market shifts.
🟣 Here’s how to effectively use this overlap in your trading
1. Dentifying the Overlapping Block : To make the most of the overlap between Order Blocks and Breaker Blocks, begin by identifying these zones separately. Order Blocks are areas where price typically reacts and reverses after a strong market move.
Breaker Blocks are areas where a previous Order Block has been breached, and the price continues in the opposite direction. When these two zones overlap on a chart, it’s crucial to pay close attention to this area, as it represents a high-probability reaction zone.
2. Analyzing the Overlapping Block : After identifying the overlap zone, carefully analyze price action within this region. Candlestick patterns and price behavior can provide essential clues.
If the price reaches this overlap zone and strong reversal patterns such as Pin Bars or Engulfing patterns are observed, it’s likely that this zone will act as a pivotal reversal point. In such cases, entering a trade with confidence becomes more feasible.
3. Entering the Trade : When sufficient signs of price reaction are present in the overlap zone, you can proceed to enter the trade. If the overlap zone is within an uptrend and bullish reversal signals are evident, a long position might be appropriate.
Conversely, if the overlap zone is in a downtrend and bearish reversal signals are observed, a short position would be more suitable.
4. Risk Management : One of the most critical aspects of trading in overlap zones is managing risk. To protect your capital, place your stop loss near the lowest point of the Order Block (for buy trades) or the highest point (for sell trades). This approach minimizes potential losses if the overlap zone fails to hold.
5. Price Targets : After entering the trade, set your price targets based on other key levels on the chart. These targets could include other support and resistance zones, Fibonacci levels, or pivot points.
Bullish Overlapping Block :
Bearish Overlapping Block :
🟣 Benefits of the Overlapping Block Between Order Block and Breaker Block
1. Enhanced Precision in Identifying Key Levels : The overlap between these two zones usually acts as a highly reliable area for price reactions, increasing the accuracy of identifying entry and exit points.
2. Reduced Trading Risk : Given the high importance of the overlap zone, the likelihood of making incorrect decisions is reduced, contributing to overall lower trading risk.
3. Increased Probability of Success : The overlap between Order Blocks and Breaker Blocks combines two powerful concepts, enhancing the likelihood of success in trades, as multiple indicators confirm the importance of the area.
4. Creation of Better Trading Opportunities : Overlap zones often provide traders with more robust trading opportunities, as these areas typically represent strong reversal points in the market.
5. Compatibility with Other Technical Tools : This concept seamlessly integrates with other technical analysis tools such as Fibonacci retracements, trend lines, and chart patterns, offering a more comprehensive market analysis.
🔵 Setting
🟣 Global Setting
Pivot Period of Order Blocks Detector : Enter the desired pivot period to identify the Order Block.
Order Block Validity Period (Bar) : You can specify the maximum time the Order Block remains valid based on the number of candles from the origin.
Mitigation Level Order Block : Determining the basic level of a Order Block. When the price hits the basic level, the Order Block due to mitigation.
Mitigation Level Breaker Block : Determining the basic level of a Breaker Block. When the price hits the basic level, the Breaker Block due to mitigation.
Mitigation Level Overlapping Block : Determining the basic level of a Overlapping Block. When the price hits the basic level, the Overlapping Block due to mitigation.
🟣 Overlapping Block Display
Show All Overlapping Block : If it is turned off, only the last Order Block will be displayed.
Demand Overlapping Block : Show or not show and specify color.
Supply Overlapping Block : Show or not show and specify color.
🟣 Order Block Display
Show All Order Block : If it is turned off, only the last Order Block will be displayed.
Demand Main Order Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
Supply Main Order Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
🟣 Breaker Block Display
Show All Breaker Block : If it is turned off, only the last Breaker Block will be displayed.
Demand Main Breaker Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
Supply Main Breaker Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
🟣 Order Block Refinement
Refine Order Blocks : Enable or disable the refinement feature. Mode selection.
🟣 Alert
Alert Name : The name of the alert you receive.
Alert Overlapping Block Mitigation :
On / Off
Message Frequency :
This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone :
The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
🔵 Conclusion
The overlap between Order Blocks and Breaker Blocks represents a critical and powerful area in technical analysis that can serve as an effective tool for determining entry and exit points in trading.
These zones, due to the combination of two key concepts in technical analysis, hold significant importance and can help traders make more confident trading decisions.
Although this concept is not specifically discussed in the ICT framework and is introduced as a new idea, traders can achieve better results in their trades through practice and testing.
Utilizing the overlap between Order Blocks and Breaker Blocks, in conjunction with other technical analysis tools, can significantly improve the chances of success in trading.
Indicator

Indicator

ICT Single Candle Order Block (SCOB) [UAlgo]The "ICT Single Candle Order Block (SCOB) " designed for traders who utilize the concept of Order Blocks in their trading strategy. Order Blocks are significant price levels where institutions or smart money have placed their trades, leading to potential future price reactions when these levels are revisited. This indicator focuses on identifying and highlighting Single Candle Order Blocks (SCOBs), allowing traders to visually analyze key price levels on their charts.
🔶 What is Single Candle Order Block (SCOB) ?
A Single Candle Order Block (SCOB) is a specific type of Order Block that is identified based on a single candlestick pattern. These patterns indicate potential areas where significant buying or selling interest has occurred, often leading to a notable price reaction when revisited. In the context of this indicator, a bullish SCOB is identified when a specific bullish candlestick pattern is met, and a bearish SCOB is identified based on a bearish candlestick pattern.
Bullish SCOB: Detected when the open price of two bars ago is higher than its close, the close price of the previous bar is higher than its open, the current close price is higher than the open, the low of the previous bar is lower than the low of two bars ago, and the current close is higher than the high of the previous bar.
Bearish SCOB: Detected when the open price of two bars ago is lower than its close, the close price of the previous bar is lower than its open, the current close price is lower than the open, the high of the previous bar is higher than the high of two bars ago, and the current close is lower than the low of the previous bar.
🔶 Key Features
Show Single Candle Order Block (SCOB): Toggle the visibility of the Single Candle Order Blocks on the chart.
Mitigation Method: Choose between "Close" and "Wick" methods for determining whether a SCOB has been mitigated (price has interacted with the block).
Show Last X SCOBs: Control the number of most recent SCOBs displayed on the chart, allowing you to focus on the most relevant price levels.
Volatility Filter: Enable or disable the volatility filter, which uses the Average True Range (ATR) to filter out less significant SCOBs. When enabled, only SCOBs with an ATR above the mean value of the ATR are displayed.
Customizable Colors: Configure the colors for bullish and bearish SCOBs to enhance visual clarity. The indicator uses cooler RGB values to ensure the blocks are distinct and easily noticeable.
🔶 Disclaimer
The "ICT Single Candle Order Block (SCOB) " indicator is provided for educational and informational purposes only. Trading involves significant risk and may not be suitable for all investors.
Past performance is not indicative of future results. Users should use this indicator in conjunction with their own research and trading strategy.
Indicator

Indicator

ICT Immediate Rebalance [LuxAlgo]The ICT Immediate Rebalance aims at detecting and highlighting immediate rebalances, a concept taught by Inner Circle Trader. The ICT Immediate Rebalance, although frequently overlooked, emerges as one of ICT's most influential concepts, particularly when considered within a specific context.
🔶 USAGE
Immediate rebalances, a concept taught by ICT, hold significant importance in decision-making. To comprehend the concept of immediate rebalance, it's essential to grasp the notion of the fair value gap. A fair value gap arises from market inefficiencies or imbalances, whereas an immediate rebalance leaves no gap, no inefficiencies, or no imbalances that the price would need to return to.
Following an immediate rebalance, the typical expectation is for two extension candles to ensue; failing this, the immediate rebalance is deemed unsuccessful. It's important to note that both failed and successful immediate rebalances hold significance in trading when analyzed within a contextual framework.
Immediate rebalances can manifest across various locations and timeframes. It's recommended to analyze them in conjunction with other ICT tools or technical indicators to gain a more comprehensive understanding of market dynamics.
🔹 Multi Timeframe
The script facilitates multi-timeframe analysis, enabling users to display immediate rebalances from higher timeframes.
Enabling the display of higher timeframe candles helps visualize the detected immediate rebalance patterns.
🔹 Dashboard
The dashboard offers statistical insights into immediate rebalances.
🔶 SETTINGS
🔹 Immediate Rebalances
Timeframe: this option is to identify immediate rebalances from higher timeframes. If a timeframe lower than the chart's timeframe is selected, calculations will be based on the chart's timeframe.
Bullish, and Bearish Immediate Rebalances: color customization options.
Wicks 75%, %50, and %25: color customization options of the wick price levels for the detected immediate rebalances.
Immediate Rebalance Candles: toggles the visualization of higher timeframe candles where immediate rebalance is detected.
Confirmation (Bars): specifies the number of bars required to confirm the validation of the detected immediate rebalance.
Immediate Rebalance Icon: allows customization of the size of the icon used to represent the immediate rebalance.
🔹 Dashboard
Dashboard: toggles the visualization of the dashboard, sets its location, and customizes the size of the dashboard.
🔶 RELATED SCRIPTS
Fair-Value-Gap
Thanks to our community for recommending this script. For more conceptual scripts and related content, we welcome you to explore by visiting >>> LuxAlgo-Scripts . Indicator
