Fractal Wave MarkerFractal Wave Marker  is an indicator that processes relative extremes of fluctuating prices within 2 periodical aspects. The special labeling system detects and visually marks multi-scale turning points, letting you visualize fractal echoes within unfolding cycles dynamically.
 What This Indicator Does 
 
  Identifies major and minor swing highs/lows based on adjustable period.
  Uses Phi in power exponent to compute a higher-degree swing filter.
  Labels of higher degree appear only after confirmed base swings — no phantom levels, no hindsight bias.  What you see is what the market has validated. 
  Swing points unfold in a structured,  alternating rhythm . No two consecutive pivots share the same hierarchical degree!
 
Inspired by the Fractal Market Hypothesis, this script visualizes the principle that market behavior repeats across time scales, revealing structured narrative of "random walk". This inherent sequencing ensures fractal consistency across timeframes. "Fractal echoes" demonstrate how smaller price swings can proportionally mirror larger ones in both structure and timing, allowing traders to anticipate movements by recursive patterns. Cycle Transitions highlight critical inflection points where minor pivots flip polarity such as a series of lower highs progress into higher highs—signaling the birth of a new macro trend. A dense dense clusters of swing points can indicate Liquidity Zones, acting as footprints of institutional accumulation or distribution where price action validates supply and demand imbalances. 
 Visualization of nested cycles within macro trend anchors - a main feature specifically designed for the chartists who prioritize working with complex wave oscillations their analysis.
Cari dalam skrip untuk "imbalance"
Advanced Liquidity Trap & Squeeze Detector [MazzaropiYoussef]DESCRIPTION:
The "Advanced Liquidity Trap & Squeeze Detector" is designed to identify potential liquidity traps, short and long squeezes, and market manipulation based on open interest, funding rates, and aggressive order flow.
KEY FEATURES:
- **Relative Open Interest Normalization**: Avoids scale discrepancies across different timeframes.
- **Liquidity Trap Detection**: Identifies potential bull and bear traps based on open interest and funding imbalances.
- **Squeeze Identification**: Highlights conditions where aggressive buyers or sellers are trapped before a reversal.
- **Volume Surge Confirmation**: Alerts when abnormal volume activity supports liquidity events.
- **Customizable Parameters**: Adjust thresholds to fine-tune detection sensitivity.
HOW IT WORKS:
- **Long Squeeze**: Triggered when relative open interest is high, funding is negative, and aggressive selling occurs.
- **Short Squeeze**: Triggered when relative open interest is high, funding is positive, and aggressive buying occurs.
- **Bull Trap**: Triggered when relative open interest is high, funding is positive, and price crosses above the trend line but fails.
- **Bear Trap**: Triggered when relative open interest is high, funding is negative, and price crosses below the trend line but fails.
USAGE:
- This indicator is useful for traders looking to anticipate reversals and avoid being caught in market manipulation events.
- Works best in combination with order book analysis and volume profile tools.
- Can be applied to crypto, forex, and other leveraged markets.
**/
Volume Volatility and Delta  Indicator (HN)This Volume Volatility Indicator with Overall Average from Hossein.N helps you visualize the volatility of volume on different timeframes and compares it to the average volume over a given period. It includes several components:
Volume Volatility Indicator (Blue Line): This shows the volatility of volume relative to its moving average over a specified period. Higher values indicate more volatile trading conditions.
Long-Term Volatility Average (Orange Line): This line shows the moving average of the volume volatility indicator over a longer period. It acts as a benchmark for comparing the current volume volatility with historical trends.
Average Volume on Up Days (Green Line): Displays the average volume on days when the price is going up (green).
Average Volume on Down Days (Red Line): Displays the average volume on days when the price is going down (red).
Delta in Percentage (Blue Line): This shows the difference between the average volume of up days and down days, expressed as a percentage of the overall moving average of volume. It can be used to identify bullish or bearish volume imbalances. For example:
Positive values indicate that the volume on up days is stronger than on down days, which could suggest a bullish trend.
Negative values suggest that volume on down days is stronger than on up days, potentially indicating a bearish trend.
Zero Line (Gray Dotted Line): A reference line at 0 that helps you identify when the delta is positive or negative, and visualize the neutral point where volume is balanced between up and down days.
How to Use This Indicator:
Add to Your Chart: Copy the script above and paste it into TradingView's Pine Script editor. Click "Add to Chart" to visualize the indicator.
Interpret the Indicator:
Volume Volatility: A higher value suggests high market volatility. When volume is highly volatile, it may indicate more significant price movements or market uncertainty.
Long-Term Average of Volatility: Use this line as a reference to see whether current volatility is above or below average over a longer period.
Delta in Percentage: This is particularly useful to compare the strength of buying and selling volume. A positive delta percentage suggests strong buying pressure, while a negative delta suggests strong selling pressure. The closer the delta is to zero, the more balanced the volume between up and down days.
Use for Trend Confirmation: The indicator can help confirm trends. If the delta percentage is positive and increasing, and the volume volatility is above average, it could signal strong bullish momentum. Conversely, if the delta is negative and the volume volatility is rising, it may suggest bearish sentiment.
 Risk Disclaimer:
Important: This indicator is a tool designed to help analyze market conditions. It does not guarantee success in trading and should not be used as the sole basis for making trading decisions. Always do your own research, consider other factors (e.g., price action, market news, fundamentals), and manage your risk appropriately. Trading involves significant risk, and you should only trade with money you can afford to lose. Always ensure you understand the risks involved in trading and use risk management strategies. 
By using this tool, you accept full responsibility for any trading decisions and the outcomes thereof. The information presented is for educational and informational purposes only.
Volumatic Variable Index Dynamic Average [BigBeluga]The  Volumatic VIDYA  (Variable Index Dynamic Average) indicator is a trend-following tool that calculates and visualizes both the current trend and the corresponding buy and sell pressure within each trend phase. Using the Variable Index Dynamic Average as the core smoothing technique, this indicator also plots volume levels of lows and highs based on market structure pivot points, providing traders with key insights into price and volume dynamics. 
Additionally, it generates delta volume values to help traders evaluate buy-sell pressure balance during each trend, making it a powerful tool for understanding market sentiment shifts.
 BTC: 
  
 TSLA: 
  
 🔵 IDEA 
The  Volumatic VIDYA  indicator's core idea is to provide a dynamic, adaptive smoothing tool that identifies trends while simultaneously calculating the volume pressure behind them. The VIDYA line, based on the Variable Index Dynamic Average, adjusts according to the strength of the price movements, offering a more adaptive response to the market compared to standard moving averages.
By calculating and displaying the buy and sell volume pressure throughout each trend, the indicator provides traders with key insights into market participation. The horizontal lines drawn from the highs and lows of market structure pivots give additional clarity on support and resistance levels, backed by average volume at these points. This dual analysis of trend and volume allows traders to evaluate the strength and potential of market movements more effectively.
 🔵 KEY FEATURES & USAGE 
 
   VIDYA Calculation: 
The  Variable Index Dynamic Average (VIDYA)  is a special type of moving average that adjusts dynamically to the market’s volatility and momentum. Unlike traditional moving averages that use fixed periods, VIDYA adjusts its smoothing factor based on the relative strength of the price movements, using the Chande Momentum Oscillator (CMO) to capture the magnitude of price changes. When momentum is strong, VIDYA adapts and smooths out price movements quicker, making it more responsive to rapid price changes. This makes VIDYA more adaptable to volatile markets compared to traditional moving averages such as the Simple Moving Average (SMA) or the Exponential Moving Average (EMA), which are less flexible.
 
// VIDYA (Variable Index Dynamic Average) function
vidya_calc(src, vidya_length, vidya_momentum) =>
    float momentum         = ta.change(src)
    float sum_pos_momentum = math.sum((momentum >= 0) ? momentum : 0.0, vidya_momentum)
    float sum_neg_momentum = math.sum((momentum >= 0) ? 0.0 : -momentum, vidya_momentum)
    float abs_cmo          = math.abs(100 * (sum_pos_momentum - sum_neg_momentum) / (sum_pos_momentum + sum_neg_momentum))
    float alpha            = 2 / (vidya_length + 1)
    var float vidya_value  = 0.0
    vidya_value           := alpha * abs_cmo / 100 * src + (1 - alpha * abs_cmo / 100) * nz(vidya_value )
    ta.sma(vidya_value, 15)
 
 When momentum is strong, VIDYA adapts and smooths out price movements quicker, making it more responsive to rapid price changes. This makes VIDYA more adaptable to volatile markets compared to traditional moving averages 
  
 Triangle Trend Shift Signals:   
