Forex Liquidity Map [invincible3]b]Forex Liquidity Glow Map
The Forex Liquidity Glow Map is a visual currency-rotation dashboard designed to estimate where relative strength and trading activity are moving across the major Forex market.
The indicator analyzes all 28 unique currency pairs formed from:
USD, EUR, GBP, JPY, CHF, CAD, AUD, and NZD
Instead of evaluating one pair in isolation, it combines information from every relationship connected to each currency. This produces an aggregated flow score for all eight currencies and helps identify the strongest and weakest areas of the Forex market.
Calculation Model
Each Forex pair is evaluated using:
• ATR-normalized price momentum
• Relative tick-volume activity
• Fast-versus-slow trend structure
• Volatility expansion
• Directional breadth
• Score smoothing
• Flow acceleration
A positive pair score strengthens the base currency and weakens the quote currency. A negative pair score strengthens the quote currency and weakens the base currency.
Each currency’s final score is calculated from its seven connected pair relationships.
Because spot Forex is decentralized, the indicator uses PulseWire broker-feed tick volume as an activity proxy. It does not represent centralized institutional order flow.
Forex Liquidity Map
The circular map displays the eight major currencies as nodes.
• Node value: Aggregated currency-flow score
• Node size: Average relative activity across connected pairs
• River direction: Weaker currency toward stronger currency
• River width: Estimated strength of liquidity rotation
• River color: Leading currency in that relationship
• Arrow: Direction of relative capital rotation
A positive score indicates relative strength or estimated inflow. A negative score indicates relative weakness or estimated outflow.
Water Flow Matrix
The scatter matrix shows each currency according to:
• Horizontal position: Current flow score
• Vertical position: Flow acceleration
• Bubble size: Relative pair activity
• Bubble color: Currency identity
The four matrix conditions are:
• Accelerating inflow: Positive flow with positive acceleration
• Weakening inflow: Positive flow with negative acceleration
• Accelerating outflow: Negative flow with negative acceleration
• Weakening outflow: Negative flow with positive acceleration
This helps distinguish a currency that is merely strong from one whose strength is actively increasing.
Dashboard and Pair Ranking
The dashboard includes:
• Currency strength ranking
• Current flow score
• Relative tick activity
• Momentum condition
• Inflow, outflow, or balanced status
• Ranked breakdown of all 28 Forex pairs
• Strongest and weakest currencies
• Best relative-strength pair
• Market confirmation percentage
• Current Forex-rotation regime
For example, when GBP is the strongest currency and AUD is the weakest, the dashboard may identify GBPAUD as the primary relative-strength opportunity.
Update Modes
Confirmed bars only uses completed calculation-timeframe candles. The rivers, matrix, rankings, and signals remain fixed while the current candle is forming.
Live uses the active candle and updates as price and tick volume change. This provides faster information but may change before candle close.
Confirmed mode is recommended for stable analysis and alerts. Live mode is intended for intrabar monitoring.
Display Features
• Responsive bar-index geometry
• Stable layout across intraday and higher timeframes
• Dark and Bright theme presets
• Fully opaque dashboard cells
• High-contrast currency colors
• Adjustable map and matrix dimensions
• Adjustable river threshold
• Optional arrows, glow, tooltips, tables, and signals
• Configurable PulseWire Forex-feed prefix
Interpretation
The indicator is most useful for:
• Finding strongest-versus-weakest currency combinations
• Confirming directional pair setups
• Monitoring broad Forex rotation
• Detecting strengthening or weakening flows
• Avoiding pairs where both currencies have similar strength
• Comparing pair-level movement with broader currency-level confirmation
The output should be used as a market-structure and relative-strength tool , not as a standalone entry system.
Execution decisions should also consider price structure, volatility, liquidity conditions, risk management, and scheduled economic events. Indicator

Zone Flow S/R StrategyZone Flow S/R Strategy
📌 Strategy Overview
Zone Flow is a multi‑timeframe support/resistance strategy that uses dynamic pivot‑derived zones to identify high‑probability reversal and breakout setups.
Unlike static support/resistance lines, this 9‑level zone system (R4–R1, P, S1–S4) automatically adapts to market structure changes at each new period (Daily/Weekly/Monthly). Each zone has a configurable width (Percentage, ATR, or Fixed) to account for volatility, and a breakout threshold to filter out minor wicks.
# Unique Synergy
Most pivot strategies treat levels as static lines, leading to false breakouts. Most engulfing strategies ignore the bigger picture, catching falling knives. This strategy solves both problems by combining these components in a specific sequence:
1- Dynamic Zones + Gap State Machine (The Context)
Instead of just drawing lines, we create zones (R1-R4, P, S1-S4) with adaptive width. More importantly, the Gap State Machine tracks which gap price sits in (e.g., between R1 and Pivot). This tells us exactly where we are in the market structure. If price moves from upper Gap to lower Gap, the strategy instantly switches sentiment from Bullish to Bearish.
- Why this matters: It prevents the strategy from trading blindly; it only trades when price is transitioning between structural levels, and price retrace to the zone drastically reducing false signals in the middle of nowhere.
2- Pin Bar Sweep + Engulfing Combo (The Momentum Trigger)
A standard pin bar alone is a weak reversal signal. A standard engulfing pattern alone is common. However, when a Pin Bar sweeps the N-bar high/low (proving a breakout attempt failed) and is immediately followed by an Engulfing pattern on the next candle, this combo represents a "double confirmation" of exhaustion.
Crucially, this specific combo overrides the EMA confirmation.
- Why this matters: Strong momentum sweeps often happen against the short-term EMA trend. By allowing this specific combo to bypass the EMA, the strategy captures powerful reversals that pure trend-following strategies miss.
3- Dynamic Zone Width (The Volatility Adaptation)
Instead of using fixed support/resistance, the zone width changes based on the selected Period's ATR or Percentage.
- Why this matters: This ensures the strategy scales perfectly across any asset (Gold, Crypto, Forex) without manual width adjustments, making it robust across different volatility regimes.
4- Selective Zone Activation (The Manual Override)
Unlike standard pivot systems that force trades on every level, the Zone Selection inputs allow users to disable specific zones (e.g., turn off R3 if price often fakes out there or turn off S4 market is always get exhausted lower probability trade).
- Why this matters: This turns the strategy from a rigid algorithm into a customizable framework where the user can apply their own discretion based on historical price behavior.
5. Hierarchical EMA Architecture (The Structural Governor)
This strategy does not treat all EMAs equally. It uses a two-tier EMA system with a strict hierarchy:
Lower TF EMA (Optional & Overrideable): The Lower TF EMA on the current timeframe acts as a micro-trend filter. However, as explained above, the Pin Bar Sweep + Engulfing Combo can override this filter. Why? Because strong institutional reversals often happen against the short-term trend, and we want to capture them.
Higher TF EMA (Absolute & Non-Negotiable): Higher TF EMA on the selected Higher Timeframe acts as an "Absolute Structural Governor." Unlike the lower EMA, this filter cannot be overridden by any pattern.
For Long entries: Price must be above this HTF EMA.
For Short entries: Price must be below this HTF EMA.
Most strategies either ignore the HTF entirely. By making the HTF EMA absolute and the LTF EMA overrideable, this strategy achieves the perfect balance:
The HTF EMA prevents catastrophic drawdowns by keeping you on the right side of the bigger trend.
The LTF EMA override allows you to catch sharp, high-probability reversals within that trend without being delayed by a slow-moving micro-filter.
6. Optional Risk Architecture (The Management Layer)
The strategy includes a built-in partial-take-profit and breakeven module. By default, this module is disabled to provide a clean, straightforward 1:3 risk-reward backtest without the complexity of multiple exit orders.
This default setting allows users to evaluate the core entry logic (zones + patterns) without interference from partial exits.
However, for traders who want to reduce psychological pressure or manage Gold's notorious retracements, they can enable Allow Breakeven and Allow Partial TP. When activated, the strategy closes a percentage of the position (e.g., 50%) at a lower R:R threshold (TP1) and moves the remaining position to breakeven—locking in early profits while letting the rest of the trade run.
# Zone Calculation
The strategy calculates 9 zones using a modified pivot point formula from the selected period (Daily, Weekly, Monthly, Quarterly, Yearly):
The pivot formula can be one of 5 methods: Classic, Fibonacci, Woodie, Camarilla, or DM.
The Classic Pivot (shown below) is the most widely used and serves as the default:
Pivot (P) = (H + L + C) / 3
R1 = (2 × P) – L
S1 = (2 × P) – H
R2 = P + (H – L)
S2 = P – (H – L)
(R3, R4, S3, S4 are logical extensions of this same principle)
Additional Methods (Briefly Explained):
Fibonacci: Uses the golden ratio multipliers (0.382, 0.618, 1.000, 1.618) to place support/resistance levels between the pivot and the high/low range.
Woodie: Gives extra weight to the closing price (Formula: P = (H + L + 2C) / 4), making it more sensitive to the current session's momentum.
Camarilla: Uses multipliers based on the previous range to place levels very close to the current price, ideal for range-bound trading and scalping.
DM: Adjusts the pivot formula conditionally based on whether the close was higher or lower than the open, making it adaptive to daily sentiment.
From these, the strategy derives:
- 4 Resistance Zones (R4, R3, R2, R1) – above the pivot
- 1 Pivot Zone (P)
- 4 Support Zones (S1, S2, S3, S4) – below the pivot
Each zone is expanded by a Zone Width to create a buffer, making the levels more practical.
# Zone Width Calculation
Three modes:
- Percentage – zone width as a percentage of current price
- ATR Multiplier – width = ATR × Multiplier
- Fixed – fixed price distance
# Gap Index Mapping (0–9):
Gap 0 – Above R4 → Aggressive (no trades)
Gap 1 – Between R4 and R3 → Bearish near R4, Bullish near R3
Gap 2 – Between R3 and R2 → Bearish near R3, Bullish near R2
Gap 3 – Between R2 and R1 → Bearish near R2, Bullish near R1
Gap 4 – Between R1 and Pivot → Bearish near R1, Bullish near Pivot
Gap 5 – Between Pivot and S1 → Bearish near Pivot, Bullish near S1
Gap 6 – Between S1 and S2 → Bearish near S1, Bullish near S2
Gap 7 – Between S2 and S3 → Bearish near S2, Bullish near S3
Gap 8 – Between S3 and S4 → Bearish near S3, Bullish near S4
Gap 9 – Below S4 → Aggressive (no trades)
Based on the gap index and price action, the strategy sets allowLong or allowShort – and displays the status on the info table.
Market Status Displayed:
- Bullish – near support zones; long trades allowed
- Bearish – near resistance zones; short trades allowed
- Waiting – new period started; zones recalculating; no trades
- Aggressive – above R4 or below S4; no trades
- Zone disabled – manually disabled zone; no trades
# Entry Signals
1. Engulfing Patterns
Detects bullish and bearish engulfing with filters:
- Body Only – if true, only bodies must engulf (not full range)
- Min/Max Range – can be Percentage, ATR Multiplier, or Fixed
- Gap Allowance – max price gap between previous close and current open
- Previous or Prior Candle – at least one of the last two candles must be the opposite. color (bearish for bullish engulf; bullish for bearish engulf).
This is not a random condition. The strategy only considers trades when price is near a strong structural zone (support/resistance). Because the zone itself provides the primary context for a potential reversal, the immediate previous candle does not need to be strictly opposite in color.By relaxing the requirement to "at least one of the last two," the strategy captures valid reversals at key levels that a strict, textbook rule would miss—while remaining highly selective because it only trades near strong zones.
2. Pin Bar + Engulfing Combo (EMA Override)
Identifies hammers/shooting stars with:
- Wick/Body Ratio (Wick 3× body)Requires a clearly defined pin bar with a very small body.
- Max Body/Range (Body is at most 20% of range) Ensures the body is genuinely small relative to the total range. This is the textbook definition of a pin bar/hammer. Captures true rejection candles.
- Min Wick/Range (70% of range) This is the classic pin bar definition. A 70%+ wick means price aggressively rejected the level and reversed.
- Sweep Lookback – bullish pinbar must break the lowest low of the previous N bars;
bearish must break the highest high
a pin bar that sweeps a recent extreme (lookback) and the very next candle forms an engulfing pattern in the same direction. This combo overrides the Lower TF EMA confirmation – a unique feature that captures strong momentum after a sweep.
Combined Entry Requirements
All of the following must be true:
1. Valid engulfing or pin+engulf combo
2. Pattern occurs near a zone (open inside zone boundaries or crossing it)
3. Market status aligns with trade direction
4. Daily trade limit not exceeded (default: 2)
5. Relevant zone is enabled
6. Price is on the correct side of EMAs (unless overridden by combo)
7. HTF EMA confirms (if enabled)
8. RSI not overbought/oversold (if enabled)
9. Not within the no‑trade window (if enabled)
-----------------------------------------------------
# Confirmation Filters
Current TF EMA – ensures micro‑trend alignment. Overridden by pin+engulf combo.
Higher TF EMA (default 150 on 1H) – filters out counter‑trend moves in the bigger picture.
RSI – prevents buying above 70 and selling below 30.
Bollinger Bands – blocks trades when volatility is too low (BB width below threshold).This filter is specifically designed for assets that range heavily—choppy, sideways markets.
No‑Trade Window – avoids end‑of‑day volatility (active only for timeframes ≤15min).
# Risk & Position Management
1- Position Sizing:
- Risk per trade – percentage of equity for first trade, separate for second
- Position size = (Account Risk) / (Entry – SL distance).
- Second trade does not increment the daily trade counter:
This is a deliberate design choice. The daily trade counter tracks new trade initiations, not total positions. The second trade (pyramiding) is considered a continuation of the existing position, not a new independent decision. This ensures the strategy can scale into strong trends without consuming the daily limit, while still respecting the maximum number of new entries per session.
2-Stop Loss Options:
- Low-High – entry bar low/high ± buffer Tight, reactive stops. Best for scalping or when you want the SL to follow the immediate price action of the entry candle.
- Swing high/low – N-bar low/high ± buffer Broader, structural stops. Ideal for swing trading or when you want the SL to respect recent market structure rather than a single bar.
- Zone – zone boundary ± buffer Structural stops aligned with pivot levels. Best when you want the SL to be placed exactly at the structural support/resistance level that defines the trade.
- Fixed distance – fixed price distance Simple, static stops. Useful when you know your exact risk tolerance in dollar/pip terms and want a consistent SL distance regardless of volatility.
- ATR Multiplier – entry ± (ATR × multiplier) Volatility-adaptive stops. Best for Gold's changing volatility—widens during news/high volatility, tightens during calm periods.
3- Take Profit:
- Main R:R ratio – main R:R ratio (default 1:3), plus optional partial TP and breakeven at a lower R:R ratio.
- Partial TP – close a percentage of position at a lower R:R (TP1)
- Breakeven – optionally move stop to entry at TP1
4- Trade Counter Reset:
- For TF ≤ 15m: resets at NY (9:30 AM) and London (3:30 AM) starts (configurable)
This aligns with Gold's session-specific volatility and allows fresh participation in each session while preventing over-trading within a single session.
- For TF > 15m: resets once per day at session start (Every new day) Session-specific behavior is less relevant on higher timeframes, and a simple daily cap is more appropriate for swing trading.
5- No‑Trade Window:
- Avoids high‑volatility periods (e.g., end of day)
- Active only for TF ≤ 15m (16:00 PM – 18:30 PM NY time, configurable) End-of-day volatility spikes can cause excessive slippage and erratic price action on short timeframes. on TF > 15 The window is too short to be meaningful; higher timeframe traders are less affected by brief volatility spikes.
6- Session Close:
- TF ≤ 15m: can close at day end and/or week end (configurable). Scalping trades on 1m–15m charts typically last minutes to a few hours. These trades are highly sensitive to Overnight gaps, Weekend gaps
- 15m < TF ≤ 10h: only week end. Swing trading on 30m–4H charts typically lasts hours to several days.
- TF > 10h: feature disabled. Position trading on daily+ charts lasts days to weeks. These trades aim to capture large macro moves.
# Chart Display
- Zone boxes – semi‑transparent red/pink with labels (R4…S4), auto‑cleanup (max 55 periods)
- Trade management lines – entry (white), SL (red), TP (green), TP1/breakeven (dashed),
with green/red fills; auto‑cleanup ((4) * max 125)
- Info table (top‑right) :
1. shows Market Status(Bullish/Bearish/Aggressive/Waiting).
2. EMA confirmations.
3. Zone Width, Breakout threshold.
4. Engulf range max min.
5. SL settings(SL refrence, sL bufer)
- EMA plots – light blue (lower TF) and light red (higher TF)
- Signal shapes – hidden by default (can be enabled via style settings)
- arrowdown shapes - "Reset trade counter"
- Background 1 color – yellow during no‑trade window
- Background 2 color – white close all position on week/day end.
UI Note: Inputs are hidden from the status line to keep your chart clean. All settings (zones, EMAs, risk, patterns) remain fully adjustable in Settings → Inputs.
# Default Settings – Optimized for XAUUSD (Gold)
All default values have been calibrated specifically for Gold's typical volatility and intraday structure.
(Setting : Default : Why This Works for Gold)
----------------------------------------------------------------------------------------
Period : Daily : Gold respects daily highs/lows as key structural levels.
-----------------------------------------------------------------------------------------
Pivot Type : Classic : Most widely used and reliable for Gold.
-----------------------------------------------------------------------------------------
Zone Width : ATR (0.053× ATR(14)) : ATR(14) provides a stable, week-to-week view of Gold's volatility (roughly two trading weeks of data).Adapts to Gold's daily volatility (Zone Width often $4–$10 range).
-----------------------------------------------------------------------------------------
Breakout Threshold : 7% of zone width : Zone width ≈ $3.00–$10.00 (Daily ATR × 0.053). 7% ≈ $0.21–$0.70 (21–70 ticks)—filters noise wicks, captures genuine breaks.Prevents false transitions caused by standard stop-hunting wicks
-----------------------------------------------------------------------------------------
Engulfing Range : ATR(14) (0.375× – 2.5×) : ATR(14) sits in the "sweet spot"—responsive enough to capture shifts in Gold's volatility relatively quickly, yet long enough to smooth out the daily noise and provide a reliable, consistent measure. Captures meaningful moves $3–$15—ensures candle has enough size to be meaningful, rejecting tiny $0.30–$0.50 noise patterns, while filtering out massive blow-off spikes (> $20–$25 on 15m).
-----------------------------------------------------------------------------------------
Pin Bar Sweep : 12 bars : 12 bars – Calibrated for Gold's 3-hour intraday cycle and session transitions. Long enough to capture genuine liquidity grabs, short enough to avoid outdated levels.
-----------------------------------------------------------------------------------------
Risk per trade : 2% (1st), 1% (2nd) : Balances risk with Gold's occasional false breakouts. For Gold's volatile nature, 2%-1% provides the best balance between survival and growth.
-----------------------------------------------------------------------------------------
Risk:Reward : 1:3 : Gold routinely moves 1.5–2× its ATR in a single directional push. A 1:3 target is well within Gold's typical daily range.
-----------------------------------------------------------------------------------------
Stop-Loss Reference : ATR Multiplier : For Gold's volatile nature, a static stop-loss (Fixed or Low-High) cannot adapt to changing volatility. ATR-based SL scales with market conditions—widening during high volatility (news, session opens) and tightening during calm periods. This ensures the stop-loss is always "fair" relative to current market conditions, preventing premature stops during normal volatility spikes
-----------------------------------------------------------------------------------------
Stop-Loss Multiplier : 1.8× ATR(14) : A 1.8× ATR(14) stop-loss represents 1.8 times Gold's average 14-period range. Why 1.8× and not 2.0× or 1.5×? Backtesting revealed that 1.8× is the "sweet spot"—wide enough to survive Gold's normal volatility spikes without being stopped out by noise, yet tight enough to limit losses
-----------------------------------------------------------------------------------------
Current TF EMA : 21 (Enabled, Overrideable) : On 15m chart = 5.25 hours—perfectly captures Gold's average intraday move length. Can be overridden by Pin Bar + Engulfing Combo to catch institutional reversals that occur against the short-term trend.
-----------------------------------------------------------------------------------------
Higher TF EMA : 150 on 1H : On Gold, a 150-period EMA on a 1H chart represents roughly 6.5 days (one full trading week) of data. By making this filter absolute, the strategy guarantees it will never take a counter-trend trade against the weekly macro-structure.trend.
-----------------------------------------------------------------------------------------
Filter (RSI) : length 12 : Most traders default to RSI(14), but RSI(12) is intentionally faster for Gold's volatile intraday moves. Gold often spikes into overbought/oversold territory and reverses quickly. A 12-period RSI reacts ~15% faster than RSI(14), catching these reversals earlier while remaining smooth enough to avoid excessive whipsaws.
-----------------------------------------------------------------------------------------
Filter (Bollinger Bands) : Disabled by default : Gold is historically a trending asset with strong directional moves. A low-volatility filter would unnecessarily block valid entries during these trends. Designed for range-bound assets (choppy crypto, certain forex crosses)—enable it only if your market consolidates heavily.
-----------------------------------------------------------------------------------------
These values are a starting point – you may adjust them for other assets or personal risk tolerance.
# Important Notes on Backtest Realism
- Commission – Most ECN/raw-spread brokers charge $3.00–$3.50 per side (round-turn commission of $6.00- $7.00) for 1 standard lot (100 oz) of XAUUSD. Standard accounts usually build the fee into a wider spread instead of charging a separate cash. This strategy deducts $3.50 per entry and $3.50 per exit ($0.035 × 100 oz)round-turn commission of $7.00. Adjust this to match your broker's exact fees.
- 4 ticks Slippage - For XAUUSD, 1 tick = $0.01 per ounce. 4 ticks = **$0.04 per ounce (unit)**. Accounts for real-world price . Prevents overly optimistic backtest equity curves.
Always adjust the commission value to your broker's exact fee structure before relying on the results.
"A backtest without realistic commission and slippage is a fantasy. A backtest with realistic commission and slippage is a truthful reflection of what you can expect when trading live."
- Intra-Bar Execution: The strategy uses calc_on_every_tick = true, meaning it recalculates on every price tick during real-time trading. This allows the breakeven and partial TP logic to trigger immediately when price hits TP1, protecting the trade from intra-bar reversals.
Note: Backtests use OHLC data only, so intra-bar fills and breakeven triggers cannot be perfectly simulated. Real-time performance may differ from backtest results due to this limitation
# The Core Innovation (Why This Isn't Just a Mashup)
This strategy is built on a three-layer validation system. Each layer solves a specific problem that the other layers cannot solve alone.
Layer 1 (The Structure): Dynamic Pivot Zones
Layer 2 (The Trigger): Pin-Bar Sweep + Engulfing Combo
Layer 3 (The Execution): Gap State Machine
Here is how they interdepend to create a unique edge:
1. Adaptive Pivot Mathematics (The "Regime Matching" Logic)
Instead of offering multiple pivot types just for the sake of it, this strategy provides them so the trader can match the mathematical formula to the market's current behavioral regime:
Why this matters: Most strategies lock you into one formula. This strategy acknowledges that price dynamics change, and it gives you the mathematical weapon to adapt without rewriting the entire code.
2. The "Liquidity Grab" Trigger (Sweep + Engulfing Combo)
This is the most critical edge of the strategy. A standard Engulfing pattern is common. A standard Pin Bar is common. But when they occur sequentially—a Pin Bar that sweeps the 12-bar extreme, immediately followed by an Engulfing candle—it represents a textbook institutional "liquidity grab."
- The Logic: Large players often push price to sweep obvious stop-losses (above highs or below lows) before reversing the trend.
- The Override: Crucially, this specific combo overrides the Lower TF EMA confirmation.
- Why this is a breakthrough: Standard trend-following strategies with a hard EMA filter will miss these reversals because price is moving against the EMA in the short term. By programming this specific override, the strategy captures the exact moment of institutional reversal—catching the move before the EMA flips and the trend-followers finally enter.
3. The Gap State Machine (Dynamic Sentiment Tracking)
Unlike static support/resistance scripts that just plot lines and wait for touches, this strategy features a state machine that tracks which of the 9 gaps (between R4-R1, Pivot, S1-S4) the price currently occupies.
- The Mechanism: A Breakout Threshold (default 7% of zone width) acts as a "dead-zone" filter. Price must exceed this threshold to officially transition from one gap to another.
- The Alpha: This prevents the strategy from whipsawing during minor noise. When price crosses from Gap 4 (between R1 and Pivot) into Gap 3 (between R2 and R1), the strategy instantly and autonomously switches market status from "Bearish" to "Bullish" or vice versa.
4. Selective Zone Activation (Strategic Discretion)
- This strategy allows the user to completely disable specific zones (e.g., turn off R3).
- The Value: By disabling a weak level, the user forces the strategy to wait for the next stronger level, instantly increasing the win rate and filtering out historically weak signals without altering any other code.
5. Non-Invasive Risk Architecture (Clean Defaults)
For traders who want to reduce psychological pressure or optimize for Gold's notorious retracements, they can enable these modules. When activated, the strategy closes % of the position at a lower R:R threshold and moves the remaining position to breakeven—locking in profits while letting the rest run.
In Summary: The "Mashup" Justification
This is not a random collection of indicators.
1. The State Machine provides the structural context.
2. The Pin+Engulf combo provides the high-conviction trigger that overrides slow-moving filters.
3. The Selectable Pivot Types provide the mathematical adaptability to different assets.
4. The Selectable Zones provide the manual discretion to avoid historical losing levels.
5. The Disabled TP/BE by default provides a clean baseline for evaluating the core logic.
Author: Awab_Hassan
Strategy

