SmartMA(EN)
## **SmartMA v1.2: Technical Specification & Integration Guide**
### 1\. Overview & Philosophy
**SmartMA v1.2** is a professional-grade Pine Script library designed to replace static, lagging indicators (like EMA, SMA, ATR) with dynamic, context-aware engines.
The core philosophy is that a trading system's "baseline" (its sense of value) and "sigma" (its sense of risk) should not be fixed. They should adapt in real-time to changes in market structure, volume, flow, and regime.
This library is a **pure logic engine**. It provides no plots or inputs. It is intended to be imported into a sophisticated "super-indicator" (like your `X Ω` system) to serve as its core processor for value and risk.
### 2\. Core Concepts
Before using the main functions, understand these foundational components:
* **`robust_price()`:** This is the recommended price source for all calculations. It replaces `close` or `hlc3`. It is a 70/30 blend of `hlc3` (for smoothness) and a "body-weighted close" (which prioritizes the candle's body and discounts noisy wicks/dojis). **Use this as the `src` for all MAs.**
* **Rate-Limiting:** All adaptive sigmas (`avs`, `qvs`) and advanced MAs (`ava_plus`, `wva`) are "rate-limited." This means they cannot jump more than a small fraction of the ATR in a single bar, ensuring an extremely smooth and stable output, free of jerky movements.
* **Context-Awareness:** The "plus" (`+`) and advanced functions (`wva`, `aria`) are designed to be "slaved" to your main system. They accept signals like `hazard01`, `fit01`, and `squeeze01` as inputs to dynamically alter their own behavior.
-----
### 3\. ⚙️ Module Analysis & How-To Guide
This library is best understood in four parts: Baselines (MAs), Volatility (Sigmas), Regime (Context), and VWAP (Utilities).
#### \#\# 3.1. Adaptive Baselines (MA Replacements)
These functions replace `ta.ema` or `ta.sma` to provide a dynamic, intelligent "moving average" that acts as your core value baseline.
##### \#\#\# `ava()` / `ava_plus()` (Adaptive Volume Average)
* **Purpose:** The primary replacement for `EMA` or `VWMA`.
* **Logic:** Intelligently blends `EMA` (price-driven) and `VWMA` (volume-driven). It gives more weight to `VWMA` during high "conviction" (strong candle bodies, high volume) and reverts to `EMA` in low-volume, uncertain markets.
* **How to Use `ava_plus` (Recommended):** This is the context-aware version. It accepts `hazard01` and `squeeze01` (from your `X Ω` EWS and Compression blocks).
* `float base = SmartMA.ava_plus(20, EWS_envHazard01, CP_squeeze01, "rob")`
* **Result:** When hazard or squeeze is high, `ava_plus` *reduces* its adaptive logic and defaults toward a simple, "safe" `EMA`, preventing erratic signals in high-risk environments.
##### \#\#\# `aria()` (Adaptive Regime & Intent Average)
* **Purpose:** A "top-down" regime-aware baseline. It is a lighter, more elegant alternative to `WVA`.
* **Logic:** `aria` blends three MAs based on the market's "big picture":
1. `ZLEMA` (Fast): Prioritized when `fit01` (trend quality) is high.
2. `EMA` (Slow): Prioritized when `hazard01` (risk) is high.
3. `AVA` (Core): Used as the default.
* **How to Use:** This is an *ideal* baseline for `X Ω`. Feed it the final outputs from your Analyst and EWS blocks.
* `float baseline = SmartMA.aria(20, ANL_fit01_out, EWS_envHazard01, ANL_biasPM1_out)`
* **Result:** The baseline automatically becomes faster in good trends, slower in risky markets, and even "tilts" slightly in the direction of your system's `bias` (intent).
##### \#\#\# `wva()` / `wva_plus()` (Whale-flow Adaptive Average)
* **Purpose:** The "ultimate" baseline. This is the most comprehensive, data-driven MA in the suite.
* **Logic:** `wva_plus` is a multi-scale MA that synthesizes 12 context signals (whale flow, absorption, imbalance, hazard, etc.) AND is anchored to **two distinct, user-defined events**. It uses "consensus" (max of up/down pressure) to drive its adaptive speed.
* **How to Use:** This function is *perfectly* designed to be the "central brain" for `X Ω`'s "senses." You connect your `X Ω` blocks directly to its parameters.
> **Example: Creating a Master Baseline**
> `// 1. Define your two anchors (e.g., 2022 Low and 2023 Q4 Low)`
> `bool anchor_L_2022 = (year == 2022 and month == 11 and dayofmonth == 16)`
> `bool anchor_L_2023 = (year == 2023 and month == 11 and dayofmonth == 1)`
> `// 2. Feed X Ω signals directly into wva_plus`
> `float master_baseline = SmartMA.wva_plus(20,`
> ` whale01 = WH2_score01, // from Block 11`
> ` absorbTop01 = FE_absorbTop01, // from Block 6`
> ` absorbBot01 = FE_absorbBot01, // from Block 6`
> ` imbUp01 = IMB_imbalanceUp01, // from Block 8`
> ` imbDn01 = IMB_imbalanceDn01, // from Block 8`
> ` easeUp01 = LM_easeUp01_out, // from Block 9`
> ` easeDn01 = LM_easeDn01_out, // from Block 9`
> ` hazard01 = EWS_envHazard01, // from Block 13`
> ` breadth01 = FE_miScore01, // from Block 4`
> ` squeeze01 = CP_squeeze01, // from Block 10`
> ` anchor1 = anchor_L_2022,`
> ` slot1 = 1,`
> ` anchor2 = anchor_L_2023,`
> ` slot2 = 2`
> `)`
* **Result:** You get a single baseline that reflects multi-scale price, volume, flow, imbalance, *and* is anchored to two critical historical events.
-----
#### \#\# 3.2. Adaptive Volatility (Sigma Replacements)
These functions replace `ta.atr` to provide a dynamic, smoother, and more robust measure of risk (sigma).
##### \#\#\# `avs()` / `avs_plus()` (Adaptive Volatility Sigma)
* **Purpose:** The primary replacement for `ta.atr`.
* **Logic:** Blends `ATR` (which is good at capturing overnight gaps) with statistical OHLC estimators (Garman-Klass by default) for a more accurate measure of intra-bar volatility. It is heavily smoothed and rate-limited.
* **How to Use `avs_plus`:** This is the context-aware version. Feed it the `hazard01` signal from your `X Ω` EWS block.
* `float risk_sigma = SmartMA.avs_plus(14, hazard01=EWS_envHazard01)`
* **Result:** Your risk bands (`VZA`) will *automatically* widen during high-hazard periods.
##### \#\#\# `qvs()` (Quantile Volatility Sigma)
* **Purpose:** A **more robust** alternative to `AVS`. Highly recommended.
* **Logic:** `AVS` and `ATR` are based on an *average*, which is highly sensitive to one-off, extreme outlier wicks (e.g., a "flash crash" wick). `QVS` is based on **quantiles** (percentiles). It measures the volatility level that (e.g.) 90% of recent bars fall *below*.
* **How to Use:** Use this for your "must-hold" stop-loss bands.
* `float robust_sigma = SmartMA.qvs(20, 0.90, "mix")`
* **Result:** A "real-world" sigma that is immune to outliers and provides a much more stable band for risk management.
##### \#\#\# `avs_asym_ex()` (Extended Asymmetric Sigma)
* **Purpose:** Creates dynamic, asymmetric risk bands (channels).
* **Logic:** This is a brilliant integration point. It takes the `avs` (or `qvs`) sigma and creates two different bands (` `) that are "tilted" by:
1. `biasPM1`: Your system's directional intent (from `X Ω`'s Analyst block).
2. `easeUp01` / `easeDn01`: The "Line of Least Resistance" (from `X Ω`'s S/R block).
* **How to Use:**
* ` = SmartMA.avs_asym_ex(14, ANL_biasPM1_out, LM_easeUp01_out, LM_easeDn01_out, "qvs")`
* ` = SmartMA.vza_asym(master_baseline, sigmaUp, sigmaDn, 1.5, 1.5)`
* **Result:** A channel that *automatically widens* in the direction of the trend, and widens *even more* if it's moving into an area of low S/R (high "ease"). It gives a strong trend "room to run."
-----
#### \#\# 3.3. Regime & Drift (Context Engines)
These functions are not MAs themselves, but rather engines to *drive* other MAs.
##### \#\#\# `fia()` (Fit Integrator)
* **Purpose:** Provides a single "regime" score (0-1) answering, "How good is this trend quality?"
* **Logic:** Blends `R²` (linearity), `ADX` (strength), and the **Hurst Exponent** (persistence/memory). A high score means the trend is strong, linear, and *likely to continue* (H \> 0.5).
* **How to Use:** This is the *primary input* for `dfa()` and `aria()`.
* `float fit_score = SmartMA.fia(14, 20)`
##### \#\#\# `dfa()` (Drift & Fit Average)
* **Purpose:** The replacement for `ta.linreg_slope`. It calculates the "fit-aware" velocity of price.
* **Logic:** It blends the slope of `ZLEMA` (fast, low-lag) with the slope of `ta.linreg` (smooth, stable). It uses the `fit_score` from `fia()` to decide the blend.
* **How to Use:** Use this to power your `X Ω` "Forecast Core" (Block 21).
* `float forecast_drift = SmartMA.dfa(robust_price(), 20, fit_score)`
* **Result:** Your forecast will automatically accelerate in high-quality trends and slow down/stabilize in choppy, low-fit markets.
-----
### 4\. Quick API Reference (Key Exports)
* `robust_price()`: Use as your `src`.
* `ava(len, profile)`: Simple adaptive volume MA.
* `ava_plus(len, hazard01, squeeze01, profile)`: `ava` gated by risk.
* `avs(len, method, wATR)`: `ATR` replacement (smooth, blended).
* `avs_plus(len, ..., hazard01)`: `avs` gated by risk.
* `qvs(len, quantile, mode)`: Robust, quantile-based `ATR` replacement (Recommended).
* `avs_asym_ex(len, biasPM1, easeUp01, easeDn01, base, ...)`: Asymmetric bands driven by bias and S/R.
* `fia(lenS, lenL)`: Regime/Fit score 0-1 (R², ADX, Hurst).
* `dfa(src, len, fit01)`: "Fit-aware" slope/drift.
* `aria(len, fit01, hazard01, biasPM1, profile)`: Top-down, regime-aware baseline.
* `wva_plus(len, , anchor1, slot1, anchor2, slot2, profile)`: The "ultimate" dual-anchor, context-aware baseline.
-----
Tìm kiếm tập lệnh với "imbalance"
BUY LOW, BUY MORE, SELL HIGH -BUFFET STRATEGY LITE__________________________________________________________________________
Buy Low, Buy More, Sell High With Buffett Meter (LITE – JTMarketAI)
__________________________________________________________________________
Category: Quantitative Momentum & Liquidity Flow
Author: JTMarketAI
Architecture: Non-Repainting
This strategy accumulates into validated pullbacks during fear cycles, scales intelligently as price declines into liquidity support, and exits when momentum weakens after meaningful run-ups. It uses synthetic higher-timeframe OHLC data (non-repainting), liquidity imbalance confirmation, adaptive KAMA trend logic, RSI validation, and a live Buffett macro valuation gauge.
This is a patient, conviction-based accumulation engine designed for equities.
It is not a scalp bot.
__________________________________________________________________________
Core Features
__________________________________________________________________________
Non-repainting (confirmed bars only)
Synthetic HTF OHLC (no lookahead)
Dynamic trailing exit preserves ~80–87% of peak profit
Bull vs Bear liquidity dominance and flow imbalance
Rolling lowest-low tracking (LLL)
NY-session alignment (default)
Buffett Macro Meter integration
Technical Highlights
Flow-confidence derived from volume-order pressure
Adaptive KAMA smoothing for lower-lag confirmation
Daily > Weekly > Monthly synthetic aggregation
LLL progression display for trend exhaustion
Fully profiler-optimized
Supports averaging down when pyramiding enabled
__________________________________________________________________________
Why It Does Not Repaint
__________________________________________________________________________
All state updates occur only on confirmed bars
Synthetic HTFs built without lookahead
Persistent arrays freeze historical values
Trailing highs updated only after confirmation
No forward-reference to future bars
__________________________________________________________________________
Lite Edition Notes
__________________________________________________________________________
Manual trading focused
Buffett Meter enabled
Up to 20 trades per session
Visual dashboard included
No alerts, automation, or webhooks (PRO unlocks IBKR + TradersPost)
__________________________________________________________________________
Limitations
__________________________________________________________________________
Best on intraday equities (1m–4h)
Designed for US stocks only
High-resource if full visuals enabled
Avoid penny stocks and extremely low-volume tickers
Does not guard against after-hours gaps or major news moves
__________________________________________________________________________
Warnings
__________________________________________________________________________
Contrarian scaling requires discipline and patience
Expect longer-duration trades, not rapid scalps
Use on quality tickers unlikely to permanently collapse
Confirm price behavior outside cash session
Test manually before automating anything
Not suitable for every market environment or asset
Notes on Philosophy
This strategy attempts to accumulate when markets overshoot lower, and distribute after recovery momentum fades. It reflects a patient, value-driven approach built on the principle of buying fear and reducing exposure into strength.
__________________________________________________________________________
Disclaimer
__________________________________________________________________________
For research and educational use only. Not financial advice. Past performance does not guarantee future results. Test thoroughly and use appropriate risk management.
__________________________________________________________________________
Hashtags
__________________________________________________________________________
#buffett #quantstrategy #valuemomentum #accumulation #contrarian #nonrepaint #equitystrategy #swingtrading #liquidityanalysis #synthetichtf #tradingviewstrategy
BUY LOW, BUY MORE, SELL HIGH - MARKET FLOW STRATEGY LITE
TV Description - Buffett Meter Lite
body{font-family:Arial,Helvetica,sans-serif;max-width:900px;margin:32px auto;line-height:1.4} h1,h2{margin:16px 0 8px}
Buy Low, Buy More, Sell High With Buffett Meter (Lite v1283 – JTM)
Category: Quantitative Momentum & Liquidity Flow
Author: JTM
Architecture: Non-Repainting
This strategy accumulates into validated pullbacks during fear cycles, scales intelligently as price declines into liquidity support, and exits when momentum weakens after meaningful run-ups. It uses synthetic higher-timeframe OHLC data (non-repainting), liquidity imbalance confirmation, adaptive KAMA trend logic, RSI validation, and a live Buffett macro valuation gauge.
This is a patient, conviction-based accumulation engine designed for equities.
It is not a scalp bot.
Core Features
Non-repainting (confirmed bars only)
Synthetic HTF OHLC (no lookahead)
Dynamic trailing exit preserves ~80–87% of peak profit
Bull vs Bear liquidity dominance and flow imbalance
Rolling lowest-low tracking (LLL)
NY-session alignment (default)
Buffett Macro Meter integration
Technical Highlights
Flow-confidence derived from volume-order pressure
Adaptive KAMA smoothing for lower-lag confirmation
Daily > Weekly > Monthly synthetic aggregation
LLL progression display for trend exhaustion
Fully profiler-optimized
Supports averaging down when pyramiding enabled
Why It Does Not Repaint
All state updates occur only on confirmed bars
Synthetic HTFs built without lookahead
Persistent arrays freeze historical values
Trailing highs updated only after confirmation
No forward-reference to future bars
Lite Edition Notes
Manual trading focused
Buffett Meter enabled
Limit of 20 trades per session
Buffet Meter dashboard included
No alerts, automation, or webhooks (PRO unlocks IBKR + TradersPost)
Limitations
Best on intraday equities (1m–4h)
Designed for US stocks only
High-resource if full visuals enabled
Avoid penny stocks and extremely low-volume tickers
Does not guard against after-hours gaps or major news moves
Warnings
Contrarian scaling requires discipline and patience
Expect longer-duration trades, not rapid scalps
Use on quality tickers unlikely to permanently collapse
Confirm price behavior outside cash session
Test manually before automating anything
Not suitable for every market environment or asset
Notes on Philosophy
This strategy attempts to accumulate when markets overshoot lower, and distribute after recovery momentum fades. It reflects a patient, value-driven approach built on the principle of buying fear and reducing exposure into strength.
This is edge-based, not “trade every wiggle” logic
“Be fearful when others are greedy, and greedy when others are fearful.” — Buffett
“The stock market transfers money from the impatient to the patient.” — Buffett
Disclaimer
For research and educational use only. Not financial advice. Past performance does not guarantee future results. Test thoroughly and use appropriate risk management.
Hashtags
#buffett #quantstrategy #valuemomentum #accumulation #contrarian #nonrepaint #equitystrategy #swingtrading #liquidityanalysis #synthetichtf #tradingviewstrategy
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)
IFVG ExtendedThis indicator identifies and visualizes "Imbalance Fair Value Gaps" (IFVGs) on a price chart. It highlights these gaps, tracks their evolution, and signals when they are "filled" or "invalidated" by price action. The script is quite advanced, using custom types, arrays, and dynamic drawing.
1. Types and Variables
Custom Types:
lab: Stores label information (x, y, direction).
fvg: Stores Fair Value Gap data, including its boundaries, direction, state, labels, and other properties.
Arrays:
Four arrays track bullish and bearish FVGs, and their "invalidated" (filled) versions.
Signals:
Boolean variables to store if a bullish or bearish signal is triggered.
2. User Inputs and Parameters
Display Settings:
How many recent FVGs to show, signal preference (close or wick), ATR multiplier for gap size filtering, and colors for bullish/bearish/midline.
3. Chart Data
Price Data:
Open, high, low, close, and ATR (Average True Range) are stored for use in calculations.
4. Functions
label_maker:
Draws an up or down arrow label at a given point, colored for bullish or bearish.
fvg_manage:
Checks if any FVGs in the array have been "invalidated" (i.e., price has crossed their boundary). If so, moves them to the invalidated array.
inv_manage:
Manages invalidated FVGs, checking if a signal should be fired (i.e., price has reacted to the gap). Also removes old FVGs.
send_it:
Draws the FVGs and their labels on the chart, using boxes and lines for visualization.
5. Main Logic and Visualization
FVG Detection:
On each bar, checks for new bullish or bearish FVGs based on price action and ATR filter.
Adds new FVGs to the appropriate array.
FVG Management:
Updates the arrays, moves invalidated FVGs, and checks for signals.
Drawing:
On the last bar, clears all previous drawings and redraws the current FVGs and their labels.
6. Alerts
Alert Conditions:
Sets up alerts for when a bullish or bearish IFVG signal is triggered, so users can be notified.
Summary
In short:
This script automatically finds and tracks "Imbalance Fair Value Gaps" on your chart, highlights them, and alerts you when price interacts with them in a significant way. It uses advanced Pine Script features to manage and visualize these zones dynamically, helping traders spot potential reversal or continuation points based on gap theory
Impulse Alert - Supply (Sell) [Fixed]🟥 Supply Zone (Sell) – Institutional Order Block Detector
This custom indicator automatically detects valid Supply Zones (Sell Zones) based on Smart Money Concepts and institutional trading behavior.
🔍 How It Works:
Identifies strong bearish impulsive moves after price forms a potential Order Block
Valid supply zones are plotted after:
A valid rally–base–drop or drop–base–drop structure
A shift in structure or clear imbalance is detected
The zone is created from the last bullish candle before a strong bearish engulfing move
Zones remain on chart until price revisits and reacts
📊 Use Case:
Ideal for traders using Smart Money Concepts (SMC), Supply & Demand, or ICT-inspired strategies
Perfect for scalping, day trading, or swing setups
Designed for confluence with HTF bias and LTF execution
⚙️ Features:
Supply Zone auto-plotting
Customizable zone color and opacity
Alerts when price returns to the zone (retest entry opportunity)
🧠 Tip for Best Use:
Use in confluence with:
HTF Supply zones (manual or other indicator)
Market Structure breaks
Fair Value Gaps or Imbalance zones
Strong impulsive moves from HTF to LTF
🔁 Future Additions (Coming Soon):
Demand Zone detection
Zone strength rating system
Refined zone filters (volume, candle size, etc.)
Alerts for mitigation or invalidation
📌 Created by: Rohit Jadhav | Real-time market trader | YT/Insta - @GrowthByTrading
💬 Feedback? Drop a comment or connect via profile for updates and tutorials!
Apex Edge - VantageApex Edge – Vantage
Quarter-Wick Reversal System | Price Action Based | Non-Repainting | Visual Confirmation Tool
Overview:
Apex Edge – Vantage is a precision price action indicator built to assist traders in identifying high-probability reversal entries — not based on indicators, but on how candles behave at their extremes.
This tool implements a clean, repeatable framework that reflects how I personally trade:
Spot a candle that closes with strong directional intent,
Then wait for a controlled pullback into the outer quarter,
And strike — only if price respects that line.
There’s no magic here — just raw, tactical logic visualized clearly on your chart. It's not designed to predict the market — it's built to respond when price offers you Vantage.
Core Logic:
Dot Detection – Final Quarter Close Candles
A green dot prints below a bullish candle if it closes within the top 25% of its wick-to-wick range.
A red dot prints above a bearish candle if it closes within the bottom 25% of its range.
These dots signify candles that made a strong, deliberate move in one direction — where price was pushed to an extreme and held that extreme into the close. These candles often signal institutional intent or momentum imbalance.
Entry Confirmation – Controlled Wick Rebalance
On the very next candle only, price must wick into the prior dot candle's outer quarter — but must not pass beyond it.
For buy entries, the wick must enter the bottom 25% of the previous green dot candle, but not dip below it.
For sell entries, the wick must reach into the top 25% of the red dot candle, but not exceed it.
This wick into the quarter is seen as a controlled rebalancing — a tactical reaction back into the origin zone before potential continuation.
Arrow Printing – Visual Entry Signal
Once the entry criteria are confirmed, an arrow is printed after the candle closes.
This arrow continues to print on each new candle as long as price does not violate the original entry zone — giving visual confirmation that the trade thesis is still valid.
If price breaks above/below the quarter range, the arrow disappears.
This ongoing confirmation is useful for staying in trades, managing risk, or spotting failed setups early.
Automatic Stop Loss Level
A horizontal Stop Loss line is drawn from the extreme wick of the original dot candle.
For buy entries, SL is placed below the green dot candle's low.
For sell entries, SL is placed above the red dot candle's high.
This provides immediate risk context — perfect for traders using limit orders or looking to scale in.
Coding Logic:
This script uses plotshape() and plot() functions for all visual elements.
Dot candles are identified using quarter-range logic via:
pinescript
Copy
Edit
close >= high - (high - low) * 0.25 // for bullish
close <= low + (high - low) * 0.25 // for bearish
Entry validation logic triggers only on the next candle, using:
pinescript
Copy
Edit
low >= quarterLine and low <= high // for buy entries
high <= quarterLine and high >= low // for sell entries
Arrows and SL lines are plotted only on closed candles, ensuring non-repainting behavior.
alertcondition() is used for real-time alerts on valid buy/sell triggers.
How I Personally Use It:
I wait for a dot to print — this shows directional conviction.
On the next candle, I watch for a tap into the outer quarter.
If the wick meets the criteria and the candle closes, I’ll execute manually at the close of that candle.
As long as the arrow remains on the chart, I know the setup hasn’t been invalidated.
I combine this with market structure, session timing, and liquidity context to build confluence around each trade.
Alerts Included:
Buy Entry Alert: When a green arrow prints (entry confirmed)
Sell Entry Alert: When a red arrow prints (entry confirmed)
These fire once per confirmed signal, allowing you to react in real-time or automate if desired.
Who This Is For:
Manual traders who want clean price-based entries
Anyone who uses market structure, SMC, or liquidity concepts
Traders looking to replace indicators with pure candle logic
Discretionary or semi-systematic traders who want visual tools to guide their decisions
Final Word
Apex Edge – Vantage doesn’t predict price — it shows you where price is offering you control.
This is a surgical tool designed to help you act only when the market gives you a measurable edge — and to stay in the trade as long as that edge holds.
If you're ready to stop chasing trades and start striking from a position of Vantage, then this tool belongs on your chart.
Z-Score Volume with CVD Clustering Script Title:
Z-Score Volume with CVD Clustering & NY VWAP
📘 Description:
This indicator combines statistical volume analysis with order flow confirmation to detect high-probability trade zones and volume-based divergences.
📌 Components:
Z-Score of Volume: Identifies statistically significant volume surges or drops relative to a moving average baseline.
Cumulative Volume Delta (CVD): Gauges net buying vs. selling pressure using high-frequency bid/ask delta.
K-Means Clustering: Applies clustering logic to classify each bar into:
Cluster 2 – Strong Bullish: Z-Score and CVD both strong
Cluster 1 – Divergence / Bull Trap: Z-Score high, but weak CVD
Cluster 0 – Neutral / Noise: No clear alignment
Anchored VWAP (NY Session Open): Confirms market structure and institutional trend bias from 9:30 AM ET forward.
🎯 Suggested Applications:
✅ 1. Trend Continuation Entries (Add-ons):
Look to add to positions when:
Cluster 2 signal occurs
Price is above the NY session VWAP
Price structure has broken out of prior day high/low or range
⚠️ 2. Divergence Detection (Fade Traps):
Cluster 1 signals a bearish divergence (e.g., high volume but weak CVD).
Especially useful when price is failing to stay above VWAP.
Useful for early exits or reversal setups.
📊 3. Volume Profile Confirmation:
Combine with fixed or session-based volume profile tools.
Use Z-Score clusters to confirm volume spikes into low-volume nodes (LVNs) or during imbalance transitions.
📍 4. VWAP Structure Confirmation:
Anchored VWAP acts as a dynamic reference point.
Helps confirm acceptance vs. rejection zones at key institutional levels.
📈 Visuals & Alerts:
Color-coded volume bars show intensity of Z-Score & CVD confluence
CVD Line plots real-time delta bias with green/red coloring
Cluster-based shape markers highlight key bars for actionable signals
Optional: Add alerts for Cluster 2 above VWAP or Cluster 1 below VWAP
⚙️ Customization Options:
Adjustable Z-Score length
Custom anchor timeframe for CVD (e.g., 1D or sessions)
Adjustable max lookback depth
Toggle VWAP inclusion
Extendable to include additional filters: RSI, structure break alerts, etc.
🔧 Ideal Use Cases:
NY session intraday traders (ES, NQ, CL, 6E, FX pairs)
Breakout traders wanting order flow confirmation
Mean reversion traders spotting fake moves
Volume-based scalpers looking for edge on short-term order imbalance
Delta Spike Detector [GSK-VIZAG-AP-INDIA]📌 Delta Spike Detector – Volume Imbalance Ratio
By GSK-VIZAG-AP-INDIA
📘 Overview
This indicator highlights aggressive buying or selling activity by analyzing the imbalance between estimated Buy and Sell volume per candle. It flags moments when one side dominates the other significantly — defined by user-selectable volume ratio thresholds (10x, 15x, 20x, 25x).
📊 How It Works
Buy/Sell Volume Estimation
Approximates buyer and seller participation using candle structure:
Buy Volume = Proximity of close to low
Sell Volume = Proximity of close to high
Delta & Delta Ratio
Delta = Buy Volume − Sell Volume
Delta Ratio = Ratio of dominant volume side to the weaker side
When this ratio exceeds a threshold, it’s classified as a spike.
Spike Labels
Labels are plotted on the chart:
10x B, 15x B, 20x B, 25x B → Buy Spike Labels (below candles)
10x S, 15x S, 20x S, 25x S → Sell Spike Labels (above candles)
The color of each label reflects the spike strength.
⚙️ User Inputs
Enable/Disable Buy or Sell Spikes
Set custom delta ratio thresholds (default: 10x, 15x, 20x, 25x)
🎯 Use Cases
Spotting sudden aggressive activity (e.g. smart money moves, traps, breakouts)
Identifying short-term market exhaustion or momentum bursts
Complementing other trend or volume-based tools
⚠️ Important Notes
The script uses approximated Buy/Sell Volume based on price position, not actual order flow.
This is not a buy/sell signal generator. It should be used in context with other confirmation indicators or market structure.
✍️ Credits
Developed by GSK-VIZAG-AP-INDIA
For educational and research use only.
X HL QA market structure tool designed to frame price action within a defined context of prior session dynamics. It accomplishes this by anchoring a set of reference levels to the high, low, and open prices of a user-specified higher timeframe (e.g., 4H, 1D, etc.) and projecting those levels onto the current chart for ongoing analysis.
At its core, the indicator establishes a reference range—derived from the previous completed instance of the selected timeframe—and overlays this on the current timeframe. This range serves as a foundational structure for price interpretation in the current session.
Building upon this framework, the script constructs a set of symmetrical quadrants (or deviation zones) both inside and outside of the prior range. These include:
The midpoint (EQ) of the prior range
Levels at ±0.25x, ±0.75x, ±1.0x, ±1.5x, and ±2.0x the range height
These levels act as contextual zones that traders can use to interpret price behavior—whether it's consolidating within the prior range, approaching fair value (EQ), or expanding into directional continuation or reversal zones beyond the range.
The script operates in both real-time and historical contexts. On live bars, it dynamically updates the key levels to provide an evolving view of current price positioning. Simultaneously, it supports the display of historical levels for past sessions, enabling robust backtesting and comparative analysis of price behavior relative to previous quadrant structures.
Ultimately, this tool serves as a positional map, helping traders assess where price is trading relative to significant levels from the prior session, offering insights into potential support/resistance, overextension, or mean reversion scenarios.
Key Technical Features
Multi-Timeframe Support:
request.security() is used to pull data from a user-defined higher timeframe regardless of the current chart interval.
Visual Flexibility:
Toggle between "line" and "channel" mode.
Line color, width, and visibility are all user-controlled.
Anchoring Options:
Deviation levels can be calculated from either the previous period's open or its EQ (midpoint), giving flexibility depending on analytical preference.
Efficient Labeling:
Labels are only rendered on the last bar and are automatically cleared and redrawn to prevent duplication.
Label style, size, text color, and background color are all user-configurable.
Trading Application
This indicator is especially suited for:
1. Mean Reversion Strategies
When price moves beyond +1.0 or +1.5 deviations from the EQ or open, it may signal overextension and a potential snap back to the midpoint or range.
2. Breakout Confirmation
Sustained price action beyond ±1.0 levels may indicate trend strength or continuation beyond historical balance zones.
3. Contextual Range Awareness
EQ and Open provide structure from which traders can judge whether price is in a state of balance or imbalance.
Labels offer at-a-glance interpretation of key levels across any chosen timeframe.
4. Fractal and Multi-Session Analysis
Analysts can layer daily, weekly, and monthly versions of this indicator to observe confluence or divergence of higher timeframe structure.






