The indicator marks trend shifts with up and down triangles, signaling a potential change in direction. These signals appear when the price crosses above a VIDYA during an uptrend or crosses below during a downtrend.
  
 Volume Pressure Calculation:   
The  Volumatic VIDYA  tracks the buy and sell pressure during each trend, calculating the cumulative volume for up and down bars. Positive delta volume occurs during uptrends due to higher buy pressure, while negative delta volume reflects higher sell pressure during downtrends. The delta is displayed in real-time on the chart, offering a quick view of volume imbalances.
  
 Market Structure Pivot Lines with Volume Labels:   
The indicator draws horizontal lines based on market structure pivots, which are calculated using the highs and lows of price action. These lines are extended on the chart until price crosses them. The indicator also plots the average volume over a 6-bar range to provide a clearer understanding of volume dynamics at critical points.
  
 
 🔵 CUSTOMIZATION 
 
 VIDYA Length & Momentum:  Control the sensitivity of the VIDYA line by adjusting the length and momentum settings, allowing traders to customize the smoothing effect to match their trading style.
 Volume Pivot Detection:  Set the number of bars to consider for identifying pivots, which influences the calculation of the average volume at key levels.
 Band Distance:  Adjust the band distance multiplier for controlling how far the upper and lower bands extend from the VIDYA line, based on the ATR (Average True Range).
ICT CheckListCredit to the owner of this script "TalesOfTrader"
The Awakening Checklist indicator is a tool designed to help traders evaluate certain key market conditions and elements before making trading decisions. It consists of a series of questions that the trader must answer using the options "Yes", "No" or "N/A" (not applicable).
“Has Asia Session ended?” : This question aims to determine if the Asian trading session has ended. The answer to this question can influence trading strategies depending on market conditions.
“Have you identified potential medium induction?” : This question concerns the identification of potential average inductions on the market. Recognizing these inductions can help traders anticipate future price movements.
"Have you identified potential PoI's": This question asks about the identification of potential points of interest on the market. These points of interest can indicate areas of significant support or resistance.
"Have you identified in which direction they are creating lQ?" : This question aims to determine in which direction market participants create liquidity (lQ). Understanding this dynamic can help make informed trade decisions.
“Have they induced Asia Range”: This question concerns the induction of the Asian range by market participants. Recognizing this induction can be important in assessing future price movements.
“Have you had a medium induction”: This question asks about the presence of a medium induction on the market. The answer to this question can influence trading prospects.
“Do you have a BoS away from the induction”: This question aims to find out if the trader has an offer (BoS) far from the identified induction. This can be a risk management strategy.
"Doas your induction PoI have imbalance": This question concerns the imbalance of points of interest (PoI) linked to induction. Recognizing this imbalance can help anticipate price movements.
“Do you have a valid target in mind”: This question aims to find out if the trader has a clear trading objective in mind. Having a goal can help guide trading decisions and manage risk.
LIT - Awakening CheckList v.1The Awakening Checklist indicator is a tool designed to help traders evaluate certain key market conditions and elements before making trading decisions. It consists of a series of questions that the trader must answer using the options "Yes", "No" or "N/A" (not applicable).
“Has Asia Session ended?” : This question aims to determine if the Asian trading session has ended. The answer to this question can influence trading strategies depending on market conditions.
“Have you identified potential medium induction?” : This question concerns the identification of potential average inductions on the market. Recognizing these inductions can help traders anticipate future price movements.
"Have you identified potential PoI's": This question asks about the identification of potential points of interest on the market. These points of interest can indicate areas of significant support or resistance.
"Have you identified in which direction they are creating lQ?" : This question aims to determine in which direction market participants create liquidity (lQ). Understanding this dynamic can help make informed trade decisions.
“Have they induced Asia Range”: This question concerns the induction of the Asian range by market participants. Recognizing this induction can be important in assessing future price movements.
“Have you had a medium induction”: This question asks about the presence of a medium induction on the market. The answer to this question can influence trading prospects.
“Do you have a BoS away from the induction”: This question aims to find out if the trader has an offer (BoS) far from the identified induction. This can be a risk management strategy.
"Doas your induction PoI have imbalance": This question concerns the imbalance of points of interest (PoI) linked to induction. Recognizing this imbalance can help anticipate price movements.
“Do you have a valid target in mind”: This question aims to find out if the trader has a clear trading objective in mind. Having a goal can help guide trading decisions and manage risk.
Release Notes
The Awakening Checklist indicator is a tool designed to help traders evaluate certain key market conditions and elements before making trading decisions. It consists of a series of questions that the trader must answer using the options "Yes", "No" or "N/A" (not applicable).
Awakening CHECHLISTThe Awakening Checklist indicator is a tool designed to help traders evaluate certain key market conditions and elements before making trading decisions. It consists of a series of questions that the trader must answer using the options "Yes", "No" or "N/A" (not applicable).
“Has Asia Session ended?” : This question aims to determine if the Asian trading session has ended. The answer to this question can influence trading strategies depending on market conditions.
“Have you identified potential medium induction?” : This question concerns the identification of potential average inductions on the market. Recognizing these inductions can help traders anticipate future price movements.
"Have you identified potential PoI's": This question asks about the identification of potential points of interest on the market. These points of interest can indicate areas of significant support or resistance.
"Have you identified in which direction they are creating lQ?" : This question aims to determine in which direction market participants create liquidity (lQ). Understanding this dynamic can help make informed trade decisions.
“Have they induced Asia Range”: This question concerns the induction of the Asian range by market participants. Recognizing this induction can be important in assessing future price movements.
“Have you had a medium induction”: This question asks about the presence of a medium induction on the market. The answer to this question can influence trading prospects.
“Do you have a BoS away from the induction”: This question aims to find out if the trader has an offer (BoS) far from the identified induction. This can be a risk management strategy.
"Doas your induction PoI have imbalance": This question concerns the imbalance of points of interest (PoI) linked to induction. Recognizing this imbalance can help anticipate price movements.
“Do you have a valid target in mind”: This question aims to find out if the trader has a clear trading objective in mind. Having a goal can help guide trading decisions and manage risk.
LIT - TimingIntroduction 
This Script displays the Asia Session Range, the London Open Inducement Window, the NY Open Inducement Window, the Previous Week's high and low, the Previous Day's highs and lows, and the Day Open price in the cleanest way possible.
 Description 
The Indicator is based on UTC -7 timing but displays the Session Boxes automatically correct at your chart so you do not have to adjust any timings based on your Time Zone and don't have to do any calculations based on your UTC. It is already perfect.
You will see on default settings the purple Asia Box and 2 grey boxes, the first one is for the London Open Inducement Window (1 hour) and the second grey box is for the NY Open Inducement Window (also 1 hour)
Asia Range comes with default settings with the Asia Range high, low, and midline, you can remove these 3 lines in the settings "style" and untick the "Lines" box, that way you only will have the boxes displayed.
 Special Feature 
Most Timing-based Indicators have "bugged" boxes or don't show clean boxes at all and don't adjust at daylight savings times, we made sure that everything automatically gets adjusted so you don't have to! So the timings will always display at the correct time regarding the daylight savings times.
Combining Timing with Liquidity Zones the right way and in a clear, clean, and simple format.
Different than others this script also shows the "true" Asia range as it respects the "day open gap" which affects the Asia range in other scripts and it also covers the full 8 hours of Asia Session.
 Additions 
You can add in the settings menu the last week's high and low, the previous day's high and low, and also the day's open price by ticking the boxes in the settings menu
All colors of the boxes are fully adjustable and customizable for your personal preferences. Same for the previous weeks and day highs and lows. Just go to "Style" and you can adjust the Line types or colors to your preferred choice.
 Recommended Use 