Ultravol Matrix - volume spike heatmap [GF4M]Ultravol Matrix - cross-exchange volume spike heatmap
❗️Reason for displaying two indicators together on the main chart:
🔗 Use together for reading volume — Ultravol, Ultravol Matrix are originally built as one indicator, split in two due to Pine's 64-plot limit & multi-pane drawing limit. (same language by UV-scaled color): Ultravol Matrix reads vol spike history, Ultravol reads live.
❗️Per PulseWire's policy that each script's description must be self-contained on its own, the Ultravol engine description common to both Ultravol and Ultravol Matrix is repeated across both indicators' descriptions.
───────────────────────────────────────────────
🔶 PROBLEM
On a standard chart, volume is just numbers and bars, so to know how much weight is behind the current candle's move, you have to scan the whole chart yourself and judge relative size. Doing that instantly during live trading takes intuition built through long training. This problem is worse in crypto: since the same asset trades on dozens of exchanges at once, looking at a single exchange's volume alone doesn't show where the real volume spike actually is. I came to think there were two important points.
1. (Common) How much does this volume mean in the market as a whole?
Every asset has a normal, average scale at which it typically trades. If far more trading is happening than that, the asset is drawing attention right now. Conversely, even when candles look active and volume keeps increasing, if it stays below the whole-market average, it is actually a minor move. In other words, it should be readable instantly against the whole market — not against the immediately preceding period.
2. (Multi-exchange asset) Is this a market-wide event, or a local event on one exchange?
For an asset traded on dozens of exchanges at once, as in crypto, even a very large exchange's volume spike alone won't move the price much — because the remaining exchanges still hold volume that can't be ignored. The same spike means something completely different depending on whether it happens across many exchanges at once or only locally — and neither a single exchange's volume, nor a simple aggregate of them, shows this difference clearly (it ends up buried under the pattern of whichever pair has overwhelming volume, like Binance).
🔷 SOLUTION
1. (Common) The whole chart's accumulated average volume is extracted as a base line, and each bar's ratio to it is standardized into a common UV-scaled color. For crypto, one step further — the volumes of 12 major exchange pairs are each weighted by importance and composited into one Final Synthetic UV volume, used as the main volume. This way, every visual element on the chart can be drawn based on one common scale. This is Ultravol.
2. (Multi-exchange asset) The volume spike history of each of those same 12 sources, before Ultravol composites them into one, is decomposed along the time axis using the same UV-scaled color, so you can see at a glance whether the current spike spans the whole market or is local. This is Ultravol Matrix. (Originally one indicator, but split into two because the number of plots needed exceeded Pine's limit (64-plot) — the core engine is the same.)
Volume can now be perceived instantly. Candles carrying below-average volume stay dark and featureless; candles carrying above-average energy render brighter and more intense. The screen looks quiet when the market is quiet, and busy when it is busy. And this color grammar reads the same way on any asset, any timeframe — because the reference is always that market's own whole-history average. This indicator set can fully replace ordinary candles and volume charts.
🔷 Ultravol Core Engine: Processing Diagram
🟣 Full engine mechanics (Master GATE scheduling, coin-unit correction, per-exchange trust weighting, auto listing-join) are documented in the Appendix — see origin indicator .
───────────────────────────────────────────────
Ultravol Matrix - cross-exchange volume spike heatmap
✨ Gives you an insight into hidden, cross-exchange volume spike flow — by color, instantly!
Across many crypto exchanges, Ultravol Matrix curates 12 pairs (spot + perp) — Each exchange's volume, reverted to native base. → normalized to its own signature. → Rendered on the same UV-defined color scale. → Spike flow patterns (not absolute volume) can be compared directly across history in one matrix.
📘 Strong trends begin with cascading vol spikes across all exchanges.
📗 A perp vol spike with no spot participation (all or a single perp pair) is often just a futures liquidation cascade.
📙 Track vol spike trends by exchange. Who is trending? Alone? User base? Region? Spot or Perp? All together?
📕 Trending vol spike sequence — drop to lower TF (1m or seconds) to read the order in detail.
✨ Ultravol Matrix Engine:
Its own unique method. 12-pair per-exchange UV-scaled color leveling is crypto-exclusive.
🔹 How to read it
🔗 The time-axis extension of Ultravol — same language by UV-scaled color: Ultravol Matrix reads history, Ultravol reads live.
🔹 You can easily spot mass volume that's concentrated in a single exchange.
🔹 All together or single spike trending.
🔹 For altcoins, even on the 5m and 15m timeframes, persistent long spikes tend to occur on only a few individual exchanges. This behavior is less frequent in major cryptocurrencies like BTC or ETH. (It is recommended to familiarize yourself with the volume spike patterns of your specific trading pairs in advance.)
Setup Panel
☑ 📱 : Mobile friendly UI setup
• Source : Ultravol (Auto) fixed
• Rescale : Only for extremes, too 🔥 or too ⚫️
Especially for altcoins, the market heats up significantly during trending phases. Consequently, if the heatmap temperature rises to a point where chart variations become difficult to distinguish, lowering the rescale option by -1 or -2 makes it easier to discern the intensity differences on the screen. (In this case, the adjusted value is temporarily displayed in the bottom-right corner.)
🔸 Hover over the nametag for symbol info.
🔸 Maximize the pane (or drag it taller) for detailed matrix flow.
Matrix's volume spectrum is compressed using a separate log-based clamp to fit within a low-height panel. Read it only as relative magnitude — judge volume spikes by color, not by bar height.
⚠️ Required setting: In order to vertically align the Name tag (on matrix)
⚙︎ > Chart option > Canvas > Margins > Top: 0% Bottom: 0% Rights: 50bars
Indicator

Ultravol - correct market volume [GF4M]Ultravol - correct market volume
❗️Reason for displaying two indicators together on the main chart:
🔗 Use together for reading volume — Ultravol, Ultravol Matrix are originally built as one indicator, split in two due to Pine's 64-plot limit & multi-pane drawing limit. (same language by UV-scaled color): Ultravol Matrix reads vol spike history, Ultravol reads live.
❗️Per PulseWire's policy that each script's description must be self-contained on its own, the Ultravol engine description common to both Ultravol and Ultravol Matrix is repeated across both indicators' descriptions.
───────────────────────────────────────────────
🔶 PROBLEM
On a standard chart, volume is just numbers and bars, so to know how much weight is behind the current candle's move, you have to scan the whole chart yourself and judge relative size. Doing that instantly during live trading takes intuition built through long training. This problem is worse in crypto: since the same asset trades on dozens of exchanges at once, looking at a single exchange's volume alone doesn't show where the real volume spike actually is. I came to think there were two important points.
1. (Common) How much does this volume mean in the market as a whole?
Every asset has a normal, average scale at which it typically trades. If far more trading is happening than that, the asset is drawing attention right now. Conversely, even when candles look active and volume keeps increasing, if it stays below the whole-market average, it is actually a minor move. In other words, it should be readable instantly against the whole market — not against the immediately preceding period.
2. (Multi-exchange asset) Is this a market-wide event, or a local event on one exchange?
For an asset traded on dozens of exchanges at once, as in crypto, even a very large exchange's volume spike alone won't move the price much — because the remaining exchanges still hold volume that can't be ignored. The same spike means something completely different depending on whether it happens across many exchanges at once or only locally — and neither a single exchange's volume, nor a simple aggregate of them, shows this difference clearly (it ends up buried under the pattern of whichever pair has overwhelming volume, like Binance).
🔷 SOLUTION
1. (Common) The whole chart's accumulated average volume is extracted as a base line, and each bar's ratio to it is standardized into a common UV-scaled color. For crypto, one step further — the volumes of 12 major exchange pairs are each weighted by importance and composited into one Final Synthetic UV volume, used as the main volume. This way, every visual element on the chart can be drawn based on one common scale. This is Ultravol.
2. (Multi-exchange asset) The volume spike history of each of those same 12 sources, before Ultravol composites them into one, is decomposed along the time axis using the same UV-scaled color, so you can see at a glance whether the current spike spans the whole market or is local. This is Ultravol Matrix. (Originally one indicator, but split into two because the number of plots needed exceeded Pine's limit (64-plot) — the core engine is the same.)
Volume can now be perceived instantly. Candles carrying below-average volume stay dark and featureless; candles carrying above-average energy render brighter and more intense. The screen looks quiet when the market is quiet, and busy when it is busy. And this color grammar reads the same way on any asset, any timeframe — because the reference is always that market's own whole-history average. This indicator set can fully replace ordinary candles and volume charts.
🔷 Ultravol Engine: Processing Diagram
🟣 Check the Appendix — (16 live feeds/candle · coin-unit correction (1000x-listed coins) · USDT/USDC reference price conversion · Master GATE calc scheduling · per-exchange trust weighting · auto listing-join. Full mechanics + reusable code.)
───────────────────────────────────────────────
Ultravol - correct market volume
✨ Gives you a trained trader's sense for volume — by color, instantly!
📘 Reveal key market energy areas through volume-encoded candles, spectrum layer, v-ray, energy flux, and spike panel by color. A full legacy candle & volume chart replacement.
📗 Final synthetic UV — Across many crypto exchanges, Ultravol curates 12 (spot + perp) — reverted to native base → normalized & weighted by custom criteria, spot summed and perp summed separately (used as Energy Flux source), then combined into one — to read the unified volume flow across the whole market.
📙 Per-exchange UV level on the panel — Each exchange's volume, normalized to its own signature. → Rendered on the same UV-defined color scale. → Current candle's volume spike level (not raw volume) can be compared across exchanges at a glance.
✨ Ultravol engine:
Its own unique method. Synthetic UV (12-pair fusion) and Per-exchange UV-scaled color mark are crypto-exclusive — UV-scaled coloring works on any chart.
🔷 How to read it
It is recommended to check the color reference scheme in the settings panel to understand how candle colors are represented. Once you are familiar with these patterns, you can instantly gauge the intensity of current movements during live trading.
Refer to the historical patterns where rare, massive volume occurred (indicated by sky blue, blue, and purple - When similar volume occurs later, frequently become the Top or Bottom.)
Massive volume spike levels frequently act as strong S/R.
🔷 Basic Screen - check volume by color.
Spike Panel
This panel simultaneously displays the live candle volume in two ways: 1) as an absolute value in the base unit, and 2) as a UV-scaled mark. Users can quickly identify which exchange is experiencing a volume spike based solely on the colored emoji characters.
Status Label
The working mode automatically adjusts based on the selected symbol type and information, with the current status displayed via the label in the bottom-right corner.
Panel setup
☑ 📱 : Mobile friendly UI setup
• Source : Use Ultravol (Auto) normally
• Rescale : Only for extremes, too 🔥 or too ⚫️
☑ V-Ray : Vertical highlight marks on big spike.
☑ Energy Flux : 8 Spot(U), 4 Perp(L)
+ Trending energy balance (Spot vs Perp)
☑ Candles : Chart candle × UV fusion.
Each element—Volume, Volume-encoded Candlesticks (Up/Dn), and Ruler—features its own independent color scheme.
No volume chart color
☑ Spectrum : Synthetic UV from 12 vol src.
+ Instant energy read by UV-scaled color
+ Max height. Move to a pane first.
☑ Panel : Exchange's raw vol (number)
+ Current UV-scaled spike (color mark)
☑ s Smaller UI ☑ ↓ Center-right
☑ ! Wait Long · Act Fast (#1 principle)
🔸 Hover over the panel for detailed info.
Vol src info. & current status notice
Volume spike marking by unique UV-scaled color
Works together as one.
You can see historical spike flow and current spike details at the same time.
🔗 Ultravol Matrix reads vol spike history, Ultravol reads live.
⚠️ Ultravol must be placed at the very front.
(To ensure the correct z-layer order of all graphics, including hybrid override candles, is displayed exactly as intended. )
HELP: Check a tooltip on the setup panel & spike panel.
🟣 APPENDIX — A few notes on what happens inside UV engine.
💊 Master GATE (Calculation scheduling)
This indicator reads 16 external data sources in real time: the volumes of 12 exchange pairs, plus market cap, two stablecoin exchange rates, and the market average price. The computation that follows these calls is substantial. But volume is a simple cumulative value — I do not see immediate tick-by-tick recomputation as essential. So the work is divided into what happens when a candle opens (new), while it is in progress (realtime), and when it closes (confirmed) — and the heavy computation was judged reasonable to run only at fixed intervals during the candle. It is the internal scheduler that keeps the whole indicator responsive, and a precondition for this indicator to work at all.
// 🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦
// MASTER GATE - throttling setup
var bool uv_throttleGATE_required = uv_chart_symbol_crypto_basequotetickvol_flg
varip bool bar_NOTLIVE_flg = false
varip bool bar_GATEbypass_flg = false
bar_NOTLIVE_flg := uv_throttleGATE_required
and barstate.isrealtime and (timenow - (time_close + ((time_close - time)*2)) > 0)
bar_GATEbypass_flg := not (uv_throttleGATE_required and barstate.isrealtime and not bar_NOTLIVE_flg)
const int UV_MASTERGATE_RATE_T_VAL = 160 // ms
varip int uv_MasterGATE_last_t = na // Last GATE Open time = LINUX time ms
varip bool uv_MasterGATEopen_flg = false
uv_MasterGATEopen_flg := bar_GATEbypass_flg
or na(uv_MasterGATE_last_t)
or (timenow - uv_MasterGATE_last_t >= UV_MASTERGATE_RATE_T_VAL)
or barstate.isconfirmed
if not bar_GATEbypass_flg and uv_MasterGATEopen_flg
uv_MasterGATE_last_t := timenow
// MASTER GATE - throttling setup End
// 🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦🟧🟦
You can make this simple throttling GATE. After configuring the GATE operating conditions as shown above, you can apply them to the actual indicator calculation section by utilizing uv_MasterGATEopen_flg like below. It is simple yet effective. (Caution: Given how Pine Script executes, this GATE mechanism provides reasonable computational savings rather than perfect scheduling. For precise control, use it alongside barstate.isnew / isrealtime / isconfirmed)
if uv_MasterGATEopen_flg
s1_color_x := f_src_uv_lv_coloring(s1_uv_lv)
s2_color_x := f_src_uv_lv_coloring(s2_uv_lv)
s3_color_x := f_src_uv_lv_coloring(s3_uv_lv)
s4_color_x := f_src_uv_lv_coloring(s4_uv_lv)
s5_color_x := f_src_uv_lv_coloring(s5_uv_lv)
s6_color_x := f_src_uv_lv_coloring(s6_uv_lv)
s7_color_x := f_src_uv_lv_coloring(s7_uv_lv)
s8_color_x := f_src_uv_lv_coloring(s8_uv_lv)
p1_color_x := f_src_uv_lv_coloring(p1_uv_lv)
p2_color_x := f_src_uv_lv_coloring(p2_uv_lv)
p3_color_x := f_src_uv_lv_coloring(p3_uv_lv)
p4_color_x := f_src_uv_lv_coloring(p4_uv_lv)
🏁 Compositing the 12 exchange pairs
The volumes of 8 spot and 4 perpetual pairs are each converted into base-currency units, then merged into a single weighted volume. Ultravol shows the merged value; Ultravol Matrix shows the per-exchange values before merging, on the same color standard. The list stops at 12 because the volume figures of lower-ranked exchanges are often inflated, and would contaminate the result rather than improve it — the top 12 alone carry roughly 80% of real volume. This part is admittedly subjective; it was curated based on general exchange reputation in the market.
🏁 Unifying coin display units
Some coins — 1000PEPE, 1000SATS — are listed by different exchanges at 1000× or 10000× units (typically the case for extremely low-priced assets). Without reverting these to their original common unit, summing volumes across exchanges loses its meaning. There is no published reference for which exchange lists which coin at which multiple, so each case was verified one by one and built into an internal exception table, matched against the crypto name of the current chart. The symbol tickers used to call the 12 volumes are composed in two ways: (a) coins present in the low-volume table use the values defined there; (b) all other coins are composed per-symbol from 12 predefined symbol templates.
💊 This simple function extract crypto-name from any symbols with 1000x 1000000x
f_crypto_symbol_corekey(_tickerid, _basecurrency) =>
_tickerid_upper = str.upper(_tickerid)
_key = str.upper(_basecurrency)
if str.contains(_tickerid_upper, ":1000000BOB")
_key := '1000000BOB'
else
_prefix = str.match(_key, "^(?:1000000|10000|1000)")
_suffix = str.match(_key, "(?:1000000|10000|1000)$")
if _prefix != ''
_key := str.substring(_key, str.length(_prefix))
if _suffix != ''
_key := str.substring(_key, 0, str.length(_key) - str.length(_suffix))
_key
💊 This simple function extract the multiple number from symbol.
f_crypto_symbol_multiple(_fullname, _corekey) =>
_f = str.upper(_fullname)
_k = str.upper(_corekey)
_k_pos = (na(_k) or _k == '') ? na : str.pos(_f, _k)
_multiple = 1.0
if not na(_k_pos)
_colon_pos = str.pos(_f, ':')
_prefix_start = na(_colon_pos) ? 0 : _colon_pos + 1
_between = str.substring(_f, _prefix_start, _k_pos)
_after = str.substring(_f, _k_pos + str.length(_k))
_pre_num = str.match(_between, "^(?:1000000|10000|1000)$")
_suf_num = str.match(_after, "^(?:1000000|10000|1000)")
_raw = _pre_num != '' ? str.tonumber(_pre_num) : _suf_num != '' ? str.tonumber(_suf_num) : 1
_multiple := na(_raw) ? 1.0 : _raw
_multiple
💊 Coin name exceptions
The crypto names used by PulseWire's CRYPTO: and CRYPTOCAP: feeds quite often differ from the names exchanges actually use (this happens among smaller coins — SLC → SLCS, HYPE → HYPEH, and the like). Each time one was found, it was manually verified to be the same coin and added to an exception list. That exception table is pre-checked on the actual M.CAP and Avg. Price security calls.
This simple function maps standard exchange crypto names to PulseWire's native CRYPTO: , CRYPTOCAP: chart names.
f_crypto_cryptocap_tv_ticker(_uv_chart_crypto_tickerhead_str) =>
// CRYPTO: CRYPTOCAP:
//────────────────────────────────────────────---
// EXCHANGES => CRYPTOCAP // Cypto name
//────────────────────────────────────────────---
result_ticker = switch _uv_chart_crypto_tickerhead_str
'SLC' => 'SLCS' // Silencio
'BABY' => 'BABYL' // Babylon
'HYPER' => 'HYPERL' // Hyperlane
'HYPERL' => 'HYPERL' // 〃
'HYPE' => 'HYPEH' // Hyperliquid
'BOB' => 'BOBBUIL' // Build On Bitcoin
'BOBBOB' => 'BOBBUIL' // 〃
'TAG' => 'TAGG' // Tagger
'TAO' => 'TAOB' // TAO
'TOSHI' => 'TOSHI3' // Toshi
'NEIROCTO' => 'NEIROF' // First Neiro On Ethereum
'NEIRO' => 'NEIROF' // 〃
'NEX' => 'NEXUS5' // Nexus
'RATS' => 'RATS2' // Rats
'CHEEMS' => 'CHEEMSC' // Cheems
'SATS' => 'SATSO' // SATS (Ordinals)
'CAT' => 'CATSI' // Simon's Cat
'TRUMP' => 'TRUMPOF' // Trump official
'USDS' => 'USDS2' // USDS
'MOVE' => 'MOVEM' // Movement
'MOCA' => 'MOCAV' // Mocaverse
'ZORA' => 'ZORA2' // Zora
'BARD' => 'BARDL' // Lombard
'ATH' => 'ATHAE' // Aethir
'SONIC' => 'SONICSV' // Sonic SVM
'KNC' => 'KNC' // Kyber Network
'ZRO' => 'ZROL' // LayerZero
'AMP' => 'AMP2' // AMP
'CHIP' => 'CHIPUS' // USD.AI
'RAVE' => 'RAVED' // RaveDAO
'PROS' => 'PROSPH' // Pharos
=> _uv_chart_crypto_tickerhead_str
result_ticker
💊 G-Index px (Reference market price)
A mix of the current chart's price and the whole-market average price. It is a buffer that keeps the base line from being dragged around by a momentary price jump on a single exchange. G-Index Price operates only when the current chart uses USDT, USDC, or USD as its base unit. -> takes the avg. price provided by TV -> converts it to the current chart's unit by exchange rate.
//⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜
// G-Index PX
//
varip bool g_index_px_works = false
varip float g_index_px = na
var float chart_current_multiple = not uv_chart_symbol_crypto_basequotetickvol_flg ?
1.0 : f_crypto_symbol_multiple(uv_chart_tikerid_str, uv_chart_crypto_tickerhead_str)
var string chart_current_currency = syminfo.currency
float USD2USDT_avg_rate = request.security("CRYPTO:USDTUSD", timeframe.period, ta.sma(hlc3, 3))
float USD2USDC_avg_rate = request.security("CRYPTO:USDCUSD", timeframe.period, ta.sma(hlc3, 3))
bool USDT_is_DEPEG = math.abs(USD2USDT_avg_rate - 1.0) * 100 >= 0.1
bool USDC_is_DEPEG = math.abs(USD2USDC_avg_rate - 1.0) * 100 >= 0.2
var int chart_currency_convert_mode = switch chart_current_currency
'USD' => 1
'USDT' => 2
'USDC' => 3
=> 0
float g_avg_chart_ratio = switch chart_currency_convert_mode
1 => 1.0
2 => (1.0 / USD2USDT_avg_rate)
3 => (1.0 / USD2USDC_avg_rate)
0 => 0.0
var bool chart_currency_convert_no_need = (uv_chart_crypto_tickerhead_str == 'USDT')
or (uv_chart_crypto_tickerhead_str == 'USDC')
or (uv_chart_crypto_tickerhead_str == 'USDS')
or (uv_chart_crypto_tickerhead_str == 'PYUSD')
or (uv_chart_crypto_tickerhead_str == 'USDP')
var string g_index_px_crypto_ticker = 'CRYPTO:' + f_crypto_cryptocap_tv_ticker(uv_chart_crypto_tickerhead_str) + 'USD'
if chart_currency_convert_mode != 0
g_index_px := (request.security(g_index_px_crypto_ticker,timeframe.period, close * g_avg_chart_ratio,gaps=barmerge.gaps_on, ignore_invalid_symbol=true) * chart_current_multiple )
if not g_index_px_works and not na(g_index_px) and uv_volmode_ultravol_task_flg and not chart_currency_convert_no_need
g_index_px_works := true
if g_index_px_works and na(g_index_px) and na(g_index_px )
g_index_px_works := false
//G-Index - end
//⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜🟥⬜
🏁 Listing detection and exception reporting
An exchange that was absent early in the chart and began trading midway is automatically included in the calculation from that point on, and appears on the panel. The top-right panel shows the current bar's volume both as an absolute number (in base units) and as per-pair UV-scaled markings. When an exception occurs — some data not provided on a particular timeframe, for instance — you can hover over the panel to see exactly how the indicator is operating right now. Better to show what is happening than to behave strangely in silence.
🏁 You can check the uv engine (marking area like below) inside code.
// ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜
// Ultravol Core Engine
// ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜
Indicator

Adaptive Volume Confluence OscillatorWhat it is
One pane that fuses seven different reads of the bar into a single 0–100 confluence score, gates that score by a trend-vs-chop regime filter, confirms it against an auto-mapped higher timeframe, and — most importantly — forward-calibrates its own Buy/Sell signals against an unconditional base rate, so you can see whether the construction actually carries an edge on your instrument.
The seven votes: momentum sign · momentum vs its signal · money flow · trend structure (MA fan) · price location vs VWAP · trend slope · higher-timeframe bias.
The displayed wave is a volume-flow ribbon; the votes drive the score, the signals and the verdict. A plain-language verdict and a subtle pane tint make it readable at a glance (Simple view); a full analytic layer is available for advanced users (Pro view).
Why these are combined (mashup rationale)
A single oscillator whipsaws and a single signal over-fires. Combining helps only when the inputs key on different quantities and their agreement is checked. Each vote reads a different thing — momentum, momentum-vs-signal, volume flow, multi-MA structure, location vs a session mean, slope, and a higher-timeframe read — so the count that agrees carries more information than any one of them alone. A Kaufman Efficiency-Ratio regime gate suppresses conviction in chop, and a forward-calibration harness ties the whole construction back to realised forward outcomes.
An honest caveat, stated up front: the votes are not statistically independent. The oscillator itself embeds money flow, and vote 2 is derived from vote 1's series. Treat the score as a weight-of-evidence read, not as seven independent confirmations. The harness exists precisely so you can check whether the construction earns its keep on your instrument rather than taking the claim on faith.
How it works
Score — how many of the seven votes are bullish, scaled 0–100.
Regime — Kaufman Efficiency Ratio. Below the chop threshold, conviction dims, signals are withheld, and the verdict reads "WAIT – choppy".
HTF — the chart timeframe auto-maps to a confirming higher timeframe (~4–6×), requested with lookahead_off and offset by one bar while the live bar forms.
Signals — Buy/Sell fire only when the oscillator crosses its signal at a statistical OB/OS extreme and the score agrees and the regime isn't choppy and the visible wave isn't already at the opposite extreme.
Climax — a volume spike at an OB/OS extreme prints a Possible Bottom/Top exhaustion mark.
Divergence (Pro) — regular + hidden, from confirmed pivots on the momentum oscillator.
Calibration — each Buy/Sell is queued and resolved a fixed horizon later, then compared with the unconditional same-horizon base rate. The dashboard shows, per side: Hit %, Edge = Hit − Base, sample size, and a Wilson-gated star.
How to use it
Read the verdict and the score. Above the gate = bullish weight of evidence; below = bearish; in between, or in chop, the tool says WAIT — and it means it.
Treat Buy/Sell marks as context, not triggers. They already require the score, the regime and the wave to agree, but they remain a description of conditions — not a recommendation.
Read the Edge row before you weight any signal. If Buy/Sell Edge isn't clearly positive with an adequate sample and a star, this construction is not carrying an edge on this instrument — weight it down or ignore it. Do not tune the parameters until the Edge turns green: that is curve-fitting, and the harness is there to catch it, not to be defeated.
Combine with your own levels, structure and risk rules.
Universal across markets
Price / high / low are inputs, so the engine runs on any symbol or timeframe. The volume votes (money flow, climax, VWAP location) need real volume — prefer a futures contract or a stock. On a symbol with no volume the tool degrades gracefully: money flow is neutralised, the score falls back to the price-only votes, and the dashboard says "NO VOLUME", so you're never misled by a blank or a phantom reading.
Non-repainting
Votes read confirmed closes. The HTF series uses lookahead_off and is offset by one bar while the live bar forms. Divergences come from ta.pivot* and confirm a few bars after the pivot; once printed they don't move. The calibration harness logs and resolves only on confirmed bars, so its statistics never inflate intrabar. The live oscillator updates each bar, like any oscillator.
Concept credits
Super Smoother and Ultimate Smoother low-lag filters — John Ehlers. Chebyshev Type-I filter — classical DSP. Recursive (Kalman) smoothing — R. E. Kalman. Volume Zone Oscillator — Walid Khalil & David Steckler. Accumulation/Distribution money-flow multiplier — Marc Chaikin. Efficiency Ratio — Perry J. Kaufman. ATR — J. Welles Wilder. Wilson score interval — Edwin B. Wilson. VWAP, Hull MA and percentile rank — standard public methods.
Original implementation; not affiliated with, nor endorsed by, any third party. No third-party code is reused.
Honest limits
The score is context, not a guarantee, and the votes are correlated (see the caveat above). The Edge figures are in-sample, close-to-close, with overlapping forward windows and no costs — descriptive context, not a verified backtest. An Edge near zero, negative, or unstable across timeframes is the harness honestly telling you the signal has no reliable edge on that instrument. Nothing here predicts price.
Disclaimer
Research and educational tool only. Not financial advice and no guarantee of profitability or accuracy. Indicators describe past behaviour; they do not predict the future. Trading carries risk of loss. Test out-of-sample and make your own decisions. The author accepts no liability for any use of this script. Indicator

Liquidity Divergence OscillatorOverview
Liquidity Divergence Oscillator is a distribution / absorption detector. It estimates liquidity health from Kyle's lambda — the price impact per unit of signed volume — and reads it for divergence against price. When price grinds to a higher high while liquidity health makes a lower high, large participants are often unloading size into strength (a distribution footprint); the mirror — price lower low, health higher low — is absorption. A forward-calibration harness scores whether those price/liquidity divergences have actually followed through on your instrument. It is a flow-structure read, not a signal to trade alone.
Why it is different — not another CVD/volume oscillator
CVD, the A/D line and MFI all measure the direction and amount of flow — who is buying or selling. Kyle's lambda measures something orthogonal: how much price moves per unit of that flow — the depth and fragility of the book. Price pushing to new highs while lambda quietly rises (liquidity thinning) is the classic footprint of size being distributed into strength, and no direction-only flow tool sees it. That impact axis is what makes a liquidity divergence its own, independent read — and it's why this belongs alongside your CVD tools rather than duplicating them. It's also distinct from a liquidity map: this is a standalone divergence oscillator, built to surface the turn, not to chart the shelves.
How the parts work as one tool
Signed volume — sv = volume × sign(price change), a tick-rule aggressor proxy.
Kyle's lambda — Cov(ΔP, sv) / Var(sv) over a rolling window: the regression slope of price change on signed flow, the standard lambda estimator. High = thin/stressed book, low = deep/liquid.
Liquidity health — −z(lambda), smoothed and tanh-squashed to a soft ±100 pane so "liquid vs stressed" reads on a fixed, self-scaling axis (0 = balance, ±50 ≈ a 1.6σ stretch).
Divergence — regular and hidden, from confirmed price pivots against health at those pivots.
Calibration harness — each regular divergence is queued and resolved a fixed horizon later against the unconditional base rate, reporting Hit / Edge / sample and a Wilson-gated star. A divergence class that never beats the base rate here is adding no information — and the dashboard shows that instead of assuming it.
How to use it
Read the oscillator's side and slope — above 0 is liquidity firming, below 0 is liquidity stressed. Treat a divergence mark as context (a distribution or absorption warning), never a standalone entry. Before you weight it, check the dashboard: if the Bull/Bear Edge isn't clearly positive with an adequate sample and a star, that class isn't carrying an edge on this instrument. Signals are marked in the pane and, optionally, on the price chart. Combine with your own levels, trend and risk rules — it describes behaviour; it decides nothing.
Universal & non-repainting
High/Low/Price are inputs, so the divergence engine runs on any series; the lambda estimate needs real volume, so use the futures (a cash index reads "no volume"). Pivots confirm a fixed number of bars after the fact and don't move once printed, and the calibration harness logs and resolves only on confirmed bars, so its statistics never repaint intrabar. The live oscillator updates each bar like any oscillator. Edge figures are in-sample, forward-measured at a fixed horizon, with no costs — a study aid, not a backtest.
Originality
Kyle's lambda and price/oscillator divergence are public; the Wilson interval is Edwin B. Wilson's. What's original is the specific construction: the detrend → z-score → tanh-squash liquidity-health oscillator built off the lambda estimate, the combined regular+hidden divergence engine keyed to it, and the forward-calibration harness that scores each divergence class against its base rate. Clean-room implementation; no third-party Pine code reused.
Concept credits
Price impact / lambda — Albert S. Kyle (1985)
Tick-rule aggressor signing — after the classic trade-sign literature (Lee & Ready)
Wilson score confidence interval — Edwin B. Wilson
Price/oscillator divergence — standard public technical-analysis technique
Disclaimer
Educational / informational only. Not financial advice, not a signal, not a recommendation. The lambda estimate uses tick-rule signed volume — a proxy, not the true tape — so liquidity health is an inference, not an order-book reading. Edge figures are in-sample, forward-measured with no costs. Past behaviour does not assure future behaviour. Markets carry risk. Do your own research and paper-trade before risking capital; you alone are responsible for your decisions.
Indicator

Burst Size Flow Divergence Large vs Small CVDOverview
A single cumulative-delta line tells you net buying or selling, but hides who is doing the pushing. Burst-Size Flow Divergence splits the flow inside each bar by the size of each volume burst — small / medium / large sub-intervals — and runs a separate signed delta on each tier. The signal is the divergence between the large-burst delta and the small-burst delta: concentrated bursts leaning one way while trickle flow leans the other. It is a flow-structure read, not a signal to trade alone.
What this is — and is NOT (read this before using)
This measures activity-burst size, not per-trade size. Pine cannot see individual trades — it sees a bar's volume and, via lower-timeframe requests, the volume of each sub-interval within the bar. "Large" here means a sub-interval that printed a lot of volume relative to normal — not a large single trade, and not "institutional." Institutions deliberately slice big orders into many small child-orders, so burst size is a proxy, not proof of who is behind the flow. The classification is honest about this, and the built-in harness is there precisely to test whether the divergence carries any information rather than to assert that it does.
Why these components are ONE tool (mashup justification)
Each stage exists because the previous one is ambiguous on its own:
Intrabar bucketing. Each lower-timeframe sub-bar is classed small/medium/large by its volume against an adaptive average, so "large" means large for this symbol and session, not a fixed lot count. A fixed threshold would misclassify on every instrument and every volatility regime.
Per-tier directional imbalance. Each tier gets its own signed delta (up sub-bar → +volume, down → −volume), expressed as net ÷ gross in — what fraction of that tier was net buying versus selling. Normalising this way lets the tiers' directions be compared apples-to-apples even though the large tier moves far less total volume than the small one.
The divergence. The large-minus-small spread is the object. Three separate delta lines would just be clutter to eyeball; the disagreement between the concentrated and the trickle flow is the actual read, so the tool computes it directly.
The calibration harness. "Concentrated bursts are informed" is a hypothesis, not a law — so when the spread is strong, the harness checks forward whether price actually followed the large tier more than the unconditional base rate, and reports Hit / Base / Edge on confirmed bars. That's what turns the divergence from a story into something you can verify on your instrument.
How it works
For each chart bar the finest available sub-bars are requested. Each is signed by close-versus-open (a tick-rule aggressor proxy) and bucketed by volume against the adaptive average. Per-tier signed volume becomes a net÷gross imbalance in , the large-minus-small spread is smoothed into the oscillator, and a strong gated spread is the divergence signal.
How to use it
Read the histogram (the large-minus-small spread): green means large bursts are accumulating while small flow lags or sells; red means large bursts are distributing. The bold line is the large-tier imbalance, the faint line the small tier. A gated turn in the spread suggests concentrated flow is leading, and is marked in the pane and — optionally — on the price chart. Always check the Coverage row (how much real sub-bar resolution the current bar received) and the Edge row (whether the divergence has actually led on this instrument). It is never a standalone trigger.
Plan-adaptive & data note
Sub-bar precision auto-selects the finest your plan serves (seconds on Premium+, else 1-minute). Lower-timeframe data exists only for recent bars, so older bars fall back to whole-bar flow and the coverage read shows it. The tool needs an instrument with real volume — a cash index reports none, so use the futures. The adaptive average and the calibration harness advance only on confirmed bars, so they never drift or inflate intrabar. Edge is in-sample, no costs — a study aid, not a backtest.
Originality
The parts are public: cumulative volume delta, the close-vs-open (tick-rule) aggressor proxy, and the general idea of size-partitioned / flow-toxicity order flow. What's assembled here is the specific construction — the adaptive intrabar size-tiering, the net÷gross per-tier imbalance that makes tiers of very different volume directly comparable, the large-minus-small divergence as the headline object, and the forward-calibration harness that scores it against the base rate. This is a clean-room implementation; no third-party Pine code is reused.
Concept credits
Cumulative Volume Delta — standard order-flow technique.
Close-vs-open (tick-rule) aggressor classification — after the classic trade-sign literature (Lee & Ready).
Size-partitioned / flow-toxicity order flow (VPIN) — Easley, López de Prado & O'Hara.
Disclaimer
Research and educational tool only. Not financial advice, no recommendation, no guarantee of results. Burst size is not trade size and does not identify institutions versus retail; the up/down sign is a close-vs-open proxy for the aggressor, not the true tape. Indicators describe past behaviour; they do not predict the future. Trading carries risk of loss. Test out-of-sample and make your own decisions. The author accepts no liability. Indicator

Order Flow Criticality Hawkes Branching RatioOrder-Flow Criticality — Hawkes Branching Ratio
What it is
Most order-flow tools ask how strong flow is. This one asks how fragile it is — how close the tape is to a self-sustaining cascade, where each burst of aggressive flow tends to trigger the next. That property is the branching ratio (n) of a self-exciting (Hawkes) process: n ≈ 0 means bursts are independent and the tape is stable (exogenous); n → 1 means flow is nearly self-sustaining — endogenous, reflexive, fragile. The output is a state read that says size down as criticality rises. It never issues a buy or sell.
How it works (and why this method)
Event — a bar whose absolute signed volume-delta is unusually large for its time of day. Delta is built from finest-available lower-timeframe signed volume, with an automatic bar-shape fallback.
Branching ratio — fitting a Hawkes kernel by maximum likelihood is heavy and fragile, so this uses the model-independent moment estimator of Hardiman & Bouchaud (2014): for a self-exciting process the variance-to-mean ratio of the event count (the Fano factor) grows as 1/(1−n)², so n ≈ 1 − √(mean_count / var_count) over recent non-overlapping counting bins. Only a mean and a variance of counts are needed. A random (Poisson) tape gives n ≈ 0; a clustered tape gives n → 1.
De-seasonalization (the key honesty step) — this estimator is known to be biased upward by intraday seasonality: opens and closes have naturally higher flow, which can masquerade as criticality (a Poisson process with a changing rate can show a spurious n ≈ 1). So an event is judged against the typical flow for its hour, removing the daily rhythm so what remains is genuine self-excitation.
Output — a background tint that intensifies as n rises, ● event marks, a SIZE-DOWN tag on crossing the critical zone, and a dashboard stating STABLE / ELEVATED / CRITICAL with a suggested size factor (1 − n).
Everything advances only on confirmed bars; the lower-timeframe delta is read on closed bars. No hindsight.
The stability & multi-timeframe layer
States are dwell-filtered (standard anti-chattering): a new STABLE/ELEVATED/CRITICAL is announced only after surviving a set number of confirmed bars. STABILITY shows how settled the read is; PENDING shows a forming state with a countdown. Cost: a few bars of lag — stated and adjustable.
The criticality lane — a thin strip at the pane bottom — gives the glance-read: green = stable, amber = elevated, red = critical. Risk colors (safe/danger), never direction.
The HTF STACK row shows the raw criticality state on three higher timeframes derived as multiples of the chart (defaults 3×, 5×, 15×). Honesty notes: the HTF slots use the bar-shape delta proxy (lower-timeframe data cannot be nested inside a higher-timeframe request) and the global flow baseline instead of the hourly profile (an HTF bar spans multiple hours, so per-hour bucketing is ill-defined there). ✓ = every timeframe agrees; ⚠ = a higher timeframe is CRITICAL while the chart is not — fragility above your resolution.
Seeing the cascades
Every flow burst prints a dot below its own bar: blue = isolated (arrived independently), warm = chained (within a few bars of the previous burst — likely triggered by it). This is the branching ratio made visible: as the tape approaches critical you can watch chains lengthen at the price action itself.
The EVENTS row shows the recent % chained — the plain-language twin of n — and the branching-ratio row carries a fill gauge so the number reads like a fuel gauge.
How to use it
Add to any liquid symbol/timeframe; defaults suit index futures — change the volume source and lower-timeframe for other markets.
Read the dashboard headline: STABLE / ELEVATED / CRITICAL. As it rises toward CRITICAL, the branching ratio is telling you the tape is increasingly self-referential and prone to cascades.
Use it as a risk overlay on top of your directional tools: when criticality is high, cut size, widen stops, or stand aside — regardless of which way you lean. When it's low and stable, normal sizing is more justified.
Keep de-seasonalization on (default). Turning it off will make opens and closes look critical when they may just be busy.
What makes it original
Retail order-flow tools measure intensity and call it strength. This measures endogeneity — the degree to which flow is feeding on itself — using a published market-reflexivity statistic, computed by a moment estimator that is feasible on a chart, and de-seasonalized so it isn't fooled by the daily rhythm (the exact bias the literature warns about). Reframing order flow from "how strong" to "how fragile," as an explicit size-down gauge, is the contribution.
Concept credits
Self-exciting point processes — A. G. Hawkes (1971). Reflexivity / branching ratio as market endogeneity and flash-crash analysis — V. Filimonov & D. Sornette. Moment (mean/variance) branching-ratio estimator — S. Hardiman & J.-P. Bouchaud (2014). Hawkes models of order flow — E. Bacry, J.-F. Muzy and co-authors. Implementation and charting design are the author's own.
Important disclaimer
Research and education only. Not financial advice, not a signal service, not a guarantee of future results. The branching ratio is a descriptive statistic and a proxy — not a certainty and not a direction. High criticality does not predict which way price will move, only that flow is fragile. Validate independently and manage your own risk. Indicator

Levy Area Flow Sequencer Flow Price Lead LagLévy-Area Flow Sequencer — Flow/Price Lead-Lag
What it is
Correlation says flow and price move together; it cannot say which moves first. But the sequencing is the interesting part: when aggressive flow precedes price, moves are being built by participation before they print; when price precedes flow, price is running ahead and flow is chasing — squeeze / stop-run character. Traced together, the two series form a path in the plane, and the signed (Lévy) area that path encloses measures its rotation — a scale-free, lag-free read of lead–lag, including non-linear lead–lag that fixed-lag cross-correlation misses. This is the most experimental tool of this suite, and it is framed that way.
The mathematics (signature lead–lag metric)
The metric is the antisymmetric part of the second-level path signature of the pair (flow, price): the window sum of (X·dy − Y·dx), with both increment series normalized to unit scale so the area is dimensionless. Per the literature's interpretation, the metric is positive and grows when moves in the first series are followed by same-direction moves in the second. The first series here is cumulative order-flow delta (from lower-timeframe signed volume, with bar-shape fallback) and the second is price, so AREA > 0 → FLOW LEADS and AREA < 0 → PRICE LEADS.
The honesty steps
Significance gate — a raw signed area is noisy, so the reading is ranked against its own recent history, and a lead is declared only when rotation is unusually strong for this symbol/timeframe. Otherwise the state is BALANCED: no claim.
Sequencing ≠ causation — the literature is explicit that a signed area alone cannot establish causal direction. This tool reports a temporal-ordering tendency of past bars; treat it as tape character.
Known limitation, stated — persistent inverse co-movement between flow and price can contaminate the sign. On liquid futures they co-move and the read behaves; on instruments where they reliably anti-correlate, don't trust it.
The stability & multi-timeframe layer
States are dwell-filtered (standard anti-chattering): FLOW LEADS / PRICE LEADS / BALANCED is announced only after surviving a set number of confirmed bars, so the read doesn't flip-flop. STABILITY shows how settled it is; PENDING shows a forming state with a countdown. Cost: a few bars of lag — stated and adjustable.
The lead lane — a thin strip at the pane bottom — gives the glance-read: green = flow leads (moves better backed), amber = price leads (flow chasing, be sceptical), gray = balanced. Trust/caution colors, never direction.
The HTF STACK row shows the raw lead state on three higher timeframes derived as multiples of the chart (defaults 3×, 5×, 15×). Honesty note: lower-timeframe data cannot be requested inside a higher-timeframe request, so the HTF slots use the bar-shape delta proxy — a stated approximation. ✓ = all timeframes agree on the same significant lead; ⚠ = a higher timeframe shows the opposite lead.
How to use it
Add to a liquid intraday chart. Read the dashboard: FLOW LEADS → breakouts/drives carry more weight (participation came first); PRICE LEADS → be sceptical of extensions (flow is chasing); BALANCED → the tool makes no claim.
Tags print when the lead flips while significant; alerts fire on flips.
Use it as context alongside order-flow and structure tools — never as a standalone signal.
What makes it original
Path-signature methods are frontier quantitative machinery (rough-path theory) that has reached systematic trading but, to the author's knowledge, not chart platforms. Applying the signature lead-lag metric to the flow-vs-price pair — the pair an order-flow trader actually cares about — with an honest significance gate and stated limitations, is the contribution.
Concept credits
Signed area of stochastic paths — P. Lévy. Rough-path / signature theory — T. Lyons; Levin, Lyons & Ni (2016). Signature lead-lag metric and interpretation — I. Chevyrev & A. Kormilitzin (2016). Market applications — Bennett, Cucuringu & Reinert (2022); Cartea, Cucuringu & Jin (2023). Implementation and charting design are the author's own.
Important disclaimer
Research and education only. Not financial advice, not a signal service, not a guarantee of future results. The area measures a sequencing tendency in past data; it is not causal proof and not a prediction. Validate independently and manage your own risk. Indicator

Adaptive Market Suite [Jayadev Rana]Overview
Adaptive Market Suite is a four-module analysis toolkit that draws on the price chart. Each module is independent: turn any of them on or off, and each has its own settings group. It shows context, not buy or sell arrows. The four modules are an adaptive trend, volatility bands, market structure with order blocks and fair-value gaps, and an order-flow oscillator. You read the confluence and make your own decisions.
Module 1 - Adaptive Trend and Regime
A moving average whose smoothing adapts to Kaufman's efficiency ratio: the net distance price travelled divided by the total path it took to get there. In clean trends the ratio is high and the average speeds up to hug price; in chop it is low and the average slows and flattens. The line is coloured by its slope, and the info panel reports whether the market is trending or ranging from the same ratio.
Module 2 - Expected-Move Bands
Volatility bands around the adaptive basis. Instead of a fixed multiple of range, the band width scales with where the current Average True Range sits in its own recent history (its percentile), so the bands contract in quiet conditions and expand when volatility rises. A nearer pair and a wider pair mark two envelopes.
Module 3 - Liquidity and Structure
Market structure from confirmed swing pivots, labelled as Break of Structure and Change of Character. Because the pivots are symmetric (confirmed on both sides), they are fixed before they are drawn and do not repaint afterward. On a structure break the tool marks the order block behind the move (the last opposite-direction candle before the push) and it tracks fair-value gaps, which are three-bar imbalances. Each zone follows a mitigation lifecycle: it is extended while it is live and greyed once price trades through it, and only the most recent zones per type are kept so the chart stays readable.
Module 4 - Order-Flow Oscillator
A normalised buy and sell pressure read in the indicator pane. For each bar it combines where price closed within the bar's range with how large that bar's volume was relative to its recent average. Sustained closes near the highs on strong volume push the oscillator positive; the mirror pushes it negative. An absorption marker highlights bars with heavy volume but a small range, where effort is not producing movement.
Info panel
An optional compact table summarises the current trend direction, the regime read, the volatility percentile, and the current order-flow side. It is context only.
Inputs
Inputs are grouped per module: General (ATR length); Module 1 (efficiency length, fast and slow smoothing, regime threshold, colours); Module 2 (volatility lookback, base and extra width, colour); Module 3 (swing length, order-block lookback, max zones per type, toggles for structure, order blocks and fair-value gaps, colours); Module 4 (pressure smoothing, absorption threshold, colours); plus an info-panel toggle. Every module has a single enable switch.
Alerts
Bullish and bearish structure break, and the order-flow oscillator crossing above or below zero.
How to use it
Treat it as a confluence map rather than a signal. For example, price reaching an order block near the lower band, with the order-flow oscillator turning up while the adaptive trend is still rising, is a stronger context than any one of those alone. Turn off the modules you do not need: if you only trade structure, disable the other three groups for a clean map. It is intended for liquid instruments and works across timeframes; the demonstration chart is Gold on the 1-hour timeframe.
Limitations
The structure module confirms swings with bars on both sides, so its labels and order blocks appear a fixed number of bars after the pivot forms. That delay is the trade-off that keeps them from repainting. The bands, the oscillator and the info panel read the current bar and update as it forms, like any live calculation. This is an analysis tool, not a strategy: it places no orders, makes no performance claim, and there is no win rate because it does not promise trades.
Disclaimer
For education and research only. This is not financial advice, and past chart behaviour does not predict future results. Test any approach yourself and manage your own risk. Indicator

Fragility-Weighted Liquidity Map Kyle Amihud RollFragility-Weighted Liquidity Map — Kyle · Amihud · Roll
What it is
A move of the same size means opposite things depending on the book beneath it. Into a thin book, a move is mostly price impact — mechanical, fragile, prone to snap back. Into a deep book, the same move took real participation and is more likely informed. This tool estimates how impact-driven the tape is right now from three classic microstructure measures, fuses them into one fragility read, and tints recent liquidity levels by it. It scales conviction and risk — it never picks a direction.
The three measures (all from OHLCV, peer-reviewed)
Kyle's lambda (Kyle 1985) — price impact per unit of signed volume: |price change over a window| ÷ |Σ sign(Δclose)·volume|. High λ = each unit of flow moves price a lot = thin, impactable.
Amihud illiquidity (Amihud 2002) — the average of |return| ÷ dollar-volume. High = small volume moves price a lot. (Empirically ~0.8 correlated with Kyle, so the two are blended, not double-counted.)
Roll implied spread (Roll 1984) — the effective spread implied by the bid-ask bounce: c = 2·√(−Cov(Δp, Δp₋₁)) when that covariance is negative. When it is positive — common in trends — the Roll model does not apply, so the estimate is shown as not measurable here rather than forced to a number. That honesty is deliberate.
Fusion → fragility
Each measure is ranked against its own recent history (a percentile), so the read self-tunes to the symbol and timeframe. The fragility index is the weighted blend of whichever measures are currently available (Roll drops out in trends, and the blend adapts). High fragility = impact-driven, reversible tape; low = deep, informed. A plain-language read suggests trusting breakouts less and fades more when fragility is high — as context, not a signal.
The map
Bars that trade unusually large volume leave a horizontal liquidity level where size changed hands. Each level is tinted by the fragility state at the moment it formed: warm = it printed in a thin/impact-driven tape (a weaker level, more likely to be swept); cool = it printed in a deep/informed tape (sturdier). So the map shows not just where liquidity sits but how trustworthy each pocket is.
How to use it
Add to any liquid symbol/timeframe; defaults suit index futures — change the price/volume sources for other markets.
Glance at the fragility lane — the thin strip at the pane bottom: red = thin/fragile, green = deep/solid, gray = normal. Risk-semantic colors (danger/safe), never direction. That strip alone answers "how careful should I be" for a non-technical user.
States are dwell-filtered (standard anti-chattering): a new THIN/DEEP/NORMAL is announced only after surviving a set number of bars, so the read doesn't flip-flop. STABILITY shows how settled it is; PENDING shows a forming state with a countdown. The cost is a few bars of lag — stated and adjustable.
The HTF STACK row shows the raw fragility state on three higher timeframes derived as multiples of the chart (defaults 3×, 5×, 15× — a 5m chart reads 15m/25m/75m automatically). ✓ green = all timeframes agree on the same actionable state; ⚠ amber = a higher timeframe reads the opposite state.
Read the dashboard: DEEP / NORMAL / THIN, the three measures' ranks, and a suggested size factor. As it turns THIN, treat moves as more reversible: size down, favour fades over breakout-chasing.
Use the rails as liquidity references coloured by trust — a warm rail formed in fragile conditions; a cool rail in solid ones.
Pairs with Order-Flow Criticality: that tool asks whether flow is self-exciting (endogenous); this asks whether the book is thin (impactable). Both elevated together is the genuinely fragile state.
What makes it original
Retail liquidity tools draw where volume traded. This one weights each level and the whole tape by how impactable it is, using three peer-reviewed microstructure estimators computed from bar data, self-calibrated, and — crucially — honest about when the Roll model doesn't apply. Reframing a liquidity map from "where is liquidity" to "how fragile is liquidity" is the contribution.
Concept credits
Price impact of order flow (lambda) — A. S. Kyle (1985). Illiquidity ratio — Y. Amihud (2002). Implied effective spread from serial covariance — R. Roll (1984). Square-root impact refinement — J. Hasbrouck. Fragility framing — general market-microstructure literature. Implementation and charting design are the author's own.
Important disclaimer
Research and education only. Not financial advice, not a signal service, not a guarantee of future results. These are proxies estimated from bar data, not order-book truth, and they do not predict direction. Validate independently and manage your own risk. Indicator

Adaptive Structural Trail Order Flow, Imbalance & RegimeAdaptive Structural Trail — Order Flow, Imbalance & Regime
What it is
Adaptive Structural Trail is a single, self-contained market-structure framework that re-clocks the chart by participation instead of time, marks the imbalances that real activity leaves behind, lets order flow decide which of those levels still matter, asks a regime filter whether trending behaviour can be trusted right now, and trails the strongest surviving level as an adaptive stop — all summarised in a plain-language dashboard that tells you, at a glance, whether the picture says ride, wait, or stand aside.
It is designed to be market-agnostic: every raw input (price, volume, and the volatility-index reference) is user-selectable, so the same logic runs on index futures, equities, FX, crypto or commodities without touching the code. Defaults are set for NIFTY index futures; change the volatility symbol and (if needed) the volume source for other instruments.
Why the components are combined (this is one tool, not a bundle)
Each layer measures a different facet of one process — activity creating structure, structure decaying or being defended, and a regime deciding whether to act. They are not independent indicators stacked for visual effect; remove any one and the others lose their meaning:
Delta clock (the substrate). A virtual bar closes only when cumulative signed volume becomes statistically significant (σ × a multiplier). Every downstream reading is therefore spaced by participation, not by the clock — a quiet 10 minutes and a violent 10 seconds are treated differently, which is the whole point.
Imbalance / fair-value-gap detection runs on those virtual bars, so a level is recorded only where genuine activity gapped price, not on arbitrary time bars.
Order-flow lifecycle (charge → decay → breaker/dead). When price returns to a level, delta adjudicates the outcome: absorbed-and-defended levels are reborn as breakers; levels that are surged through are killed. Flow decides what structure survives.
Regime gate (efficiency ratio + volatility burst). This routes everything. The trail is shown and signals arm only where trend behaviour is statistically credible; in range/transition/high-volatility states the tool deliberately stands aside.
Confidence fusion. Structure strength, cumulative-delta slope and flow toxicity (VPIN) are blended into one confidence number, which the dashboard converts into a plain instruction.
That coupling — a volume-significance clock feeding imbalance detection whose survival is adjudicated by order flow and gated by regime, fused into a single trailing level and a decision read-out — is the original contribution here.
How to use it
Add it to any liquid instrument. It is built for intraday timeframes (1–15 min is the sweet spot on index futures).
Read the dashboard top-down: the ACTION banner is the headline (e.g. LONG · ride the trail, RANGE · stand aside). Below it: bias + confidence, market state, the actual trail-stop price, order flow, flow toxicity, volatility context, and a plain "what to do" line.
Treat the coloured trail as a structure-based stop while the market state is a trend; when the state leaves trend, the trail disappears by design.
The imbalance zones show where unfilled activity sits; fresh, tapped and breaker levels are colour-coded (see the on-chart legend).
Edge-calibration panel (bottom-right): for transparency it scores past signals against a regime-matched base rate and reports EDGE = Hit − Base with a 95% confidence interval. Read the Edge column, not the raw hit-rate. This is descriptive of the past on your symbol — not a backtest and not a forward guarantee.
Key-info panel (top-left): instrument, timeframe, the live data source (see honesty note), threshold, ATR and level counts.
Honest note on data (please read)
PulseWire exposes no true tick-by-tick aggressor delta and cannot build custom bars, so delta here is a proxy: signed intrabar volume taken from the finest lower timeframe your data plan returns — 1-second where available, otherwise 1-minute — falling back to bar-shape when no lower-timeframe data exists. The live source is shown as "Delta source" in the Key-info panel, so you always know which mode is active. Non-repaint: the delta clock advances and structure/regime/signals resolve only on confirmed bars; the trail line itself updates within the forming bar as a current estimate.
Originality
The novelty is the synthesis and coupling, not any single classical block. A participation clock is used to gate imbalance detection; order flow is used to adjudicate level survival; regime is used to route the entire read; and the whole thing collapses into one trailing level plus a decision dashboard and a self-calibration panel. Every raw input is user-selectable so the framework generalises across markets.
Concept credits
This tool synthesises well-established, publicly documented ideas; credit to their originators:
Information / volume-driven bars & VPIN flow toxicity — Marcos López de Prado; Easley, López de Prado & O'Hara.
Efficiency Ratio (trend vs. noise) — Perry J. Kaufman.
Trade-side classification (tick rule) — Lee & Ready.
Market impact & absorption (square-root law) — Almgren; Tóth & Bouchaud.
Wilson score interval (small-sample proportion CI) — E. B. Wilson.
Imbalance / fair-value-gap and trailing-stop concepts are long-standing, widely used market-structure ideas. The synthesis and the Pine implementation are the author's own.
Exported outputs (for use in other scripts)
Available via input.source() in any other indicator, with clean generic names: Bias Score (signed conviction, ±10), Trail Stop, Trail Direction, Regime State, Confidence, Leading Strength, CVD Slope, Flow Toxicity, Cumulative Delta, Volatility ROC, Volatility Bias.
Disclaimer
For research and education only. This is an analytical tool — not financial advice, not a signal service, and not a guarantee of future results. No indicator has an inherent edge; validate with your own testing, apply realistic costs, and manage risk. You are solely responsible for your trading decisions. Indicator

Ease-of-Movement Flow OscillatorEase-of-Movement Flow Oscillator
A volume oscillator that measures how easily price moves — distance travelled relative to the volume required to travel it. Large travel on light volume = high ease (a frictionless drift); small travel on heavy volume = low ease (absorption — effort without result). Above zero, price advances with little resistance; below zero, it declines with little resistance. It adds an absorption warning and a plain-language forward-calibration layer, so you can tell at a glance whether a move is frictionless or being absorbed, and whether the signal has actually paid here.
Why these parts are combined (not a mashup for show). Ease of movement relates distance to the volume needed for it — a different question from "buying vs selling." A frictionless advance and an absorbed advance look identical on a price chart but behave differently next, so that's the core read. An effort-vs-result check (price making a new extreme while ease does not) flags absorption — heavy volume no longer moving price — which the raw line alone misses. Forward calibration removes blind faith: instead of assuming a cross "should" pay, it measures whether it actually has, with realistic profit/stop outcomes. Together they form one coherent volume-flow tool.
How it works. Distance moved = midpoint change; box ratio = (volume ÷ scale) ÷ range. Ease = distance ÷ box ratio, smoothed, standardized and soft-bounded to ±100 that auto-fits its own magnitude. A signal fires only when ease decisively clears a confirmation band beyond zero (filtering the constant zero-line chatter). Absorption divergence is detected from confirmed price pivots versus the ease line. Each signal is then labelled by a triple barrier — a profit target and equal stop in ATR units plus a time limit — split into in-sample and recent out-of-sample, with a confidence interval and a multiple-testing check.
How to use. Read the Verdict row (Long/Short, Absorption, or Wait) and the Conviction row, which reads "High" only when that signal type shows a positive edge that survives the test on this symbol. Green above zero = easy up, red below = easy down; shaded bands = strong ease; the faint band lines mark where signals fire. Best used with your own trend and risk plan, not alone.
What's original. The absorption (effort-vs-result) flag, auto volume scaling, a noise-filtering signal band, the forward triple-barrier calibration with an out-of-sample split, and a conviction read that openly admits when there's no proven edge.
Volume note. This needs real volume — use a futures contract such as NSE:NIFTY1!. On a cash index it reports "No volume" rather than printing noise.
Honesty & limitations. Edge figures are computed on this chart's own history with overlapping windows and no costs — context, not a guaranteed backtest; past behaviour doesn't predict the future. Volume quality varies by feed and instrument.
Disclaimer: for research and education only. Not financial advice. Trading carries risk of loss; manage your own positions. Indicator

Stocks: Financial Summary [invincible3]Stocks: Financial Summary
Stocks: Financial Summary is a compact fundamental dashboard designed to visualize a company’s key financial statements directly on the PulseWire chart.
The indicator displays three major financial sections:
Income Statement
Revenue, Gross Profit, EBIT or Operating Income, Pretax Income, and Net Income.
Balance Sheet
Total Assets, Total Liabilities, and Shareholders’ Equity.
Cash Flow
Cash Flow from Operations, Cash Flow from Investing, Cash Flow from Financing, and Free Cash Flow.
The dashboard is drawn on the right side of the chart using a clean multi-panel bar-chart layout. It allows traders and investors to quickly compare historical yearly or quarterly financial data without leaving the price chart.
Key Features
* Supports Yearly and Quarterly financial views.
* Optional TTM display for Income Statement and Cash Flow.
* Visual comparison of historical financial periods.
* Auto unit formatting: Raw, K, M, B, and T.
* Customizable dashboard position, spacing, bar width, colors, and transparency.
* Right-side layout designed to keep the price chart readable.
* Uses actual PulseWire financial data through `request.financial()`.
* Includes manual fiscal year and quarter override options when exchange reporting labels need adjustment.
This tool is designed for fundamental analysis, long-term stock screening, and quick financial statement comparison. It can help users visually inspect whether a company’s revenue, profitability, assets, liabilities, cash flow, and free cash flow are improving or weakening over time.
This indicator is for educational and informational purposes only. It is not financial advice.
Indicator

Infinity Flow OscillatorInfinity Flow Oscillator — Rmi / Mfo Wave Energy & Range Compression
Flow is a momentum and pressure oscillator designed to help traders read directional flow, internal market pressure, wave movement and compression conditions in one clean lower-panel tool.
The oscillator combines several components into a single visual flow reading:
• RMI Flow
• MFI Pressure
• WaveTrend Energy
• Range Compression / Expansion
• Flow Score from -100 to +100
• Bullish and bearish confirmation dots
• Strong and extreme momentum zones
• Layered fills and cloud-style visual structure
The goal of this oscillator is to make momentum easier to read visually. It is not designed to predict price movement or replace a full trading plan. It should be used as a confirmation and context tool together with price action, market structure, support and resistance, volume conditions and risk management.
────────────────────────────
MAIN CONCEPT
────────────────────────────
The oscillator reads the market through a normalized flow scale.
The center line represents balance.
Above zero:
Bullish pressure is dominant.
Below zero:
Bearish pressure is dominant.
Near zero:
Market flow is neutral, mixed or indecisive.
The stronger the oscillator moves away from zero, the stronger the directional pressure becomes.
The tool uses layered fills and color transitions to make the state of the market visible at a glance.
Bullish flow is displayed with cyan / green-style visual pressure.
Bearish flow is displayed with pink / red-style visual pressure.
Compression or range conditions can be highlighted with a softer background layer.
────────────────────────────
WHAT THE OSCILLATOR SHOWS
────────────────────────────
1. Flow Line
The main flow line represents the final combined oscillator value. It blends momentum, money flow, wave movement and compression logic into one reading.
When the flow line rises above zero, bullish pressure is increasing.
When the flow line falls below zero, bearish pressure is increasing.
2. Signal Line
The signal line smooths the main flow reading.
When the flow line crosses above the signal line, bullish momentum may be improving.
When the flow line crosses below the signal line, bearish momentum may be improving.
3. Bullish and Bearish Dots
Bullish dots appear when the flow line crosses above the signal line under valid conditions.
Bearish dots appear when the flow line crosses below the signal line under valid conditions.
These dots are designed as visual confirmation markers, not automatic trade entries.
4. Strong Momentum Zones
The strong levels mark areas where momentum becomes more directional.
Above the positive strong level:
Bullish pressure is considered stronger.
Below the negative strong level:
Bearish pressure is considered stronger.
5. Extreme Zones
The extreme levels show areas where the market may be stretched.
A strong move into the upper extreme zone can show aggressive bullish pressure.
A strong move into the lower extreme zone can show aggressive bearish pressure.
Extreme readings do not automatically mean reversal. In strong trends, extreme conditions can continue longer than expected.
6. Compression / Range Background
The oscillator can highlight compression or range-like conditions.
Compression often means the market is building energy.
Expansion can happen after compression, especially when price breaks structure or a range.
This layer is useful for understanding when the market is quiet, compressed or preparing for a stronger directional move.
────────────────────────────
INPUT GUIDE
────────────────────────────
Show Oscillator
Enables or disables the main oscillator visual.
When enabled, the flow line, signal line, fills and zones are visible.
When disabled, the oscillator can be hidden without removing the script from the chart.
Show Dots
Enables or disables bullish and bearish confirmation dots.
Use this if you want a cleaner oscillator without signal markers.
Flow Length
Controls the sensitivity of the main flow calculation.
Lower values react faster but may create more noise.
Higher values are smoother but react later.
Beginner suggestion:
Use the default value first. Adjust only after watching how the oscillator behaves on your preferred market and timeframe.
Signal Length
Controls the smoothing of the signal line.
Lower values create faster crosses.
Higher values create slower, cleaner crosses.
Beginner suggestion:
A smoother signal line is usually easier to read when learning the tool.
RMI Length
Controls the RMI-based momentum component.
RMI helps identify directional pressure and momentum shifts. It is useful for detecting when the market starts to build bullish or bearish energy.
MFI Length
Controls the money flow component.
MFI adds a volume-weighted pressure reading to the oscillator. It helps show whether momentum is supported by volume activity.
WaveTrend Length
Controls the wave movement component.
WaveTrend helps create a smoother cyclic reading of market pressure. It can help identify changes in momentum rhythm.
Range / Compression Length
Controls the compression and expansion component.
This part of the oscillator is designed to show when movement is narrow, quiet or compressed compared with normal conditions.
Strong Level
Sets the level used to define strong bullish or bearish flow.
Example:
If the strong level is 50, readings above +50 represent stronger bullish pressure and readings below -50 represent stronger bearish pressure.
Extreme Level
Sets the level used to define extreme bullish or bearish flow.
Example:
If the extreme level is 80, readings above +80 are considered extreme bullish pressure and readings below -80 are considered extreme bearish pressure.
Bull Color
Controls the bullish visual color.
Bear Color
Controls the bearish visual color.
Neutral Color
Controls the neutral or balanced visual color.
Fill Transparency
Controls how visible the oscillator fills are.
Lower transparency makes fills stronger.
Higher transparency makes fills lighter.
Background Compression Highlight
Enables or disables the compression background.
Use this to identify moments where the market may be moving into a quieter range or preparing for a future expansion.
────────────────────────────
HOW TO READ THE TOOL
────────────────────────────
Basic reading:
Flow above zero:
Bullish pressure has the advantage.
Flow below zero:
Bearish pressure has the advantage.
Flow near zero:
No clear directional advantage.
Flow above signal:
Bullish momentum is improving.
Flow below signal:
Bearish momentum is improving.
Flow above strong level:
Bullish momentum is strong.
Flow below negative strong level:
Bearish momentum is strong.
Flow inside extreme zones:
Market pressure is stretched and should be interpreted carefully.
────────────────────────────
BEGINNER TUTORIAL
────────────────────────────
Step 1 — Start with the zero line
The first thing to watch is whether the oscillator is above or below zero.
If it stays mostly above zero, the market is showing bullish pressure.
If it stays mostly below zero, the market is showing bearish pressure.
If it keeps crossing zero, the market may be choppy or undecided.
Step 2 — Watch the flow and signal cross
A bullish cross happens when the flow line crosses above the signal line.
A bearish cross happens when the flow line crosses below the signal line.
These crosses are stronger when they happen in the direction of the broader trend.
Step 3 — Check the strong levels
A bullish cross below zero may be early.
A bullish cross above zero is usually cleaner.
A bullish cross followed by movement above the strong level shows stronger momentum.
The same logic applies in reverse for bearish conditions.
Step 4 — Respect the extreme zones
When the oscillator reaches an extreme zone, the market may be stretched.
This can mean two different things:
• strong trend continuation
• potential exhaustion
Do not assume every extreme reading is a reversal. Use price structure and support/resistance for confirmation.
Step 5 — Use compression as context
When compression appears, the market may be losing directional movement or preparing for expansion.
A compression zone followed by a strong flow breakout can be useful context for trend continuation or range breakout analysis.
────────────────────────────
EXAMPLE USE CASES
────────────────────────────
Example 1 — Bullish confirmation
Price is above a key support area.
The oscillator crosses above the signal line.
Flow moves above zero.
The bullish dot appears.
The flow line continues toward the strong bullish level.
This suggests bullish pressure is improving. A trader may use this as confirmation together with chart structure and risk planning.
Example 2 — Bearish confirmation
Price rejects a resistance area.
The oscillator crosses below the signal line.
Flow moves below zero.
The bearish dot appears.
The flow line continues toward the negative strong level.
This suggests bearish pressure is increasing. A trader may use this as confirmation together with structure and risk planning.
Example 3 — Avoiding weak signals
A bullish dot appears, but the flow line is still below zero.
Price is also under resistance.
The oscillator does not reach the strong bullish level.
This may indicate a weaker bullish attempt. A beginner may choose to wait for stronger confirmation.
Example 4 — Strong trend continuation
The oscillator stays above zero for a long period.
Pullbacks remain above the signal line or quickly recover.
Flow repeatedly returns toward the strong bullish zone.
This can indicate that bullish momentum remains active. In this situation, bearish crosses may be temporary pullbacks rather than full reversals.
Example 5 — Range or compression behavior
The oscillator stays near zero.
Bullish and bearish crosses appear frequently.
Compression background is visible.
Price is moving sideways.
This can indicate a range or low-direction environment. In this situation, signals may be less reliable unless price breaks out with confirmation.
────────────────────────────
SUGGESTED BEGINNER SETTINGS
────────────────────────────
For cleaner signals:
Use longer lengths.
Use a smoother signal line.
Keep dots enabled.
Watch only crosses that happen near or beyond the zero line.
For faster signals:
Use shorter lengths.
Use a faster signal line.
Expect more noise and more false moves.
For trend confirmation:
Focus on whether the oscillator remains above or below zero.
Use strong levels to confirm momentum expansion.
For range detection:
Watch the compression background and repeated crosses around zero.
────────────────────────────
HOW TO COMBINE WITH OTHER TOOLS
────────────────────────────
This oscillator works best as a confirmation tool.
Possible combinations:
1. Price action
Use the oscillator to confirm breakouts, pullbacks and reversals.
2. Support and resistance
Bullish signals are more meaningful near support.
Bearish signals are more meaningful near resistance.
3. Trend indicators
Use the oscillator to confirm trend strength and avoid entering against strong momentum.
4. Volume analysis
The MFI component helps include money flow pressure, but additional volume tools may still provide useful context.
5. Risk management
Always define stop loss, invalidation level and target logic before entering a trade.
────────────────────────────
ALERTS
────────────────────────────
The oscillator can be used with alert conditions such as:
Bullish dot
Bearish dot
Strong bullish flow
Strong bearish flow
Extreme bullish flow
Extreme bearish flow
Suggested alert workflow:
1. Add the oscillator to the chart.
2. Open the PulseWire alert window.
3. Select the oscillator as the alert source.
4. Choose the condition you want to monitor.
5. Use alerts as notifications, not as automatic trading decisions.
────────────────────────────
IMPORTANT NOTES
────────────────────────────
This script is an analytical oscillator. It is not a complete trading system.
It does not guarantee entries, exits or profitable results.
Market conditions can change quickly. Trend, volatility, liquidity, news and session behavior can affect all oscillator readings.
The tool should be tested on each market and timeframe before being used in live trading decisions.
Past signals do not guarantee future results.
Use proper risk management at all times. Indicator

Liquidity Map & Execution Cost# Liquidity Map & Execution Cost
## What this script does
LMX answers three execution questions most indicators ignore: **how expensive is it to get in and out right now, how hard would it be to move size, and where on the chart will price struggle versus travel freely.** It reads only the chart's own price and volume — no symbol is hardcoded, so it runs on any asset and any market (equities, futures, FX, crypto, indices) — and turns the answers into a plain-language trade check: liquidity state, suggested position size, order type, estimated slippage, and a colour-coded map of support, resistance, walls and open gaps.
## Why these components are combined (mashup justification)
This is not several indicators stacked together — it is one liquidity model whose parts each answer a question the others cannot, and they are designed to be read together. Removing any one leaves a specific blind spot:
1. **Cost to cross — effective spread.** Estimated with the EDGE estimator (Ardia, Guidotti & Kroencke 2024) from open/high/low/close, cross-checked against Abdi-Ranaldo (2017) and Corwin-Schultz (2012). This tells you the round-trip cost of entering, which spread-blind tools cannot show. Alone, it says nothing about moving size or about levels.
2. **Cost to move size — price impact.** The Amihud (2002) illiquidity ratio with a high-low refinement, plus a rolling Kyle (1985) lambda computed as a true regression slope. This tells you how far your own order would push price — the question that matters for sizing, and one a spread estimate cannot answer.
3. **Direction of pressure — order imbalance.** A close-location signed-volume imbalance and its persistence. This tells you which side is leaning now, adding direction that the cost measures lack.
4. **The spatial map — volume at price.** A time-decay-weighted, range-distributed volume profile that yields the Point of Control and Value Area (standard 70% method), rendered as directional zones: green support below price, red resistance above, solid = a wall price struggles at, faint = an open gap price slides through. This converts the abstract cost/impact numbers into *locations* on the chart.
5. **Anchored VWAP — fair value.** A volume-weighted average anchored to your chosen reference (last major swing by default; or session/week/month open, or the highest-volume bar), drawn as a trend-coloured line. It is the dynamic counterpart to the static profile: where the average participant is positioned, and whether price is rich or cheap versus that.
Together they form one decision: the spread and impact set the **cost and size**, the imbalance and VWAP set the **direction and fair value**, and the map sets the **location** — so the output is "trade full size with market orders, buyers in control, room to run up to the gap above," not five separate readings.
## How a reading is produced
Each estimator is normalised to a percentile of its own history so thresholds adapt to every symbol and timeframe. The inverted spread, inverted impact and depth combine into a 0–100 **Liquidity Score**, classified as Deep / Normal / Thin / Stressed (a sudden impact spike forces Stressed). The score drives the suggested size multiplier, the order-type advice and the slippage estimate. The map is rebuilt on the last bar from the volume-at-price profile.
## How to use it
- Apply to any symbol. Set the price source and, if you trade very low intraday timeframes, optionally fix the calc timeframe (e.g. Daily) so the spread estimators stay stable. On symbols without real volume the volume modules disable automatically and the score leans on the spread estimators (the panel shows "price-only").
- **Simple mode (default)** gives plain-language guidance: Liquidity, Trade cost, Pressure, Position size, Orders, Watch-out, Fair value, and a one-line verdict. **Pro mode** exposes the full readout (spread in bps, Amihud and Kyle percentiles, depth, imbalance, flow persistence, value-area levels).
- On the chart: trade toward green support, expect resistance at red, size down where the map is thin (price moves fast there), and read the trend-coloured fair-value line for rich/cheap context.
- Alerts: liquidity-state change and sudden liquidity withdrawal.
## Originality
The combination is the original contribution: a single overlay that fuses low-frequency **spread**, **impact** and **imbalance** estimators with a **time-decay, range-distributed volume profile** and an anchored fair-value line, then translates all of it into sizing/order/slippage decisions in plain language. The building blocks are public-domain methods (EDGE, Abdi-Ranaldo, Corwin-Schultz, Amihud, Kyle, volume-profile Value Area, anchored VWAP), each used for the specific job described above and cited in the script header.
## Limitations (please read)
- These are **low-frequency estimators** of quantities normally measured from quote/tick data. They approximate — they do not measure — the true spread, depth, or dealer book.
- Volume-based modules require a real volume feed; they disable on symbols without one.
- Spread estimators were validated on daily-type bars; on very fast intraday timeframes they are noisier — use the calc-timeframe option if needed.
- The on-panel statistics are computed on the loaded chart history.
- This is an analysis tool, **not financial advice.** Test before use and trade at your own risk.
Indicator

Institutional Order Flow Signals [PMT]Institutional Order Flow Signals applies a Gaussian Naive Bayes classifier — trained entirely within Pine Script® v6 — to cumulative volume delta divergence in order to surface, in real time, three mutually exclusive market regime states: bullish re-alignment, bearish re-alignment, and order flow divergence.
The core question this indicator addresses is distinct from threshold-crossover approaches: given the current statistical pattern of delta momentum, price/CVD divergence, and delta slope, what is the posterior probability that the market is entering — or exiting — a directional institutional order flow regime?
――――――――――――――――――――――――――――――――――――――
🔷 WHAT IT MEASURES
🔸 Cumulative Volume Delta (CVD)
CVD is the running sum of intrabar net order flow — buy volume minus sell volume — estimated via the close-position formula: bull_vol = volume × (close − low) / (high − low). The cumulative series tracks persistent institutional buying or selling pressure independently of price direction, making it a first-order proxy for directional order flow without requiring exchange-level bid/ask data.
🔸 Three Z-Score Normalised Features
Each bar, the classifier receives three inputs derived from CVD and z-score normalised for cross-instrument compatibility:
F1 — CVD Momentum : rate of change of CVD over N bars, normalised by its rolling mean and standard deviation. Encodes how rapidly buying or selling pressure is accelerating relative to its own recent baseline.
F2 — Price/CVD Divergence : price rate of change minus CVD rate of change. A large positive value signals price rising while order flow is falling — the classic institutional distribution pattern. Near-zero values indicate price and flow agreement.
F3 — CVD Slope : linear regression slope of CVD over a short window, z-score normalised. Provides a direction-of-flow signal independent of F1's momentum measure, satisfying the Naive Bayes conditional independence assumption as closely as CVD-derived features can.
🔸 Market Regime Labels
Three mutually exclusive regimes are recognised. A bullish re-alignment bar is one where both price ROC and CVD ROC are positive — institutional flow and price confirm each other to the upside. A bearish re-alignment bar is the symmetric case. A divergence bar occurs when price and order flow point in opposite directions — historically associated with regime transitions and distribution/accumulation activity.
――――――――――――――――――――――――――――――――――――――
🔷 THE CLASSIFIER
🔸 Welford Online Learning
The classifier accumulates running sufficient statistics — count, mean, and variance — for each of the nine (feature × regime) combinations using Welford's numerically stable online update. No historical arrays are stored. The model's parameters shift gradually with each new bar, making it adaptive to changing market microstructure conditions without a fixed lookback window.
🔸 Gaussian Likelihood + Bayesian Posterior
Each feature is modelled as a Gaussian distribution under each class. The joint likelihood of the current feature vector is computed by multiplying the three per-feature probability densities under the Naive Bayes independence assumption. A class prior — updated empirically from observed regime frequencies — is combined with the joint likelihood via Bayes' theorem to produce posterior probabilities P(Bull | F1,F2,F3) and P(Bear | F1,F2,F3) for the current bar. A warmup gate suppresses signals until the classifier has accumulated statistically meaningful training observations.
――――――――――――――――――――――――――――――――――――――
🔷 SIGNALS AND DISPLAY
🔸 High-Conviction Buy — P(Bull) > 85%
A long signal fires when the bull posterior clears the configurable threshold, CVD momentum confirms, and price is above the trend EMA. The threshold is surfaced on the label itself, making the confidence level explicit at every entry rather than hidden inside an opaque signal.
🔸 Bear Signal — CVD Divergence
A short signal fires when the bear posterior clears threshold and F2 is in active divergence territory — price moving up while order flow is declining, or the symmetric distribution case. CVD divergence without posterior confirmation does not produce a signal; both conditions are required simultaneously.
🔸 Bull Regime Band — CVD Aligned
A fill band anchored to the trend EMA expands when the classifier assigns high posterior probability to a sustained bullish re-alignment regime. The opacity of the band scales with the posterior — faint during low-confidence periods, saturated when the classifier considers the regime firmly established.
🔸 Info Table
Live readout displays current bull and bear posteriors, CVD direction, and training bar count. The Trained N counter confirms the classifier has completed warmup before acting on any signal.
――――――――――――――――――――――――――――――――――――――
🔷 INPUTS
Classifier Lookback — minimum training bars before signals activate. Default 100.
Entry Posterior Threshold — minimum posterior required. 0.60 permissive; 0.70 default; 0.80 high-conviction only.
CVD Momentum Period — lookback for F1 and F2 rate of change.
CVD Slope Period — regression window for F3.
Z-Score Period — normalisation window applied across all three features.
Trend EMA Period — macro filter; long signals only fire above EMA, short signals below.
――――――――――――――――――――――――――――――――――――――
🔷 REQUIREMENTS AND LIMITATIONS
The classifier requires a warmup period before signals are valid. The CVD estimator is synthetic — derived from intrabar price position, not actual bid/ask data — and introduces noise on instruments with low liquidity or wide spreads. The Naive Bayes independence assumption is partially violated because all three features are CVD-derived; the posteriors function as relative confidence scores rather than calibrated frequentist probabilities.
――――――――――――――――――――――――――――――――――――――
Built natively in Pine Script® v6. No external libraries, no data feeds, no fixed lookback arrays. The Gaussian Naive Bayes classifier trains continuously from the chart's own bar history using Welford's online algorithm. Open source — Mozilla Public License 2.0. Indicator

Indicator

AlphaTrend Momentum Matrix [MarkitTick]💡 The AlphaTrend Momentum Matrix is an advanced, comprehensive trend-following architecture designed to dynamically track market momentum, manage dynamic trade states, and seamlessly bridge the gap between technical charting and automated execution. Far from a simple overlay, this script acts as a multi-layered analytical suite. It evaluates primary trend direction using volatility and volume-weighted money flow, filters out market noise with a custom state-matrix, and projects actionable higher-timeframe data onto the active chart. Furthermore, it incorporates an internal mathematical framework capable of dynamically calculating strict risk-to-reward targets and dispatching meticulously formatted JSON payloads for external webhook execution.
✨ Originality and Utility
● The Momentum Matrix Advantage
While traditional trend indicators rigidly lock onto moving averages or standard price bands, the AlphaTrend Momentum Matrix thrives on market dynamism. Its true utility lies in its multifaceted approach to trend validation. It introduces an exclusive "ATR Breakout Override" system—a custom logic module that forces a trend recalibration if an explosive price movement severely disrupts the standard deviation envelope, regardless of standard trailing conditions. This ensures the indicator remains highly responsive to sudden, high-impact market events without waiting for lagging conditions to catch up.
● Automated Payload and State Management
A standout feature of this tool is its embedded Trade State system. It does not merely paint a signal on the chart; it internalizes the exact entry price, computes a precise stop-loss based on the active AlphaTrend baseline, and mathematically projects a 1:2 risk-to-reward Take Profit target. This localized tracking seamlessly interfaces with the built-in Alert Engine, dynamically injecting these critical metrics into formatted JSON templates ready for third-party automated execution systems.
🔬 Methodology and Concepts
● AlphaTrend Core Engine
The primary directional engine relies on the interplay between the Average True Range (ATR) and the Money Flow Index (MFI). A trailing upper band (Support) and lower band (Resistance) are calculated using a user-defined ATR coefficient. The script interrogates the 14-period MFI; if the MFI reads above 50, indicating positive money flow momentum, the algorithm biases toward the Support band, updating it only when the price makes higher lows. Conversely, an MFI below 50 shifts the bias to the Resistance band.
● Breakout Override Protocol
To counteract the inherent lag of volume-weighted smoothing, the indicator employs a momentum breakout scanner. By measuring the absolute distance between the previous two closing prices and comparing it against the prior ATR multiplied by a sensitivity factor, the script can definitively detect volatility shocks. If a shock occurs concurrently with a directional price cross over the active AlphaTrend line, the system immediately forces a directional shift, bypassing the standard MFI requirements.
● Signal Filtering and Matrix Constraints
Raw signal crossovers are notoriously noisy during consolidation. To mitigate whipsaw trades, this script implements a continuous loop counter (the K and O matrices). It tracks the consecutive bars since the last primary buy or sell condition. A signal is only declared "valid" if it successfully breaks the historical sequence of the opposing trend counter, ensuring that localized micro-fluctuations do not trigger premature trade entries.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
● Volatility and the Average True Range
Developed by J. Welles Wilder Jr. in 1978, the Average True Range is a foundational pillar of this indicator. The ATR scientifically quantifies absolute market volatility by decomposing the entire range of an asset's periodic price action, factoring in gaps and limit moves. By applying a multiplier to the ATR, this script establishes a statistically significant standard deviation envelope, distinguishing between normal market "breathing" and definitive structural shifts.
● Volume-Weighted Momentum via Money Flow Index
The MFI, created by Gene Quigley and Colin Dysart, represents an evolution of the Relative Strength Index (RSI). From an academic standpoint, the MFI incorporates volume into its momentum calculation, producing a more robust metric of buying and selling pressure. It uses the Typical Price (High + Low + Close / 3) multiplied by volume to calculate raw money flow. The 50-level threshold serves as the equilibrium point; sustaining above this level empirically signifies net accumulation, providing the mathematical justification for the indicator's bullish bias.
● Algorithmic State Machines
The signal filtering mechanism and the internal Trade State tracker are practical applications of Finite State Machines (FSM) commonly used in quantitative algorithmic design. The script holds memory of its current operational state (Long, Short, Neutral) and refuses state transitions unless specifically validated mathematical conditions (boolean logic gates) are met, significantly reducing error rates inherent in purely reactive, memory-less indicators.
● Repainting and Lookahead Warning
This script utilizes the request component to pull Higher Timeframe (HTF) context into the primary chart. Crucially, it employs the barmerge.lookahead_on parameter. While this creates a visually perfect, non-lagging representation of higher timeframe trends when analyzing historical data, it introduces lookahead bias. Traders must understand that historical HTF visuals and signals may appear with perfect precision on past bars, but real-time execution will lack this future data context, potentially resulting in different localized behavior in live markets.
🎨 Visual Guide
● The AlphaTrend Trailing Line
Up Trend (Bullish): A bold, solid step-line tracking below the price, rendered in a distinctive golden-yellow (#F0D080).
Down Trend (Bearish): A bold, solid step-line tracking above the price, colored in a deep crimson (#7A2010).
● The Cloud Fill
Dynamic Channel: A semi-transparent shaded area connecting the active AlphaTrend line to a central Cloud Reference Line (a smoothing of the typical price). This cloud visually represents the buffer zone of the current trend.
Color Coding: The cloud dynamically changes color to match the dominant trend (Gold for bullish, Crimson for bearish), allowing for rapid peripheral analysis of market conditions.
● Price Action Overrides
Colored Candles: The bodies and wicks of the actual price candles are uniformly colored to reflect the AlphaTrend matrix state, instantly identifying periods of alignment or divergence.
● Execution Elements
Signal Labels: Distinct "BUY" and "SELL" textual shapes appear precisely on the chart at the moment the state matrix validates a trend shift.
HTF Stepline: When enabled, a secondary, smoothed step-line appears to show the overarching macro trend, colored accordingly to dictate the broader market regime.
📖 How to Use
● Trend Riding and Context
The most effective way to utilize this tool is to align the primary chart timeframe with the HTF AlphaTrend line. If the HTF line is Gold, you should strictly look for "BUY" signals generated by the primary indicator to trade in the direction of the macro trend, ignoring temporary bearish signals as minor pullbacks.
● Momentum Breakout Confirmation
When you observe a sudden color change accompanied by an unusually large price bar, this is often the Breakout Override triggering. These scenarios represent high-momentum events. Instead of waiting for a retest, aggressive traders may use these specific signals to capture immediate volatility expansions, placing their stop-loss strictly on the opposite side of the newly formed AlphaTrend line.
● Automating Your Strategy
For quantitative traders, the indicator handles the heavy lifting of trade logic. Ensure you configure the exact JSON payload strings required by your third-party execution platform (like 3Commas, PineConnector, etc.) in the settings. The indicator will autonomously calculate your risk/reward parameters upon every valid signal and fire a perfectly formatted JSON alert.
⚙️ Inputs and Settings
• ⚙️ Core Calculations
ATR Multiplier: Defines the sensitivity of the trailing line. Lower values (e.g., 0.5) track price closely for scalping; higher values (e.g., 2.0) provide wide breathing room for swing trades.
ATR & MFI Lookback Period: The standard window (default 14) for calculating both volatility and volume momentum.
Display Signals: Toggles the visibility of the "BUY" and "SELL" chart labels.
• 🛡️ Breakout Override
Enable ATR Breakout Override: Turns the momentum-shock detection system on or off.
Breakout Sensitivity: Determines how large a price jump must be (relative to the ATR) to force a trend change. Lower values trigger more aggressively.
• 🕐 Higher Timeframe
Show HTF AlphaTrend: Projects the higher timeframe data onto the current chart.
HTF Timeframe: The specific macro timeframe to monitor (e.g., Daily "D" when trading on the 1-Hour chart).
• ☁️ Cloud Fill
Show Cloud Fill: Toggles the visual buffer zone on the chart.
Cloud Reference Length: Adjusts the smoothing period of the central reference line.
Color Candles: Enables or disables the overriding of standard chart candle colors based on trend direction.
• 🔌 Webhook Execution Config
Payload Actions: Four distinct text fields where you can define the exact syntax your external bot requires for entering longs, entering shorts, closing longs, and closing shorts. These values are automatically injected into the dynamic JSON alert string.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

Elaris Volume Intelligence ProElaris Volume Intelligence Pro is a professional-grade volume analysis and smart money intelligence indicator designed to help traders understand market participation, hidden pressure, and potential reversal activity in real time.
Instead of displaying raw volume alone, Elaris Volume Intelligence Pro transforms market volume into actionable intelligence by combining relative volume analysis, volume delta estimation, CVD (Cumulative Volume Delta), absorption detection, climax activity, and smart flow momentum into a single clean and trader-friendly system.
The indicator is built for discretionary traders, scalpers, intraday traders, swing traders, and crypto traders who want deeper insight into market behavior beyond standard candles.
━━━━━━━━━━━━━━━━━━
FEATURES
━━━━━━━━━━━━━━━━━━
• Smart Volume Columns
Dynamically colored volume bars help identify bullish pressure, bearish pressure, climax activity, and absorption zones instantly.
• Relative Volume & Z-Score Engine
Detects abnormal market participation using relative volume and statistical volume expansion analysis.
• Volume Flow Momentum
A smoothed institutional-style flow model that helps traders identify whether aggressive buying or selling pressure is dominating the market.
• Bullish & Bearish Climax Detection
Highlights potential exhaustion candles during extreme participation and volatility conditions.
• Demand & Supply Absorption Detection
Detects high-volume compression behavior that may indicate hidden accumulation or distribution by larger participants.
• Volume & CVD Divergence Signals
Identifies possible reversal conditions when price action and cumulative volume behavior diverge.
• Smart Market State Dashboard
A clean built-in intelligence panel provides:
* Market bias
* Smart score
* Relative volume strength
* Volume Z-score
* Delta pressure
* Active signal state
• Dark Mode Optimized UI
Professionally designed visuals optimized for both dark and light PulseWire themes.
• Fully Configurable
All thresholds, smoothing values, divergence sensitivity, and visual layers can be customized for different trading styles and markets.
━━━━━━━━━━━━━━━━━━
HOW TO USE
━━━━━━━━━━━━━━━━━━
• Strong Bullish Conditions
Look for:
* Bullish volume climax
* Positive flow momentum
* Increasing relative volume
* Bullish divergences
* Demand absorption
• Strong Bearish Conditions
Look for:
* Bearish climax candles
* Negative flow momentum
* High sell-side pressure
* Bearish divergences
* Supply absorption
• Best Use Cases
* Crypto futures trading
* Intraday momentum trading
* Breakout confirmation
* Reversal detection
* Smart money analysis
* Volume-based confluence systems
━━━━━━━━━━━━━━━━━━
ALERTS INCLUDED
━━━━━━━━━━━━━━━━━━
The indicator includes built-in alerts for:
* Bullish/Bearish Volume Climax
* Demand/Supply Absorption
* Bullish/Bearish Divergence
* Bullish/Bearish Pressure States
━━━━━━━━━━━━━━━━━━
IMPORTANT NOTES
━━━━━━━━━━━━━━━━━━
• This indicator does not use repainting logic.
• Signals are generated using confirmed candle data.
• Works best on liquid markets with reliable volume data.
• Designed for confirmation and confluence, not standalone financial advice.
Built by Elaris Group.
Financial intelligence for modern markets.
Indicator

MTF Kinetic Oscillator | Rainbow MatrixGENERAL OVERVIEW
The MTF Kinetic Oscillator is a multi-timeframe order-flow probability oscillator that fuses 5 timeframes into a single composite score, blended with three independent order-flow sensors (CVD, Volume Climax, Squeeze) and plotted against a self-adaptive Fibonacci channel that recalibrates to current volatility conditions. Instead of treating an oscillator as a fixed 0-100 envelope where the same threshold means the same thing across all market regimes, the indicator continuously classifies the current score against an adaptive channel — and colors the chart accordingly.
The main goal of this indicator is to give traders a clean, automatic read on where the order-flow consensus sits across 5 timeframes simultaneously, and how stretched that consensus is relative to its own recent statistical range — without having to manually monitor multiple oscillators on multiple timeframes. Every value the oscillator displays is the result of a weighted aggregation of 5 timeframe scores, modulated by order-flow sensors, and contextualized against an adaptive channel.
It plots a single score line that travels through five color zones (yellow, orange, red, purple for upper extremes; green, teal, blue, aqua for lower extremes), each corresponding to a probabilistic regime. Combined with the Info Panel HUD, Vacuum Trail convergence lines, and Black Swan dynamic glow, the indicator gives a complete read on order-flow direction, statistical position, and proximity to exhaustion zones — all from a single oscillator pane.
This indicator was developed for traders who already understand oscillator-based indicators (RSI, MFI, Stochastic, CCI) and want a multi-timeframe aggregation that calibrates its thresholds to current volatility instead of using fixed 0-100 boundaries.
WHAT IS THE THEORY BEHIND THIS INDICATOR?
Most oscillators on PulseWire — RSI, MFI, CCI, Stochastic, and their derivatives — share two common architectural choices: they operate on a single timeframe, and they classify against fixed thresholds (typically 70/30 or 80/20). This treats every market regime as statistically equivalent.
The problem: market regimes are not equivalent. A score of 75 during a tight-range, low-volatility period is structurally different from a score of 75 during a volatile expansion phase. Fixed thresholds applied to a non-stationary distribution produce systematic mismatches — overbought readings that resolve into further upside, oversold readings that continue lower, signals that appear at the wrong moments precisely when volatility shifts regimes. This mismatch becomes most visible during transitions between volatility regimes: trend climaxes, capitulation lows, squeeze breakouts.
This indicator addresses both issues at once. First, the per-timeframe score is built from a Log-Normal Z-Score regression of price (which respects the asymmetric distribution of returns) blended with RSI through a sigmoid normalization. Second, the 5 per-timeframe scores are aggregated through Fibonacci weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15) into a single global score — giving the most weight to the middle macro horizons rather than the shortest or longest timeframes. Third, the global score is plotted not against fixed 0-100 thresholds, but against a self-adaptive channel whose boundaries are re-computed every bar from the highest and lowest scores in the lookback window, smoothed by EMA, and proportioned by Fibonacci ratios (1.50/1.85, 1.85/1.85, 2.75/1.85, 3.85/1.85).
The three order-flow sensors — CVD Z-Score, Volume Climax, and Squeeze — operate as modulators of the base score: the CVD bonus amplifies the score when directional order pressure dominates (clamped at ±12 points), Volume Climax drag dampens the score when abnormal volume is detected (statistical exhaustion signal), and the Squeeze damper compresses score amplitude to 25% during compressed-volatility regimes (suppressing false signals during low-conviction lateral phases).
Why traders use it: each color zone on the chart represents a different probabilistic regime, calibrated to current volatility. When the score sits between the median and the inner band (yellow/green), the order-flow consensus is in normal operating range — equilibrium. When the score crosses into the second band (orange/teal), the move has crossed into directional territory. The third band (red/blue) marks the threshold beyond which most of the impulse has already happened — exhaustion. The fourth band (purple/aqua) marks the tail of the distribution — a Black Swan event in Taleb's sense — where score positions rarely persist under normal volatility conditions.
The three order-flow sensors and the adaptive Fibonacci channel are not independent layers stacked in the same pane. They map three different aspects of the same question: where the multi-timeframe order-flow consensus currently sits (the score), how that consensus is being modulated by live order-flow pressure (the sensors), and how stretched that modulated value is relative to its own recent statistical range (the channel). The integration of all three components into a single oscillator is the reason they exist in one script rather than as three separate indicators: the cross-component blending is what surfaces multi-sensor confluence that separate-script approaches cannot produce.
MTF KINETIC OSCILLATOR FEATURES
The indicator includes 6 main features:
Multi-Timeframe Score Engine
CVD Order-Flow Sensor
Volume Climax and Squeeze Sensors
Adaptive Fibonacci Channel
Vacuum Trail and Black Swan Dynamic Glow
Info Panel HUD and Alerts
Multilingual interface and full customization across all visual layers.
MULTI-TIMEFRAME SCORE ENGINE
🔹 What It Does
The core of the indicator. For each of the 5 configured radar timeframes, the engine performs three operations:
◇ Calculates a Log-Normal Z-Score regression of price (hlc3 transformed via natural logarithm, fitted with linear regression, residuals normalized by their own standard deviation).
◇ Computes a per-timeframe RSI at a Fibonacci-aligned length (8, 13, 21, 34, 55 — one per timeframe).
◇ Blends the Z-Score (via sigmoid normalization) and the RSI into a single per-timeframe score, bounded 0-100.
The 5 per-timeframe scores are then aggregated through Fibonacci weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15) into a single global score representing the multi-horizon order-flow consensus.
🔹 Method
The regression runs in log space, addressing the asymmetric nature of price distribution that linear estimators (such as the Simple Moving Average) fail to account for. The directional reference (high vs low) is selected per bar based on candle direction — green candles use the high (upward pressure reference), red candles use the low (downward pressure reference). This produces a Z-Score that reflects the directional intent of each bar rather than the midpoint average.
The sigmoid normalization compresses Z-Scores into a bounded 0-100 range without losing the asymmetric information of extreme values. The RSI component anchors the score to a familiar momentum reference, blending two independent signal families into one bounded value per timeframe.
🔹 Hierarchical Weighting
The five timeframes are weighted by structural significance using Fibonacci proportions:
◇ TF1 (Trigger, default 5): weight 15% — fastest reactivity, lowest weight.
◇ TF2 (Intraday, default 13): weight 20% — session-scale resolution.
◇ TF3 (Macro 1, default 55): weight 25% — backbone of the score.
◇ TF4 (Macro 2, default 233): weight 25% — institutional reference horizon.
◇ TF5 (Base, default 987): weight 15% — macro trend anchor.
The middle horizons (TF3 and TF4) carry the highest weight because they typically represent the most structurally significant reference for institutional decision-making — short enough to react to current conditions, long enough to filter intraday noise.
CVD ORDER-FLOW SENSOR
🔹 What It Does
The CVD (Cumulative Volume Delta) sensor estimates the difference between buyer and seller volume per bar — measuring market-order aggression. The signed delta is normalized to a Z-Score against a 50-period rolling reference, and the resulting bonus is clamped at ±12 points before being added to the global score.
🔹 Method
For each bar, total volume is split between buyer share (proportional to `close - low / range`) and seller share (proportional to `high - close / range`). The signed delta is the difference. A 50-period mean and standard deviation define the reference; the current delta is expressed as a Z-Score against that reference, then multiplied by 4 and clamped to ±12 to control its contribution to the final score.
🔹 Why It Matters
The Z-Score component answers "where is the multi-timeframe consensus", and the RSI component answers "what is the momentum". The CVD sensor answers a separate question: "who is currently aggressive in the order book". When the multi-timeframe consensus is bullish and CVD aggression confirms it, the bonus amplifies the score. When the consensus is bullish but CVD shows seller aggression, the bonus subtracts from the score — surfacing a divergence between consensus and order-flow.
VOLUME CLIMAX AND SQUEEZE SENSORS
🔹 Volume Climax
A standalone sensor that detects abnormal volume conditions (volume Z-Score above 3.0). When triggered, a climax drag is applied to the score, signaling potential exhaustion. The HUD reports this state explicitly in the Status row.
🔹 Squeeze
A volatility-compression detector based on the percentage-rank of the current range against a 20-period lookback. When the range compresses to its 15th percentile or lower, the squeeze flag activates and the score amplitude is dampened to 25% of its normal range — preventing false directional signals during compressed-volatility regimes.
🔹 Why They Matter
These sensors operate on a different axis from the price-direction sensors. Volume Climax surfaces statistical exhaustion before it becomes visible in price; Squeeze suppresses noise during periods when the oscillator would otherwise produce false reads. Together they make the oscillator behave correctly during regime transitions, where standard oscillators are typically least reliable.
ADAPTIVE FIBONACCI CHANNEL
🔹 What It Does
The global score is plotted against a self-adaptive channel rather than against fixed 0-100 thresholds. The channel boundaries are re-computed every bar from the highest and lowest scores in a 50-bar lookback window, smoothed by 10-period EMA, and then proportioned through Fibonacci ratios into four zones:
◇ Z-Breathing (inner, yellow/green) — ratio 1.50 / 1.85 (≈ 0.811)
◇ Z-Alert (upper limit, orange/teal) — ratio 1.85 / 1.85 = 1.000 (the visible anchor)
◇ Z-Exhaustion (outer, red/blue) — ratio 2.75 / 1.85 (≈ 1.486)
◇ Black Swan (extreme edge, purple/aqua) — ratio 3.85 / 1.85 (≈ 2.081)
🔹 Why It Adapts
Fixed thresholds (70/30 or 80/20) treat every volatility regime as equivalent. The adaptive channel calibrates the rainbow visual to the actual statistical envelope of the current regime — overbought during a low-volatility consolidation does not mean the same as overbought during a volatility expansion, and the channel reflects that.
🔹 Visual Rendering
The space between adjacent channel boundaries is filled with a semi-transparent color matching the zone palette (toggleable via "Show Thermal Zone Fills"). This makes the current zone immediately visible without having to read the score number — the visual position alone tells you the regime.
VACUUM TRAIL AND BLACK SWAN DYNAMIC GLOW
🔹 Vacuum Trail
Ghost convergence lines projecting from exhaustion extremes back toward the channel median. The lines anchor at a level 15% inside the inner Breathing zone (not at the channel boundary itself), which produces visual convergence inward rather than along the edge — useful for anticipating the typical mean-reversion path after extreme touches.
🔹 Black Swan Dynamic Glow
The outermost ±3.85σ-equivalent boundaries are rendered as a main line plus a wide outer glow whose intensity scales with the score's distance from the boundary. The glow becomes bright when the score is near the Black Swan zone and fades when far — drawing visual attention only when the statistical tail is approached.
🔹 Why They Matter
Both elements give the oscillator a sense of direction beyond the score's current position: the Vacuum Trail visualizes the expected return path during exhaustion; the Black Swan Glow makes statistical tail events visible at a glance, before the score itself crosses the boundary.
INFO PANEL HUD AND ALERTS
🔹 What the HUD Shows
A compact corner panel reports six live values:
◇ SCORE — the current global score (0-100) with color matching the active channel zone
◇ PROB. — the absolute probability (distance from neutral 50 expressed as percentage)
◇ DIRECTION — BUY / SELL / NEUTRAL based on score position relative to the median
◇ CHANNEL — current channel regime classification (Uptrend / Downtrend / Sideways / Compression / Expansion)
◇ RHYTHM — score velocity classification (Fast / Slow)
◇ STATUS — Black Swan / Squeeze / Climax / Neutral, prioritized by severity
🔹 Customization
The HUD can be positioned in any of the four chart corners and rendered in any of five font sizes. The display language is controlled by the System Language input.
🔹 Alerts
Three alert types are available:
◇ Exhaustion Alert — fires when the score crosses above 85% (buying exhaustion) or below 15% (selling exhaustion).
◇ Squeeze Alert — fires when the squeeze flag activates (volatility compression detected).
◇ Black Swan Alert — fires when the score enters the ±3.85σ-equivalent extreme zone; uses an edge-trigger arm/disarm mechanism (fires once on entry, locks while inside, re-arms only on exit).
All alerts are gated by `barstate.isconfirmed` and use `alert.freq_once_per_bar` to prevent duplicate firings on the same candle. Five `alertcondition` blocks are also exposed for users who prefer the PulseWire alert UI.
MULTILINGUAL INTERFACE
The indicator supports five languages for the HUD display and alert messages: English (default), Português, Español, Русский, and 中文 (Chinese). Code, comments, group names and input labels remain in English regardless of the selected language.
For reference, the English text of all multilingual UI strings used in the HUD and alerts:
◇ BUY / SELL / NEUTRAL — direction states
◇ SQUEEZE — Low Volatility. Await the Explosion.
◇ CLIMAX — Abnormal Volume Detected. Possible Exhaustion.
◇ UPTREND / DOWNTREND / SIDEWAYS / COMPRESSION / EXPANSION — channel states
◇ FAST / SLOW — rhythm states
◇ SCORE: / DIRECTION: / CHANNEL: / RHYTHM:
◇ BLACK SWAN — EXTREME HIGH / BLACK SWAN — EXTREME LOW
◇ Buying Exhaustion Alert: " Buying Exhaustion: Score above 85%. High reversal probability."
◇ Selling Exhaustion Alert: " Selling Exhaustion: Score below 15%. High reversal probability."
◇ Squeeze Alert: " Squeeze Active: Volatility maximally compressed. Explosion imminent."
◇ Black Swan Alert: " Score reached the dynamic channel's extreme zone. Maximum statistical tension. Reversal probable."
HOW TO USE
This indicator is not a signal generator. It is a state classifier: it tells you where the multi-timeframe order-flow consensus currently sits, how stretched that consensus is relative to its own recent statistical range, and which order-flow regime (climax, squeeze, normal) is currently active.
🔹 Reading the Oscillator
◇ The score line color matches the active channel zone — visual position alone identifies the regime.
◇ The HUD reports the score numerically and classifies the channel/rhythm/status in plain language.
◇ Vacuum Trail lines indicate the expected mean-reversion path during exhaustion conditions.
◇ Black Swan glow intensity scales with proximity to the statistical extreme.
🔹 Tactical Reading
◇ Score between dyn_mid and inner band: equilibrium zone. Order-flow consensus is in normal range.
◇ Score crossing into the Alert band: directional move asserting itself across multiple timeframes.
◇ Score at the Exhaustion band: most of the impulse has already happened — continuation in trend direction becomes structurally less favorable.
◇ Score touching the Black Swan band: statistical tail event. Mean-reversion context is elevated, but regime change is also possible — the boundary itself is adaptive, so a sustained breach indicates the volatility envelope expanding.
◇ Squeeze state active: oscillator is operating in low-conviction mode. Wait for squeeze release before trusting directional reads.
◇ Climax state active: abnormal volume has been detected. Exhaustion context is present regardless of score position.
🔹 Multi-Timeframe Reading
◇ The default radar configuration (5/13/55/233/987) follows Fibonacci minute periods and is calibrated for intraday and swing trading.
◇ For scalping, configure shorter timeframes (e.g., 1/3/8/21/55).
◇ For position trading, configure longer timeframes (e.g., 60/240/D/W/M).
◇ The middle-weighted timeframes (TF3 and TF4) carry the most influence — choose them carefully.
INPUTS EXPLAINED
🔹 System Language
Display language for the HUD and alert messages. Options: English (default), Português, Español, Русский, 中文 (Chinese).
🔹 MTF Synchronization (TF1 to TF5)
Configure each of the five timeframes to aggregate. Defaults: 5, 13, 55, 233, 987 (Fibonacci minutes). Weights are fixed at 15/20/25/25/15 percent respectively.
🔹 Show Thermal Zone Fills
Toggle for the semi-transparent rainbow fills between adjacent channel boundaries.
🔹 Show Vacuum Trail (Ghost Lines)
Toggle for the convergence ghost lines from exhaustion extremes back toward the channel median.
🔹 Show Dynamic Median Line
Toggle for the channel midline (dyn_mid) — the adaptive zero-reference of the oscillator.
🔹 Show Black Swan Lines (Dynamic Glow)
Toggle for the outermost ±3.85σ-equivalent boundaries with proximity glow.
🔹 Show Info Panel
Toggle for the corner HUD reporting score, direction, channel, rhythm, and status.
🔹 Panel Position
Position of the HUD on the chart. Four corners available: Bottom Right (default), Bottom Left, Top Right, Top Left.
🔹 Font Size
HUD font size. Options: Tiny (default), Small, Normal, Large, Huge.
🔹 Exhaustion Alert
Toggle for the alert that fires when the score crosses ±85/15 thresholds.
🔹 Squeeze Alert
Toggle for the alert that fires when the squeeze flag activates.
🔹 Black Swan Alert
Toggle for the alert that fires when the score enters the adaptive extreme zone.
IMPORTANT NOTES
The MTF Kinetic Oscillator works on any timeframe. The default MTF configuration (5/13/55/233/987 in minutes) is calibrated for intraday and swing trading on liquid instruments. The Fibonacci-aligned RSI lengths (8/13/21/34/55) and per-timeframe data lengths (288/96/72/60/40) are tuned to provide roughly equivalent statistical resolution across all five horizons.
The indicator works best on instruments with reliable volume data: crypto perpetual contracts, large-cap equities, futures, major forex pairs. On low-volume instruments, the CVD component becomes less reliable, though the score engine and channel continue to function correctly using the Z-Score and RSI components alone.
Alerts fire once per confirmed bar. The Black Swan alert uses an edge-trigger arm/disarm mechanism that prevents repeated firings while the score remains inside the extreme zone. Historical bars never repaint after they close. The live bar updates intra-bar as expected for a real-time indicator.
The Value Area calibration factor (vp_k = 2.51) used internally by the score engine for the Volume Profile distance component is tuned to approximate the conventional 70% Value Area definition. The Fibonacci sigma multipliers (1.50, 1.85, 2.75, 3.85) used by the adaptive channel are intentionally non-standard — they are Fibonacci-inspired proportions, not arbitrary choices, and they map to four behavioral regimes derived from observation rather than to integer statistical thresholds.
Pine Script v6. Open-source under Mozilla Public License 2.0.
UNIQUENESS
The MTF Kinetic Oscillator is unique in four ways. First, it operates across 5 timeframes simultaneously, aggregating per-timeframe scores via Fibonacci-proportioned weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15) rather than operating on a single timeframe like RSI, MFI, CCI, or Stochastic. Second, the per-timeframe score is built from a Log-Normal Z-Score regression of price (which respects the asymmetric distribution of returns) blended with RSI through sigmoid normalization — producing a bounded composite that combines two independent signal families per horizon. Third, the global score is plotted not against fixed 0-100 thresholds but against a self-adaptive Fibonacci channel whose boundaries are recomputed every bar from the highest and lowest scores in the lookback window — calibrating the rainbow visual to current volatility regime rather than to static numerical levels. Fourth, three independent order-flow sensors (CVD Z-Score, Volume Climax detection, and Squeeze volatility compression) modulate the score continuously, with the Squeeze damper compressing score amplitude to 25% during low-conviction lateral phases — suppressing false directional signals at exactly the moments standard oscillators are typically least reliable. The combination of Fibonacci-weighted multi-timeframe aggregation, log-space Z-Score plus RSI per timeframe, adaptive Fibonacci channel, and three order-flow modulators produces an oscillator that behaves differently from single-timeframe and fixed-threshold oscillators, particularly during volatility regime transitions where standard oscillators are least reliable. Indicator