The most beautiful display is on the M5 Timeframe as you have a clear overview of all sessions without losing the intraday view. You can also use it on the M1 for more details or the M15 for the bigger picture. The Template can hide on higher time frames starting from the H1 to not flood your chart with boxes.
 How to use the Asia Session Range Box 
Use the Asia Range Box as your intraday Guide, keep in mind that a Breakout of Asia high or low induces Liquidity and a common price behavior is a reversal after the fake breakout of that range.
 How to use the London Open and NY Open Inducement Windows 
Both grey boxes highlight the Open of either London Open or NY Open and you should keep an eye out for potential Liquditiy Graps or Mitigations during that times as this is when they introduce major Liquidity for the regarding Session.
 How to use the Asia high, low and midline and day open price 
After Asia Range got taken out in one direction, often price comes back to those levels to mitigate or bounce off, so you can imagine those zones as support and resistance on some occasions, recommended in combination with Imbalances.
 How to use the previous day and week's highs and lows 
Once added in the settings, you can display those price levels, you can use them either as Liquidity Targets or as Inducement Levels once they are taken out.
Enjoy!
AG FX - INSTITUTIONAL ORDER BLOCKSThis Indicator will help you to find some potential bullish and bearish block. 
This indicator, only provides just the the potentials ORDER BLOCKS followed by imbalances.
Forms of using this indicator:
- Plotting the ORDER BLOCKS CANDLES with the color that you prefer
- Plotting the zones given with the ORDER BLOCKS
- Both of them
Indicator Parameters:
- Customizable Candles colors
- Customizable Boxes colors
- Customizable amount of boxes displayed
PD: I just prefer the first one so i can get a clean chart, but it´s up to you.
 Inner Circle Trader Institutional ORDER BLOCKS FOREX Theory  
Today we are talking about the infamous ORDER BLOCKS  by ICT forex trading Strategy. Order Blocks have proven to be a very effective tool in trading as they allow traders to gain high reward with low risk trades.
What is an Order Block? - The Order Block is a specific price range or candle where institutions will be buying or selling against the retail trend/dump money. 
Institutions leave order blocks for themselves to trade at a later stage. They will reverse the price to a previous order and then driving the price hard in the direction of the trend (The real institutional trend). 
These order blocks we can also call them specific levels of either going Long or Short. If an order block is violated or broken, it now qualifies as a Breaker, meaning Price will retest back to that order block. Sometimes we call it a failed order block.
Types of OBs:
i. Bullish Order Block (BUB)
ii. Bearish Order Block (BEB)
FU Candle Detector (Smart Money Concept)  En Anglais🧠 Overall concept: “FU Candle” in Smart Money logic
In the context of Smart Money Concepts (SMC) or ICT (Inner Circle Trader), an FU Candle (also known as a “Fakeout Candle” or “Manipulation Candle”) is a candle that:
Creates an imbalance or a break (often above a swing high or below a swing low),
Attracts liquidity by trapping retail traders (liquidity grab),
Then abruptly reverses direction, revealing the hand of “Smart Money” (large institutions).
It therefore often marks:
The point of manipulation before an impulsive movement (reversal),
An area of interest for entering in the institutional direction (after the liquidity grab).
---
⚙️ How the “FU Candle Detector” script works
The script identifies these candlesticks by observing several typical criteria:
1. Detection of the manipulative candle (FU Candle)
Search for a candlestick that breaks a previous swing (significant high or low),
But closes in the opposite direction, often below/above the broken zone,
Thus indicating a fakeout.
Examples:
Bullish FU Candle: breaks a previous low, but closes bullish.
Bearish FU Candle: breaks a previous high, but closes bearish.
---
2. Visualization on the chart
The script generally displays:
🔴 Red markers for bearish FUs (Fake Breakout upwards),
🟢 Green markers for bullish FUs (Fake Breakout downwards),
🟦 Rectangles of areas of interest (often around the FU Candle Open),
📏 Horizontal lines on areas of imbalance (OB/FVG if integrated).
---
3. Possible additions depending on the version
Depending on the version you have received, the script can also:
Detect Fair Value Gaps (FVG) around FU Candles,
Mark Order Blocks (OB) associated with manipulation,
Add alerts when new FU Candles are detected,
Calculate the distance between the manipulation point and the price return,
Filter according to candle size, volume, or market structure (MSB/CHoCH).
---
🎯 Practical use
FU Candles are often used:
As confirmation of an imminent reversal,
To identify institutional entry zones (hidden Order Block),
To anticipate the direction of the next impulse after the liquidity hunt.
Typical entry example:
> Wait for the formation of an FU Candle + price return within the candle body = entry in the opposite direction to the false breakout.
📈 Recommended combinations
This detector is often combined with:
Structure Break Indicator (CHoCH / BOS)
Liquidity Pool Zones
Fair Value Gap Finder
Order Block Detector
This gives you a complete Smart Money Concept system, capable of mapping:
1. Where liquidity has been taken,
2. Where the price is rebalancing,
3. Where Smart Money is repositioning its orders.
Average Daily Session Range PRO [Capitalize Labs]Average Daily Session Range PRO  
The Average Daily Session Range PRO (ADSR PRO) is a professional-grade analytical tool designed to quantify and visualize the probabilistic range behavior of intraday sessions.
 It calculates directional range statistics using historical session data to show how far price typically moves up or down from the session open.
 This helps traders understand session volatility profiles, range asymmetry, and probabilistic extensions relative to prior performance.
Key Features
Asymmetric Range Modeling: Separately tracks average upside and downside excursions from each session open, revealing directional bias and volatility imbalance.
Probability Engine Modes: Choose between Rolling Window (fixed-length lookback) and Exponential Decay (weighted historical memory) to control how recent or historic data influences probabilities.
Session-Aware Statistics: Calculates values independently for each defined session, allowing region-specific insights (e.g., Tokyo, London, New York).
Dynamic Range Table: Displays key metrics such as average up/down ticks, expected range extensions, and percentage probabilities.
Adaptive Display: Works across timeframes and instruments, automatically aligning with user-defined session start and end times.
Visual Clarity: Includes clean range markers and labels optimized for both backtesting and live-chart analysis.
Intended Use
ADSR PRO is a statistical reference indicator.
 It does not generate buy/sell signals or predictive forecasts.
 Its purpose is to help users observe historical session behavior and volatility tendencies to support their own discretionary analysis.
Credits
Developed by Capitalize Labs, specialists in quantitative and discretionary market research tools.
Risk Warning
This material is educational research only and does not constitute financial advice, investment recommendation, or a solicitation to buy or sell any instrument.
 Foreign exchange and CFDs are complex, leveraged products that carry a high risk of rapid losses; leverage amplifies both gains and losses, and you should not trade with funds you cannot afford to lose.
 Market conditions can change without notice, and news or illiquidity may cause gaps and slippage; stop-loss orders are not guaranteed.
 The analysis presented does not take into account your objectives, financial situation, or risk tolerance.
 Before acting, assess suitability in light of your circumstances and consider seeking advice from a licensed professional.
 Past performance and back-tested or hypothetical scenarios are not reliable indicators of future results, and no outcome or level mentioned here is assured.
 You are solely responsible for all trading decisions, including position sizing and risk management.
 No external links, promotions, or contact details are provided, in line with TradingView House Rules.
ICOptimizerLibrary   "ICOptimizer" 
Library for IC-based parameter optimization
 findOptimalParam(testParams, icValues, currentParam, smoothing) 
  Find optimal parameter from array of IC values
  Parameters:
     testParams (array) : Array of parameter values being tested
     icValues (array) : Array of IC values for each parameter (same size as testParams)
     currentParam (float) : Current parameter value (for smoothing)
     smoothing (simple float) : Smoothing factor (0-1, e.g., 0.2 means 20% new, 80% old)
  Returns:   New parameter value, its IC, and array index
 adaptiveParamWithStarvation(opt, testParams, icValues, smoothing, starvationThreshold, starvationJumpSize) 
  Adaptive parameter selection with starvation handling
  Parameters:
     opt (ICOptimizer) : ICOptimizer object
     testParams (array) : Array of parameter values
     icValues (array) : Array of IC values for each parameter
     smoothing (simple float) : Normal smoothing factor
     starvationThreshold (simple int) : Number of updates before triggering starvation mode
     starvationJumpSize (simple float) : Jump size when in starvation (as fraction of range)
  Returns:   Updated parameter and IC
 detectAndAdjustDomination(longCount, shortCount, currentLongLevel, currentShortLevel, dominationRatio, jumpSize, minLevel, maxLevel) 
  Detect signal imbalance and adjust parameters
  Parameters:
     longCount (int) : Number of long signals in period
     shortCount (int) : Number of short signals in period
     currentLongLevel (float) : Current long threshold
     currentShortLevel (float) : Current short threshold
     dominationRatio (simple int) : Ratio threshold (e.g., 4 = 4:1 imbalance)
     jumpSize (simple float) : Size of adjustment
     minLevel (simple float) : Minimum allowed level
     maxLevel (simple float) : Maximum allowed level
  Returns:  
 calcIC(signals, returns, lookback) 
  Parameters:
     signals (float) 
     returns (float) 
     lookback (simple int) 
 classifyIC(currentIC, icWindow, goodPercentile, badPercentile) 
  Parameters:
     currentIC (float) 
     icWindow (simple int) 
     goodPercentile (simple int) 
     badPercentile (simple int) 
 evaluateSignal(signal, forwardReturn) 
  Parameters:
     signal (float) 
     forwardReturn (float) 
 updateOptimizerState(opt, signal, forwardReturn, currentIC, metaICPeriod) 
  Parameters:
     opt (ICOptimizer) 
     signal (float) 
     forwardReturn (float) 
     currentIC (float) 
     metaICPeriod (simple int) 
 calcSuccessRate(successful, total) 
  Parameters:
     successful (int) 
     total (int) 
 createICStatsTable(opt, paramName, normalSuccess, normalTotal) 
  Parameters:
     opt (ICOptimizer) 
     paramName (string) 
     normalSuccess (int) 
     normalTotal (int) 
 initOptimizer(initialParam) 
  Parameters:
     initialParam (float) 
 ICOptimizer 
  Fields:
     currentParam (series float) 
     currentIC (series float) 
     metaIC (series float) 
     totalSignals (series int) 
     successfulSignals (series int) 
     goodICSignals (series int) 
     goodICSuccess (series int) 
     nonBadICSignals (series int) 
     nonBadICSuccess (series int) 
     goodICThreshold (series float) 
     badICThreshold (series float) 
     updateCounter (series int)
IC optimiser libLibrary   "IC optimiser lib" 
Library for IC-based parameter optimization
 findOptimalParam(testParams, icValues, currentParam, smoothing) 
  Find optimal parameter from array of IC values
  Parameters:
     testParams (array) : Array of parameter values being tested
     icValues (array) : Array of IC values for each parameter (same size as testParams)
     currentParam (float) : Current parameter value (for smoothing)
     smoothing (simple float) : Smoothing factor (0-1, e.g., 0.2 means 20% new, 80% old)
  Returns:   New parameter value, its IC, and array index
 adaptiveParamWithStarvation(opt, testParams, icValues, smoothing, starvationThreshold, starvationJumpSize) 
  Adaptive parameter selection with starvation handling
  Parameters:
     opt (ICOptimizer) : ICOptimizer object
     testParams (array) : Array of parameter values
     icValues (array) : Array of IC values for each parameter
     smoothing (simple float) : Normal smoothing factor
     starvationThreshold (simple int) : Number of updates before triggering starvation mode
     starvationJumpSize (simple float) : Jump size when in starvation (as fraction of range)
  Returns:   Updated parameter and IC
 detectAndAdjustDomination(longCount, shortCount, currentLongLevel, currentShortLevel, dominationRatio, jumpSize, minLevel, maxLevel) 
  Detect signal imbalance and adjust parameters
  Parameters:
     longCount (int) : Number of long signals in period
     shortCount (int) : Number of short signals in period
     currentLongLevel (float) : Current long threshold
     currentShortLevel (float) : Current short threshold
     dominationRatio (simple int) : Ratio threshold (e.g., 4 = 4:1 imbalance)
     jumpSize (simple float) : Size of adjustment
     minLevel (simple float) : Minimum allowed level
     maxLevel (simple float) : Maximum allowed level
  Returns:  
 calcIC(signals, returns, lookback) 
  Parameters:
     signals (float) 
     returns (float) 
     lookback (simple int) 
 classifyIC(currentIC, icWindow, goodPercentile, badPercentile) 
  Parameters:
     currentIC (float) 
     icWindow (simple int) 
     goodPercentile (simple int) 
     badPercentile (simple int) 
 evaluateSignal(signal, forwardReturn) 
  Parameters:
     signal (float) 
     forwardReturn (float) 
 updateOptimizerState(opt, signal, forwardReturn, currentIC, metaICPeriod) 
  Parameters:
     opt (ICOptimizer) 
     signal (float) 
     forwardReturn (float) 
     currentIC (float) 
     metaICPeriod (simple int) 
 calcSuccessRate(successful, total) 
  Parameters:
     successful (int) 
     total (int) 
 createICStatsTable(opt, paramName, normalSuccess, normalTotal) 
  Parameters:
     opt (ICOptimizer) 
     paramName (string) 
     normalSuccess (int) 
     normalTotal (int) 
 initOptimizer(initialParam) 
  Parameters:
     initialParam (float) 
 ICOptimizer 
  Fields:
     currentParam (series float) 
     currentIC (series float) 
     metaIC (series float) 
     totalSignals (series int) 
     successfulSignals (series int) 
     goodICSignals (series int) 
     goodICSuccess (series int) 
     nonBadICSignals (series int) 
     nonBadICSuccess (series int) 
     goodICThreshold (series float) 
     badICThreshold (series float) 
     updateCounter (series int)
Dynamic ~ CVDDynamic - CVD  is a smart, time-adaptive version of the classic Cumulative Volume Delta (CVD) indicator, designed to help traders visualize market buying and selling pressure across all timeframes with minimal manual tweaking.
 Overview 
Cumulative Volume Delta tracks the difference between buying and selling volume during each bar. It reveals whether aggressive buyers or sellers dominate the market, offering deep insight into real-time market sentiment and underlying momentum.
This version of CVD automatically adjusts its EMA smoothing length based on your selected timeframe, ensuring optimal sensitivity and consistency across intraday, daily, weekly, and even monthly charts.
 Features 
 Dynamic EMA Length  — Automatically adapts smoothing parameters based on the chart timeframe:
1–59 min → 50
1–23 h → 21
Daily & Weekly → 100
Monthly → 10
 CVD Visualization  — Displays cumulative delta to show the ongoing buying/selling imbalance.
 CVD‑EMA Curve  — Offers a clear trend signal by comparing the CVD line with its EMA.
 Adaptive Color Logic  — EMA curve changes color dynamically:
Green when CVD > EMA (bullish pressure)
Gray when CVD < EMA (bearish pressure)
 How to Use 
Use Dynamic -  CVD to gauge whether the market is accumulating (net buying) or distributing (net selling).
When CVD rises above its EMA, it often signals consistent buying pressure and potential bullish continuation.
When CVD stays below its EMA, it highlights sustained selling pressure and possible weakness.
The dynamic EMA makes it suitable for scalping, swing trading, and longer-term trend analysis—no need to manually adjust settings.
 Best For 
Traders looking to measure real buying/selling flow rather than price movement alone.
Market participants who want a plug‑and‑play CVD that stays accurate across all timeframes.
Anyone interested in volume‑based momentum confirmation tools.
 Disclaimer 