Directional Flow Signals
Directional Flow Signals is a DMI-based trend direction indicator designed to highlight shifts in directional pressure directly on the price chart.
The indicator uses the Directional Movement Index system, comparing DI+ and DI- to determine which side of the market is currently dominant.
When DI+ is above DI-, candles are colored bullish.
When DI- is above DI+, candles are colored bearish.
A Long signal appears when directional control shifts from bearish to bullish.
A Short signal appears when directional control shifts from bullish to bearish.
This allows traders to quickly visualize changes in directional bias without needing to keep a separate DMI/ADX panel open.
Key features:
- Bullish and bearish candle coloring
- Long and Short signal labels
- DI+ / DI- crossover-based trend shifts
- Built-in alert conditions
- Adjustable DMI length and smoothing
- Custom candle colors
This tool can be useful for identifying directional transitions, trend bias changes, and possible momentum shifts when combined with support/resistance, volume, VWAP, market structure, or higher timeframe confirmation.
Important:
This indicator does not predict price movement and should not be used as a standalone trading system. Since the signals are based on DI+ and DI- crossovers, they may produce false signals during sideways or low-volatility market conditions.
Inputs:
Show BUY/SELL Signals:
Allows users to enable or disable Long and Short labels on the chart.
ADX Length:
Controls the lookback period used for the Directional Movement Index calculation.
ADX Smoothing:
Controls the smoothing applied to the ADX/DMI calculation.
Up Candle Color:
Sets the candle color when DI+ is stronger than DI-.
Down Candle Color:
Sets the candle color when DI- is stronger than DI+.
Directional Flow Signals is a visual trend-bias indicator based on the Directional Movement Index.
The script compares DI+ and DI- to determine whether bullish or bearish directional pressure is dominant. Candles are colored according to the active directional bias, and signal labels are displayed when the dominant side changes.
Signal logic:
Long Signal:
A Long signal is generated when DI+ becomes stronger than DI- after previously being below it.
Short Signal:
A Short signal is generated when DI- becomes stronger than DI+ after previously being below DI+.
The goal of this indicator is not to predict reversals, but to provide a clear visual representation of directional pressure shifts.
It is best used as a confirmation layer together with price structure, volume, VWAP, support/resistance, or higher timeframe trend analysis.
Limitations:
- Signals are based only on DI+ and DI- dominance.
- The ADX value is calculated but not used as a strength filter.
- False signals may occur in ranging or choppy markets.
- The indicator does not provide stop loss, take profit, or risk management levels.
- It should be used as a confirmation or visual bias tool, not as a complete trading system.
Indicator

Crypto Dominance Rotation Map [AGPro Series]Crypto Dominance Rotation Map
🧠 Core Idea
Is crypto capital rotating toward Bitcoin, Ethereum, altcoins, or defensive stablecoin exposure?
📌 Overview / What it does
Crypto Dominance Rotation Map is a crypto market regime tool built to read capital rotation through Bitcoin dominance, Ethereum dominance, broad altcoin participation, and stablecoin defensive pressure.
The script produces a four-lane rotation map, a 0-100 Risk Participation Score, curated regime labels, right-side lane tags, alert conditions, and an AG Pro panel that summarizes the active crypto capital-flow state.
It does not predict price direction, automate trades, or claim that dominance rotation will always lead to a specific outcome. It is designed as a structured market context and visualization tool.
🎯 Purpose & Design Philosophy
This script was built to fill the gap between single-symbol price indicators and broader crypto market context.
Many crypto traders watch BTC dominance, ETH dominance, altcoin market capitalization, and stablecoin dominance separately. This script brings those references into one readable rotation map so the trader can understand the current capital-flow environment faster.
The mindset is context-first: identify where attention and capital may be concentrating before interpreting individual chart setups.
⚡ Why This Script Is Different
Most tools focus on the active chart symbol or on a basket of crypto assets.
This script does NOT try to call buys or sells on one coin.
Instead, it maps dominance rotation across Bitcoin, Ethereum, altcoins, and stablecoin defense so the trader can read the broader crypto regime behind the chart.
⚙️ Methodology
1. Dominance Mapping
The script reads Bitcoin dominance, Ethereum dominance, altcoin market-cap participation, and stablecoin dominance.
2. Rotation Scoring
Each reference is converted into a normalized 0-100 lane score using configurable momentum and smoothing.
3. Regime Classification
The model classifies the active state as BTC Lead, ETH Lead, Alt Risk-On, Defensive, Rotation Watch, or Neutral.
4. Visual Output
The script plots four rotation lanes, a Risk Participation Score, event labels, right-side tags, and a compact panel.
🗺️ How to Read the Chart
BTC Lane shows whether Bitcoin dominance is gaining leadership.
ETH Lane shows whether Ethereum dominance is improving versus the broader crypto market.
Altcoin Lane shows whether broad non-Bitcoin participation is improving.
Stable Lane shows whether stablecoin dominance is rising, which may reflect defensive positioning.
The Risk Participation Score summarizes whether crypto rotation is constructive, defensive, or undecided.
🚦 Signals & States
• BTC LEAD → Bitcoin dominance is the active leadership lane.
• ETH LEAD → Ethereum dominance is leading rotation.
• ALT RISK-ON → altcoin participation is constructive and broad risk appetite is stronger.
• DEFENSIVE → stablecoin dominance pressure is elevated.
• ROTATION WATCH → no clean leader yet, but participation is improving.
• NEUTRAL → no strong capital-flow leader is confirmed.
🔔 Alerts Logic
Alerts trigger when the active rotation state changes into a major regime.
Available alert states:
• BTC Dominance Leadership
• ETH Dominance Leadership
• Altcoin Risk-On Rotation
• Defensive Stablecoin Rotation
Alerts are attention markers only. They are not trade instructions.
🧩 Confluence Logic
Context becomes stronger when the active rotation state aligns with the trader’s chart setup.
For example, an altcoin breakout may carry stronger context when the map shows Alt Risk-On. A defensive state may encourage more caution around aggressive long setups.
📊 When to Use
• Crypto market regime review
• Altcoin season / Bitcoin dominance monitoring
• Risk-on and risk-off context checks
• Higher-timeframe crypto market preparation
• Comparing individual setups with broader market rotation
⚠️ When NOT to Use
• Very low-liquidity crypto assets
• Symbols that do not respond to broader crypto conditions
• Extremely short-term scalping where dominance data is too slow
• Periods where dominance symbols are unavailable or delayed
🎛️ Key Inputs
• BTC Dominance Symbol → Bitcoin dominance reference.
• ETH Dominance Symbol → Ethereum dominance reference.
• Altcoin Market Cap Symbol → broad altcoin participation proxy.
• Stablecoin Dominance Symbol → defensive crypto positioning proxy.
• Rotation Momentum Length → how far back rotation pressure is measured.
• Rotation Smoothing → how smooth or reactive the lane map becomes.
• Risk-On / Defensive Thresholds → state classification sensitivity.
🖥️ Interface & Visual Design
The interface is designed around a four-lane map. Each lane has a clear role: BTC, ETH, ALT, and STABLE.
Event labels highlight regime changes without turning the chart into a signal board.
The panel summarizes state, risk score, lane values, dominance readings, next context, and timeframe.
🧪 Practical Usage Workflow
1. Read the panel state.
2. Check which lane is leading.
3. Compare the Risk Participation Score with the active chart idea.
4. Use labels and alerts as context markers.
5. Confirm with price structure, volume, and your own risk plan.
🔍 Interpretation Guidelines
The script should be interpreted as market context.
BTC leadership may indicate capital concentration in Bitcoin. Alt Risk-On may suggest broader participation. Defensive stablecoin rotation may indicate caution.
No state is automatically bullish or bearish for every asset.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an auto-trading system.
It does not provide guaranteed signals.
⚠️ Limitations & Transparency
Dominance symbols may update differently from exchange-traded instruments.
Timeframe selection can materially change the rotation read.
Crypto market conditions can shift quickly during volatility events.
The script depends on the availability and quality of the selected reference symbols.
🧠 Market Context Notes
Dominance rotation is often more useful as a background regime filter than as a direct entry signal.
The strongest use case is comparing an individual crypto setup against the broader flow of capital across Bitcoin, Ethereum, altcoins, and defensive stable exposure.
🧾 Use Case Examples
When an altcoin setup appears while the map shows Alt Risk-On, the broader participation context may be more supportive.
When Bitcoin dominance leads while altcoin participation weakens, altcoin setups may require more selectivity.
When stablecoin dominance becomes defensive, aggressive risk-on interpretations should be handled more carefully.
🔐 Non-Promise Statement
No script can provide certainty.
This tool provides structured context, not guaranteed outcomes.
📉 Risk Disclosure
Trading involves risk.
Users remain responsible for their own decisions.
This script does not provide financial advice.
📚 Educational Note
Use this script to study how crypto capital rotation changes across market regimes and how that context interacts with individual chart setups.
Indicator