This script is provided for educational and analytical purposes only. It does not constitute financial advice or a recommendation to buy or sell any asset. Past performance is not indicative of future results. Always perform your own analysis and consult a licensed financial advisor before making investment decisions. The author is not responsible for any financial losses or trading outcomes arising from the use of this indicator.
Liquidations Aggregated (Lite)Liquidations Aggregated (Lite)
The Liquidations Aggregated (Lite) script provides a unified cross-exchange visualization of short and long liquidation volumes, allowing traders to identify high-impact market events and sentiment reversals driven by forced position closures. It aggregates normalized liquidation data from Binance, Bybit, and OKX into a single coherent output, offering a consolidated perspective of derivative market stress across major venues.
Core Concept
Liquidations are involuntary closures of leveraged positions when margin requirements are breached. They represent points of structural orderflow imbalance, often triggering localized volatility spikes and price pivots. This indicator isolates and aggregates those liquidation volumes by direction (short vs. long), allowing traders to map where leveraged traders are being forced out and whether current market movement is driven by short covering or long capitulation.
Underlying Methodology
Each connected exchange provides liquidation feeds via standardized symbols (e.g., BTCUSDT.P_LQBUY or BTCUSD.P_LQSELL).
The script differentiates between:
Short Liquidations → Buy Volume: Forced covering of shorts, representing upward pressure.
Long Liquidations → Sell Volume: Forced selling of longs, representing downward pressure.
Bybit’s inverse data is normalized to align directional logic with Binance and OKX. Data is drawn through the request.security() function per symbol and per exchange, with per-exchange scaling adjustments applied to compensate for differences in reported nominal sizes (USD vs. coin-margined). The script is meant to match the calculation methods of professional-grade data sources (e.g., Velodata, Coinalyze). The value is denominated in the base currency at all times.
Computation Logic
Liquidation volumes are fetched separately for USD- and USDT-margined pairs on each exchange.
Exchange-specific magnitude adjustments are applied to account for nominal denomination differences.
Normalized liquidation buy and sell volumes are summed into two global aggregates:
combinedBuyVolumeLiquidationsShort → aggregated buy volume from forced short positions closes (Short Liquidations)
combinedSellVolumeLiquidationsLong → aggregated sell pressure from forced long position closes (Long Liquidations)
Final series are plotted as mirrored column charts around a zero baseline for direct comparison.
How to Use
Apply the script to any crypto perpetual futures symbol (e.g., BTCUSDT, ETHUSDT).
Observe teal bars (Buy Volume from Short Liquidations) for short squeezes and red bars (Sell Volume from Long Liquidations) for long wipes.
Strong teal spikes during downtrends often indicate aggressive short liquidations leading to short-term bounces.
Strong red spikes during uptrends often mark long unwinds that can trigger sharp retracements.
Sustained asymmetry in either direction suggests systemic imbalance across leveraged positioning.
Illuminati Zone🟣 Illuminati Zone — Hidden Power of the 11 PM NZ Candle
The Illuminati Zone reveals the hidden footprints of liquidity and market imbalance formed by the 11 PM New Zealand 15-minute candle — a time when global liquidity transitions between major sessions.
This candle often defines key intraday supply and demand boundaries, serving as a magnet for price and a pivot point for high-probability reversals or breakouts.
🧠 How it works
Automatically detects and marks the 11 PM NZ 15-minute candle each day.
Draws a translucent zone box between its high and low.
Extends two reference lines at +1 × range and –1 × range above and below the zone — ideal for spotting overextensions or liquidity sweeps.
Supports custom lookback, colors, and visual options.
💡 How to use it
Watch how price interacts with the zone — rejection often signals smart-money activity.
Use +1 and –1 levels as overextended zones for potential reversals or breakout retests.
Combine with your own confluence tools or volume analysis for precision entries.
⚙️ Customization Options
Target hour (NZ time)
Days back to display
Zone and line colors
Transparency and visual preferences
🔮 Pro Tip: Pair it with a volume or imbalance indicator for surgical-level precision in identifying where smart money positions are built or released.
Volume Delta [BigBeluga]🔵 OVERVIEW   
The Volume Delta   indicator visualizes the dominance between buying and selling volume within a given period. It calculates the percentage of bullish (buy) versus bearish (sell) volume, then color-codes the candles and provides a real-time dashboard comparing delta values across multiple currency pairs. This makes it a powerful tool for monitoring order-flow strength and intermarket relationships in real time.  
 🔵 CONCEPTS   
   
  Each bar’s  buy volume  is counted when the close is higher than the open.  
  Each bar’s  sell volume  is counted when the close is lower than the open.  
 
    volumeBuy   = 0.
    volumeSell  = 0.
   
    for i = 0 to period
        if close  > open 
            volumeBuy += volume 
        else 
            volumeSell += volume 
 
  The indicator sums both over a chosen period to calculate the ratio of buy-to-sell pressure.  
  Delta (%) = (Buy Volume ÷ (Buy Volume + Sell Volume)) × 100.  
  Gradient colors highlight whether buying or selling pressure dominates.  
   
 🔵 FEATURES   
   
  Calculates real-time  Volume Delta  for the selected chart or for multiple assets.  
  Colors candles dynamically based on the delta intensity (green = buy pressure, red = sell pressure).  
  
  Displays a  dashboard table  showing volume delta % for up to five instruments.  
  
  The dashboard features visual progress bars for quick intermarket comparison.  
  An optional  Delta Bar Panel  shows the ratio of Buy/Sell volumes near the latest bar.  
A floating label shows the exact Buy/Sell percentages.  
  
  Works across all symbols and timeframes for multi-asset delta tracking.  
  
   
 🔵 HOW TO USE 
 
  When  Buy % > Sell % , it often signals bullish momentum or strong accumulation—but can also indicate  over-excitement  and a possible market top.
  
Market Tops
  
  When  Sell % > Buy % , it typically reflects bearish pressure or distribution—but may also occur near a  market bottom  where selling exhaustion forms.
  
Market Bottom
  
  Use the  Dashboard  to compare volume flow across correlated assets (e.g., major Forex pairs or sector groups).
  Combine readings with trend or volatility filters to confirm whether the imbalance aligns with broader directional conviction.
  Treat the  Delta Bar visualization  as a real-time sentiment gauge—showing which side (buyers or sellers) dominates the current session.
 
 🔵 CONCLUSION   
Volume Delta   transforms volume analysis into an intuitive directional signal.  
By quantifying buy/sell pressure and displaying it as a percentage or color gradient, it provides traders with a clearer picture of real-time volume imbalance — whether within one market or across multiple correlated instruments.  
Devil Marks - Multi TimeframeA handy completely new script that shows Devil Marks for several time frames on the current time frame.
Devil Marks are where candles have no wick at one end of the candlestick. These levels are seen as areas that price needs to go back to at some point to re-balance the imbalance. These levels can add confluence to a trade idea.
A table is included that shows the closest devil mark for each time frame.
Devil Marks should show until that level is mitigated by price trading at that level.
Cumulative Volume Delta Profile and Heatmap [BackQuant]Cumulative Volume Delta Profile and Heatmap  
 A multi-view CVD workstation that measures buying vs selling pressure, renders a price-aligned CVD profile with Point of Control, paints an optional heatmap of delta intensity, and detects classical CVD divergences using pivot logic. Built for reading who is in control, where participation clustered, and when effort is failing to produce result.
 What is CVD 
 Cumulative Volume Delta accumulates the difference between aggressive buys and aggressive sells over time. When CVD rises, buyers are lifting the offer more than sellers are hitting the bid. When CVD falls, the opposite is true. Plotting CVD alongside price helps you judge whether price moves are supported by real participation or are running on fumes.
 Core Features 
  Visual Analysis Components 
  
  CVD Columns  - Plot of cumulative delta, colored by side, for quick read of participation bias.
  CVD Profile  - Price-aligned histogram of CVD accumulation using user-set bins. Shows where net initiative clustered.
  Split Buy and Sell CVD  - Optional two-sided profile that separates positive and negative CVD into distinct wings.
  POC - Point of Control  - The price level with the highest absolute CVD accumulation, labeled and line-marked.
  Heatmap  - Semi-transparent blocks behind price that encode CVD intensity across the last N bars.
  Divergence Engine  - Pivot-based detection of Bearish and Bullish CVD divergences with optional lines and labels.
  Stats Panel  - Top level metrics: Total CVD, Buy and Sell totals with percentages, Delta Ratio, and current POC price.
  
 How it works 
  Delta source and sampling 
  
  You select an Anchor Timeframe that defines the higher time aggregation for reading the trend of CVD.
  The script pulls lower timeframe volume delta and aggregates it to the anchor window. You can let it auto-select the lower timeframe or force a custom one.
  CVD is then accumulated bar by bar to form a running total. This plot shows the direction and persistence of initiative.
  
 Profile construction 
  
  The recent price range is split into  Profile Granularity  bins.
  As price traverses a bin, the current delta contribution is added to that bin.
  If  Split Buy and Sell CVD  is enabled, positive CVD goes to the right wing and negative CVD to the left wing.
  Widths are scaled by each side’s maximum so you can compare distribution shape at a glance.
  The  Point of Control  is the bin with the highest absolute CVD. This marks where initiative concentrated the most.
  
 Heatmap 
  
  For each bin, the script computes intensity as absolute CVD relative to the maximum bin value.
  Color is derived from the side in control in that bin and shaded by intensity.
  Heatmap Length  sets how far back the panels extend, highlighting recurring participation zones.
  
 Divergence model 
  
  You define pivot sensitivity with  Pivot Left  and  Right .
  Bearish divergence triggers when price confirms a higher high while CVD fails to make a higher high within a configurable  Delta Tolerance .
  Bullish divergence triggers when price confirms a lower low while CVD fails to make a lower low.
  On trigger, optional link lines and labels are drawn at the pivots for immediate context.
  
 Key Settings 
  Delta Source 
  
  Anchor Timeframe  - Higher TF for the CVD narrative.
  Custom Lower TF  and  Lower Timeframe  - Force the sampling TF if desired.
  
 Pivot Logic 
  
  Pivot Left  and  Right  - Bars to each side for swing confirmation.
  Delta Tolerance  - Small allowance to avoid near-miss false positives.
  
 CVD Profile 
  
  Show CVD Profile  - Toggle profile rendering.
  Split Buy and Sell CVD  - Two-sided profile for clearer side attribution.
  Show Heatmap  - Project intensity panels behind price.
  Show POC  and  POC Color  - Mark the dominant CVD node.
  Profile Granularity  - Number of bins across the visible price range.
  Profile Offset  and  Profile Width  - Position and scale the profile.
  Profile Position  - Right, Left, or Current bar alignment.
  
 Visuals 
  
  Bullish Div Color  and  Bearish Div Color  - Colors for divergence artifacts.
  Show Divergence Lines  and  Labels  - Visualize pivots and annotations.
  Plot CVD  - Column plot of total CVD.
  Show Statistics  and  Position  - Toggle and place the summary table.
  
 Reading the display 
  CVD columns 
  
  Rising CVD confirms buyers are in control. Falling CVD confirms sellers.
  Flat or choppy CVD during wide price moves hints at passive or exhausted participation.
  
 CVD profile wings 
  
  Thick right wing  near a price zone implies heavy buy initiative accumulated there.
  Thick left wing  implies heavy sell initiative.
  POC  marks the strongest initiative node. Expect reactions on first touch and rotations around this level when the tape is balanced.
  
 Heatmap 
  
  Brighter blocks indicate stronger historical net initiative at that price.
  Stacked bright bands form CVD high volume nodes. These often behave like magnets or shelves for future trade.
  
 Divergences 
  
  Bearish  - Price prints a higher high while CVD fails to do so. Effort is not producing result. Potential fade or pause.
  Bullish  - Price prints a lower low while CVD fails to do so. Capitulation lacks initiative. Potential bounce or reversal.
  
 Stats panel 
  
  Total CVD  - Net initiative over the window.
  Buy and Sell volume with percentages  - Side composition.
  Delta Ratio  - Buy over Sell. Values above 1 favor buyers, below 1 favor sellers.
  POC Price  - Current control node for plan and risk.
  
 Workflows 
  Trend following 
  
  Choose an Anchor Timeframe that matches your holding period.
  Trade in the direction of CVD slope while price holds above a bullish POC or below a bearish POC.
  Use pullbacks to CVD nodes on your profile as entry locations.
  Trend weakens when price makes new highs but CVD stalls, or new lows while CVD recovers.
  
 Mean reversion 
  
  Look for divergences at or near prior CVD nodes, especially the POC.
  Fade tests into thick wings when the side that dominated there now fails to push CVD further.
  Target rotations back toward the POC or the opposite wing edge.
  
 Liquidity and execution map 
  
  Treat strong wings and heatmap bands as probable passive interest zones.
  Expect pauses, partial fills, or flips at these shelves.
  Stops make sense beyond the far edge of the active wing supporting your idea.
  
 Alerts included 
  
  CVD Bearish Divergence and CVD Bullish Divergence.
  Price Cross Above POC and Price Cross Below POC.
  Extreme Buy Imbalance and Extreme Sell Imbalance from Delta Ratio.
  CVD Turn Bullish and CVD Turn Bearish when net CVD crosses zero.
  Price Near POC proximity alert.
  
 Best practices 
  
  Use a higher Anchor Timeframe to stabilize the CVD story and a sensible Profile Granularity so wings are readable without clutter.
  Keep Split mode on when you want to separate initiative attribution. Turn it off when you prefer a single net profile.
  Tune Pivot Left and Right by instrument to avoid overfitting. Larger values find swing divergences. Smaller values find micro fades.
  If volume is thin or synthetic for the symbol, CVD will be less reliable. The script will warn if volume is zero.
  
 Trading applications 
  
  Context  - Confirm or question breakouts with CVD slope.
  Location  - Build entries at CVD nodes and POC.
  Timing  - Use divergence and POC crosses for triggers.
  Risk  - Place stops beyond the opposite wing or outside the POC shelf.
  
 Important notes and limits 
  
  This is a price and volume based study. It does not access off-book or venue-level order flow.
  CVD profiles are built from the data available on your chart and the chosen lower timeframe sampling.
  Like all volume tools, readings can distort during roll periods, holidays, or feed anomalies. Validate on your instrument.
  
 Technical notes 
  
  Delta is aggregated from a lower timeframe into an Anchor Timeframe narrative.
  Profile bins update in real time. Splitting by side scales each wing independently so both are readable in the same panel.
  Divergences are confirmed using standard pivot definitions with user-set tolerances.
  All profile drawing uses fixed X offsets so panels and POC do not swim when you scroll.
  
 Quick start 
  
  Anchor Timeframe = Daily for intraday context.
  Split Buy and Sell CVD = On.
  Profile Granularity = 100 to 200, Profile Position = Right, Width to taste.
  Pivot Left and Right around 8 to 12 to start, then adapt.
  Turn on Heatmap for a fast map of interest bands.
  
 Bottom line 
 CVD tells you who is doing the lifting. The profile shows where they did it. Divergences tell you when effort stops paying. Put them together and you get a clear read on control, location, and timing for both trend and mean reversion.
Gap Zones Pro - Price Action Confluence Indicator with Alerts█ OVERVIEW
Gap Zones Pro identifies and tracks price gaps - crucial areas where institutional interest and market imbalance create high-probability reaction zones. These gaps represent areas of strong initial buying/selling pressure that often act as magnets when price returns.
█ WHY GAPS MATTER IN TRADING
- Gaps reveal institutional footprints and areas of market imbalance
- When price returns to a gap, it often reaffirms the original directional bias
- Failed gap reactions can signal powerful reversals in the opposite direction
- Gaps provide excellent confluence when aligned with your trading narrative
- They act as natural support/resistance zones with clear risk/reward levels
█ KEY FEATURES
- Automatically detects and visualizes all gap zones on your chart
- Extends gaps to the right edge for easy monitoring
- Customizable number of gaps displayed (manage chart clarity)
- Minimum gap size filter to focus on significant gaps only
- Real-time alerts when price enters gap zones
- Color-coded visualization (green for gap ups, red for gap downs)
- Clean, professional appearance with adjustable transparency
█ HOW TO USE
1. Add to chart and adjust maximum gaps displayed based on your timeframe
2. Set minimum gap size % to filter out noise (0.5-1% recommended for stocks)
3. Watch for price approaching gap zones for potential reactions
4. Use gaps as confluence with other technical factors:
   - Support/resistance levels
   - Fibonacci retracements
   - Supply/demand zones
   - Trend lines and channels
5. Set alerts to notify you when price enters key gap zones
█ TRADING TIPS
- Gaps with strong contextual stories (earnings, news, breakouts) are most reliable
- Multiple gaps in the same area create stronger zones
- Unfilled gaps above price can act as resistance targets
- Unfilled gaps below price can act as support targets
- Watch for "gap and go" vs "gap fill" scenarios based on market context
█ SETTINGS
- Maximum Number of Gaps: Control how many historical gaps to display
- Minimum Gap Size %: Filter out insignificant gaps
- Colors: Customize gap up and gap down zone colors
- Transparency: Adjust visibility while maintaining chart readability
- Show Borders: Toggle gap zone borders on/off
- Alerts: Automatic notifications when price crosses gap boundaries
█ BEST TIMEFRAMES
Works on all timeframes but most effective on:
- Daily charts for swing trading
- 4H for intraday position trading  
- 1H for day trading key levels
- Weekly for long-term investing
Remember: Gaps are most powerful when they align with your overall market thesis and other technical confluences. They should confirm your narrative, not define it.
---
Updates: Real-time gap detection | Alert system | Extended visualization | Performance optimized
cd_indiCATor_CxGeneral: 
This indicator is the redesigned, simplified, and feature-enhanced version of the previously shared indicators:
cd_cisd_market_Cx, cd_HTF_Bias_Cx, cd_sweep&cisd_Cx, cd_SMT_Sweep_CISD_Cx, and cd_RSI_divergence_Cx.
Within the holistic setup, the indicator tracks:
•	HTF bias
•	Market structure (trend) in the current timeframe
•	Divergence between selected pairs (SMT)
•	Divergence between price and RSI values
•	Whether the price is in an important area (FVG, iFVG, and Volume Imbalance)
•	Whether the price is at a key level
•	Whether the price is within a user-defined special timeframe
The main condition and trigger of the setup is an HTF sweep with CISD confirmation on the aligned timeframe.
When the main condition occurs, the indicator provides the user with a real-time market status summary, enriched with other data.
________________________________________
 What’s new? 
-In the SMT module:
•	Triad SMT analysis (e.g.: NQ1!, ES1!, and YM1!)
•	Dyad SMT analysis (e.g.: EURUSD, GBPUSD)
•	Alternative pair definition and divergence analysis for non-correlated assets
o	For crypto assets (xxxUSDT <--> xxxUSDT.P) (e.g.: SOLUSDT.P, SOLUSDT)
o	For stocks, divergence analysis by comparing the asset with its value in another currency
(BIST:xxx <--> BIST:xxx / EURTRY), (BAT:xxx <--> BAT:xxx / EURUSD)
-Special timeframe definition
-Configurable multi-option alarm center
-Alternative summary presentation (check list / status table / stickers)
________________________________________
 Details and usage: 
The user needs to configure four main sections:
•	Pair and correlated pairs
•	Timeframes (Auto / Manual)
•	Alarm center
•	Visual arrangement and selections
 Pair Selections: 
The user should adjust trading pairs according to their trade preferences.
  
Examples:
•	Triad: NQ1!-ES1!-YM1!, BTC-ETH-Total3
•	Dyad: NAS100-US500, XAUUSD-XAGUSD, XRPUSDT-XLMUSDT
Single pairs:
-Crypto Assets:
If crypto assets are not in the triad or dyad list, they are automatically matched as:
Perpetual <--> Spot (e.g.: DOGEUSDT.P <--> DOGEUSDT)
If the asset is already defined in a dyad list (e.g., DOGE – SHIB), the dyad definition takes priority.
________________________________________
-Stocks:
If stocks are defined in the dyad list (e.g.: BIST:THYAO <--> BIST:PGSUS), the dyad definition takes priority.
If not defined, the stock is compared with its value in the selected currency.
For example, in the Turkish Stock Exchange:
BIST:FENER stock, if EUR is chosen from the menu, is compared as BIST:FENER / OANDA:EURTRY.
Here, “OANDA” and the stock market currency (TRY) are automatically applied for the exchange rate.
For NYSE:XOM, its pair will be NYSE:XOM / EURUSD.
________________________________________
 Timeframes: 
By default, the menu is set to “Auto.” In this mode, aligned timeframes are automatically selected.
Aligned timeframes (LTF-HTF):
1m-15m, 3m-30m, 5m-1h, 15m-4h, 1h-D, 4h-W, D-M
Example: if monitoring the chart on 5m:
•	1h sweep + 5m CISD confirmation
•	D sweep + 1h CISD confirmation (bias)
•	5m market structure
•	1h SMT and 1h RSI divergence analysis
For manual selections, the user must define the timeframes for Sweep and HTF bias.
  
FVG, iFVG, and Volume Imbalance timeframes must be manually set in both modes.
________________________________________
 Alarm Center: 
The user can choose according to preferred criteria.
  
Each row has   options.
“Yes” → included in alarm condition.
“No” → not included in alarm condition.
If special timeframe criteria are added to the alarm, the hour range must also be entered in the same row, and the “Special Zone” tab (default: -4) should be checked.
Key level timeframes and plot options must be set manually.
Example alarm setup:
Alongside the main Sweep + CISD condition, if we also want HTF bias + Trend alignment + key level (W, D) and special timeframe (09:00–11:00), we should set up the menu as follows:
  
________________________________________
 Visual Arrangement and Selections: 
Users can control visibility with checkboxes according to their preferences.
In the Table & Sticker tab, table options and labels can be controlled.
•	Summary Table has two options: Check list and Status Table
•	From the HTF bias section, real-time bias and HTF sweep zone (optional) are displayed
•	The RSI divergence section only shows divergence analysis results
•	The SMT 2 sub-section only functions when triad is selected
Labels are shown on the bar where the sweep + CISD condition occurs, displaying the current situation.
With the Check box option, all criteria’s real-time status is shown (True/False).
Status Table provides a real-time summary table.
Although the menu may look crowded, most settings only need to be adjusted once during initial use.
________________________________________
 What’s next? 
•	Suggestions from users
•	Standard deviation projection
•	Mitigation/order blocks (cd special mtg)
•	PSP /TPD
________________________________________
 Final note: 
Every additional criterion in the alarm settings will affect alarm frequency.
Multiple conditions occurring at the same time is not, by itself, sufficient to enter a trade—you should always apply your own judgment.
Looking forward to your feedback and suggestions.
 Happy trading!  🎉
unFair Value Gap Detector [theUltimator5]The unFair Value Gap Detector (uFVG) highlights imbalance zones that form when trend strength is weak but directional pressure spikes—a condition often followed by price reversion back into that level. Unlike the classic 3-candle ICT FVG, this tool is designed to help you have an unFair edge in gap retracement detection by plotting high probability gap reversion opportunities on the current timeframe and the next FIVE (yes five) higher timeframes.
 What you’ll see: 
 
 Gap line per event:  A single, no-nonsense line at the level price most often returns to.
 Auto multi-timeframe view:  uFVG ladders up through five higher timeframes and shows their levels too—each with its own color.
 Smart de-clutter:  Near-duplicate lines across timeframes are filtered so your chart stays readable.
 
 Note: This indicator is intentionally minimalistic visually to minimize chart clutter, while still being an extremely powerful tool 
 Optional visuals: 
 
 Light background tint during quiet, coiling conditions.
 Soft fill from price to the active line for quick context.
 Compact labels that note the price and which timeframe printed it.
 
 Why it is unique and effective (the “unfair” edge): 
 
 Early, practical context: Spots levels near when the imbalance forms—useful before the crowd catches on.
 Clarity over noise: One line per event. No boxes, no sprawling zones, fewer “maybe” areas.
 Timeframe confluence: When multiple timeframes cluster around the same price, you’ve got a stronger focal point.
 Simple risk framing: If price slices through the line decisively, that idea’s done. Next.
 
 How to use it: 
 
 Mean-reversion play: Look for price to tag the line, take profits into it, or fade a first reaction.
 Continuation play: After the line is “mitigated,” reassess in the original direction.
 Prioritize by timeframe: Higher-timeframe lines tend to carry more weight.
 Respect clusters: Multiple lines stacked near one price often mark important pivots.
 
 Customization 
 
 Colors: Separate colors for current and higher-timeframe lines.
 Toggles: Turn on/off background highlights, line-to-price fill, and labels.
 Minimal fuss: The rest is auto—timeframes, line lifecycle, and de-duplication are handled for you.
Helper Lib by tristanlee85Library   "helpers" 
This library offers various functions and types based on the algorithmic
concepts as authored by ICT.
 kv(key, value) 
  Returns a string of the key/value set, suitable for debug logging
  Parameters:
     key (string) 
     value (string) 
  Returns: A string formatted as "{key}: {value}"
 kv(key, value) 
  Parameters:
     key (string) 
     value (int) 
 kv(key, value) 
  Parameters:
     key (string) 
     value (float) 
 kv(key, value) 
  Parameters:
     key (string) 
     value (bool) 
 method enable(this, enable) 
  Enable/Disable debug logging
  Namespace types: Debugger
  Parameters:
     this (Debugger) 
     enable (bool) : Set to `true` by default.
 method group(this, label) 
  Creates a group label for nested debug() invocations
  Namespace types: Debugger
  Parameters:
     this (Debugger) 
     label (string) 
 method groupEnd(this, label) 
  Ends the specified debug group
  Namespace types: Debugger
  Parameters:
     this (Debugger) 
     label (string) 
 method log(this, s, arg1, arg2, arg3, arg4, arg5) 
  Logs the param values if debug mode is enabled
  Namespace types: Debugger
  Parameters:
     this (Debugger) 
     s (string) : Title of the log message
     arg1 (string) 
     arg2 (string) 
     arg3 (string) 
     arg4 (string) 
     arg5 (string) 
 method logIf(this, expr, s, arg1, arg2, arg3, arg4, arg5) 
  Same behavior as debug() except will only log if the passed expression is true
  Namespace types: Debugger
  Parameters:
     this (Debugger) 
     expr (bool) : Boolean expression to determine if debug logs should be logged
     s (string) : Title of the log message
     arg1 (string) 
     arg2 (string) 
     arg3 (string) 
     arg4 (string) 
     arg5 (string) 
 style_getLineStyleFromType(opt) 
  Returns the corresponding line style constant for the given LineStyleType
  Parameters:
     opt (series LineStyleType) : The selected line style type
  Returns: The Pine Script line style constant
 style_getTextSizeFromType(opt) 
  Returns the corresponding text size constant for the given TextSizeType
  Parameters:
     opt (series TextSizeType) : The selected text size type
  Returns: The Pine Script text size constant
 style_getTextHAlignFromType(t) 
  Returns the corresponding horizontal text align constant for the given HAlignType
  Parameters:
     t (series HAlignType) : The selected text align type
  Returns: The Pine Script text align constant
 style_getTextVAlignFromType(t) 
  Returns the corresponding vertical text align constant for the given VAlignType
  Parameters:
     t (series VAlignType) : The selected text align type
  Returns: The Pine Script text align constant
 format_sentimentType(sentiment, pd) 
  Used to produce a string with the sentiment and PD array type (e.g., "+FVG")
  Parameters:
     sentiment (series SentimentType) : The sentiment value (e.g., SentimentType.BULLISH)
     pd (series PDArrayType) : The price data array (e.g., PDArrayType.FVG)
  Returns: A formatted string with the sentiment and PD array (e.g., "+FVG")
 format_timeToString(timestamp) 
  Formats a UNIX timestamp into a date and time string based on predefined formats
  Parameters:
     timestamp (int) : The UNIX timestamp to format
  Returns: A formatted string as "MM-dd (E) - HH:mm"
 method init(this) 
  Initializes the session and validates the configuration. This MUST be called immediately after creating a new instance.
  Namespace types: Session
  Parameters:
     this (Session) : The Session object reference
  Returns: The Session object (chainable) or throws a runtime error if invalid
 method isActive(this, _time) 
  Determines if the session is active based on the current bar time
  Namespace types: Session
  Parameters:
     this (Session) : The Session object reference
     _time (int) 
  Returns: `true` if the session is currently active; `false` otherwise
 method draw(this) 
  Draws the line and optional label
  Namespace types: LineLabel
  Parameters:
     this (LineLabel) : The LineLabel object reference
  Returns: The LineLabel object (chainable)
 method extend(this, x) 
  Extends the line and label right to the specified bar index
  Namespace types: LineLabel
  Parameters:
     this (LineLabel) : The LineLabel object reference
     x (int) : The bar index to extend to
  Returns: The LineLabel object (chainable)
 method destroy(this) 
  Removes the line and label from the chart
  Namespace types: LineLabel
  Parameters:
     this (LineLabel) : The LineLabel object reference
 isFVG(includeVI, barIdx) 
  Checks if the previous bars form a Fair Value Gap (FVG)
  Parameters:
     includeVI (bool) : If true, includes Volume Imbalance in the FVG calculation
     barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
  Returns: A Gap object if a FVG is detected; otherwise, `na`
 isVolumeImbalance(barIdx) 
  Checks if the previous bars form a Volume Imbalance (VI)
  Parameters:
     barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
  Returns: A Gap object if a VI is detected; otherwise, `na`
 isLiquidityVoid(barIdx) 
  Checks if the previous bars form a Liquidity Void (LV)
  Parameters:
     barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
  Returns: A Gap object if an LV is detected; otherwise, `na`
 isSwingPoint(barIdx) 
  Checks if the previous bars form a swing point
  Parameters:
     barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
  Returns: A SwingPoint object if a swing point is detected; otherwise, `na`
 Debugger 
  A debug logging utility with group support
  Fields:
     enabled (series bool) 
     _debugGroupStack (array) 
 Session 
  Defines a trading session with a name and time range. When creating a new instance of this type, you MUST call init() immediately.
  Fields:
     name (series string) : A display-friendly name (e.g., "NY AM")
     session (series string) : A string defining the session time range (e.g., "1300-1400")
     enabled (series bool) : Optional flag for custom logic; defaults to false
     start (series int) : UNIX time representing the session start (set via isActive())
     end (series int) : UNIX time representing the session end (set via isActive())
     _t (series int) 
     _start_HH (series float) 
     _start_mm (series float) 
     _end_HH (series float) 
     _end_mm (series float) 
 Gap 
  Represents a price inefficiency (gap) with details on sentiment and price levels
  Fields:
     type (series SentimentType) : The sentiment of the gap (e.g., SentimentType.BULLISH)
     name (series string) : A display-friendly name (e.g., "+FVG")
     startTime (series int) : UNIX time value for the gap's start
     endTime (series int) : UNIX time value for the gap's end
     startIndex (series int) : Bar index where the gap starts
     endIndex (series int) : Bar index where the gap ends
     gapLow (series float) : The lowest price level of the gap
     gapHigh (series float) : The highest price level of the gap
     ce (series float) : The consequent encroachment level of the gap
 SwingPoint 
  Represents a swing point with details on type and price level
  Fields:
     type (series SwingPointType) : The type of swing point (e.g., SwingPointType.HIGH)
     time (series int) : UNIX time value for the swing point
     barIdx (series int) : Bar index where the swing point occurs
     price (series float) : The price level of the swing point which is either the high or low of the middle bar
 LineLabel 
  Combines a line and box type to produce a line with a label that is properly aligned
  Fields:
     x (series int) : The X-axis starting point as a bar index
     y (series float) : The Y-axis starting point as the price level
     color (series color) : Both the line and text color
     width (series int) : Thickness of the line
     label (series string) : Text to display
     showLabel (series bool) : Boolean to conditionally show/hide the label (default is false)
     lineStyle (series LineStyleType) : The style of the line
     textSize (series TextSizeType) 
     _b (series box) 
     _l (series line)






















