Trend Survival MatrixMost trend tools tell you which way the trend is going, but not how late you are in it. The Trend Survival Matrix answers that directly. It tracks the live trend across three timescales (short, medium, and long EMA regimes) and measures each one's age — the number of bars since it last flipped. Then, from every completed trend in the chart's history, it builds an empirical run-length distribution and estimates a conditional survival probability: the odds the current trend lasts at least 5, 10, or 20 more bars given how long it has already run. Crucially, those odds are conditioned on the volatility regime each historical run was born in (low / normal / high ATR-percentile buckets), so a long, calm trend isn't judged against runs that formed in chaotic conditions.
The panel reads left to right: direction, current age, the typical (median) run length for that regime, survival odds at each horizon, and a maturity state — FRESH, HEALTHY, MATURING, EXTENDED, or EXHAUSTION — driven by an overextension z-score (how many standard deviations the current age sits above the historical mean). On the chart, a ribbon between the primary EMA pair tints by direction and fades as survival decays, so a durable trend looks solid while a fragile, overextended one visibly thins out. Markers flag new trends, and a once-per-run label warns when survival drops below your threshold — useful for deciding whether to add, tighten stops, or prepare to fade.
Everything is empirical and inspectable — the survival figures come straight from the instrument's own history, not a black box or preset numbers. The engine is fully non-repainting (state advances only on confirmed bars, with no higher-timeframe requests), so the readings stay stable when you switch chart timeframes. Where there aren't enough historical samples to condition on, the panel honestly reports LOW DATA and a confidence flag rather than showing a made-up probability. Works on any symbol and timeframe; tune the EMA lengths, horizons, and volatility buckets to your market. Indicator

Crypto Correlation Dashboard [StrixEDGE]Overview
A real-time Pearson correlation matrix built for crypto portfolio analysis. Tracks the statistical co-movement between up to 6 assets across selectable timeframes, using log-return correlation — not raw price correlation — to avoid the inflated readings that plague most correlation tools.
Whether you're managing a multi-asset portfolio, hunting pairs trades, or monitoring regime shifts, this dashboard tells you exactly when diversification is real and when it's an illusion.
🔍 What Makes This Different
Most correlation indicators on TradingView calculate Pearson r on raw closing prices. That's a statistical mistake: two assets trending upward will always show near-perfect correlation on price, even if their returns are completely independent. This indicator correlates **logarithmic returns**, which isolates actual co-movement from shared trend bias.
The multi-timeframe engine uses a period-scaling method through `request.security` that preserves mathematical accuracy when projecting higher-timeframe correlations onto lower-timeframe charts — consuming only 6 security calls total, leaving headroom for other indicators on your layout.
⚡ Key Features
6×6 Correlation Matrix
Full heatmap-style matrix covering all 15 unique pair combinations (C(6,2)). Color intensity maps directly to correlation strength: teal for strong positive, red for strong negative, neutral gray for uncorrelated pairs. Diagonal cells are blanked — no wasted space showing you that BTC correlates with BTC.
Multi-Timeframe Support
Select from Chart / 1H / 4H / 1D / 1W directly in settings. The lookback period auto-scales to the target timeframe resolution, so "20 periods on Daily" means 20 trading days regardless of your chart timeframe.
Rolling Correlation Chart
Select any pair (Leg A / Leg B) and track its correlation coefficient over time as a continuous line. Shaded fill between the line and zero gives an instant visual read of direction and magnitude. A dynamic label on the last bar displays the current ρ value.
Aggregate Statistics Bar
Footer row shows AVG / MIN / MAX across all 15 pairs at a glance. When the minimum correlation drops to or below your threshold, a ⚠ BREAKDOWN tag appears.
Three Independent Alert Conditions
- Pair Breakdown — fires when any single pair falls to or below your threshold
- Average Breakdown — fires when the market-wide average correlation collapses
- Rolling Crossunder — fires when your selected pair crosses under the threshold
📐 How to Use
Portfolio Diversification Check
Add your held assets as Symbols 1–6. If the matrix is mostly dark teal (all pairs > 0.7), your portfolio moves as a single block — you're concentrated, not diversified. Look for pairs with low or negative correlation to add genuine hedging value.
Regime Change Detection
Monitor the AVG stat in the footer. A sudden drop in average correlation often precedes volatility expansion, sector rotation, or flight-to-quality moves. The average breakdown alert automates this surveillance.
Pairs Trading
Identify pairs with historically high correlation (> 0.8). When their rolling correlation temporarily collapses, it may signal a mean-reversion opportunity. Use the rolling chart to time entries and the crossunder alert for notifications.
Risk Management
During market stress, correlations tend to spike toward 1.0 across the board ("correlation breakdown to the upside"). When the matrix turns uniformly teal, portfolio risk is higher than position sizing alone suggests.
⚙️ Settings
| Parameter | Default | Description |
|---|---|---|
| Symbols 1–6 | BTC, ETH, SOL, BNB, XRP, ADA | Any tradable asset — crypto, forex, equities, commodities |
| Lookback Period | 20 | Number of target-TF bars for Pearson calculation |
| Timeframe | Chart | Correlation resolution: Chart / 1H / 4H / 1D / 1W |
| Breakdown Alert ≤ | 0.30 | Threshold for all three alert conditions |
| Rolling Pair | 1 × 2 | Which pair (by index) to plot on the rolling chart |
| Matrix Position | Top Right | Table placement on the pane |
| Colors | Brand defaults | Full control over positive, negative, neutral, header, and accent colors |
🧠 Technical Notes
- Log returns `ln(close / close )` are used instead of simple returns for better statistical properties (additivity, normality approximation).
- TF scaling: When the selected timeframe exceeds the chart timeframe, the lookback is multiplied by the bar ratio. Pearson r is invariant under uniform observation duplication, so accuracy is preserved.
- Security calls: 6 total (one per symbol), well within Pine's 40-call limit.
- Symbol parsing: Automatically strips exchange prefixes (Binance, Bybit, Coinbase, OKX, etc.) and quote currencies (USDT, USD, BUSD, USDC) for clean matrix labels.
- Works on any asset class — not limited to crypto despite the default symbols.
⚠️ Limitations
- Selecting a timeframe **lower** than your chart TF (e.g., "1H" on a Daily chart) will not produce hourly-resolution correlation. The multiplier floors at 1 and you get chart-TF correlation. For true 1H correlation, view on a 1H chart.
- Pearson correlation measures **linear** relationships. Non-linear dependencies (tail risk, asymmetric co-movement during crashes) require different tools.
- Past correlation does not guarantee future correlation. Regime shifts can invalidate historical readings without warning — which is exactly why the breakdown alerts exist. Indicator

Cross Asset Relative Strength Matrix [Pineify]Cross Asset Relative Strength Matrix
Overview
This indicator compares up to eight markets through a bounded relative-strength heatmap, consistency-weighted ranks, and one focus history. Every row states whether its snapshot is LIVE or STALE.
Problem Definition
Raw performance tables rank endpoint percentage change but ignore its path. A smooth advance and a violent round trip can end equally, while high-volatility assets can dominate. Mixed quote currencies and asynchronous sessions further break comparability. The useful question is which asset has the strongest normalized move, how coherently it formed, and whether its source has updated recently.
Design Rationale
Log returns add across a shared window. Window return divided by root-sum-square one-bar returns measures displacement against path energy, then a bounded transform limits extremes. A price z-score was rejected because it measures local-mean distance rather than shared-window performance. Cells show standardized differences while rank discounts reversal-heavy paths. Currency normalization aligns price basis. Source timestamps commit snapshots only when markets advance; the stale threshold labels rather than erases an old snapshot.
Key Features
Eight symbols and optional currency normalization.
Pairwise heatmap with consistency-aware intensity.
Cached last-valid snapshots with LIVE or STALE status.
Consistency rank, focus line, halo, rail, and gated alerts.
How It Works
Each symbol uses the chart timeframe and lookahead off. A source timestamp change commits its cached score.
Optional daily rates convert the declared quote currency; a missing rate prevents a valid snapshot.
Window log return divided by one-bar return energy is bounded from -100 to +100.
Path efficiency and directional agreement form a 55/45 consistency score.
Each cell is row score minus column score. Teal leads, magenta lags, and reliability controls intensity.
Rank applies consistency; the focus line subtracts basket mean quality. STALE values remain visible with dimmed heat and explicit text.
Warm-up needs the full window and a valid source update. Too few cached assets suppress output. Alerts require the configured minimum number of current assets plus a current focus asset.
How Multiple Indicators Work Together
The components form one chain. Currency defines price basis; energy scaling creates comparable returns; path statistics describe formation; subtraction identifies leadership; timestamp caching preserves the last cross-section while exposing age. Without energy, volatility dominates; without consistency, smooth and reversal-heavy paths look alike; without LIVE/STALE labels, asynchronous times are hidden. Heatmap, rank, and focus line are views of this chain.
Trading Ideas and Insights
Use an economically related basket such as regions, sectors, macro proxies, commodities, or major crypto assets. Positive cells across a row describe relative leadership; high rank with low consistency describes a noisy advantage. A focus move above zero or into the top two can prompt chart review, not an automatic entry. Treat STALE rows as historical context, and keep structure, liquidity, and risk decisions separate.
Unique Aspects
The contribution is separating comparison value, path confidence, and timestamp state. Common heatmaps sort one raw return, then silently fill or erase unavailable rows. Here, cells retain bounded return-energy differences, rank applies consistency, and source-driven snapshots freeze between actual updates. The table distinguishes magnitude, path quality, and whether data is current.
How to Use
Choose two to eight related symbols; the intended range is 4H to 1W. Set one lookback and focus slot. For mixed currencies, enable conversion and declare each quote correctly. Read across rows for leadership, use RANK / DATA to distinguish LIVE from STALE, and use the focus line for history. Amber means the focus reading is stale or below the consistency floor; the table identifies the data state.
Customization
Short windows react faster but are endpoint-sensitive; long windows adapt later. Minimum active assets controls coverage. Maximum stale bars controls when a cached row changes from LIVE to STALE; it does not delete the snapshot. The consistency floor changes the amber state. Focus slot changes the history and alerts, not the matrix. Matrix, halo, background, and rail remain independent visual switches.
Assumptions and Limitations
Daily FX rates and asset prices may update on different schedules; wrong declarations mislead. A confirmed snapshot remains visible after its market closes and becomes STALE after the threshold. It still affects the descriptive matrix and rank, so asynchronous baskets can compare different observation times; dimmed cells and text disclose this limitation. Alerts require a completed bar, current focus, and enough current assets. Scaling is not beta adjustment, correlation control, forecasting, or optimization. The basket is equal-observation, not capitalization weighted. Permissions, invalid symbols, illiquidity, corporate actions, rolls, and holidays can distort coverage. Current-bar values may change intrabar. No future data or lookahead is used.
Conclusion
The matrix reports standardized differences, consistency ranks, snapshot age, and focus history—not prediction. Use a coherent basket and correct currencies; STALE means last confirmed, not live.
Indicator

Return Dispersion Matrix Strategy [The Quant Science]This is a simple buy and sell strategy developed using the Dispersion Return Matrix indicator.
Before proceed, if you are new to Dispersion Return Matrix
About Dispersion Return Matrix:
This strategy script highlights the potential of Pine Script, which makes it easy to incorporate quantitative ideas into your trading strategy. In this example, the algorithm decides which type of entry to choose based on the current market conditions.
🚦🟢 When Quadrant Q1 is dominant , the market is in a strong trend phase and is suitable for trend-following and bullish breakout strategies. Strat will use a trend-following approach for entries in this market phase.
🚦🟢 When Quadrant Q2 indicates a mean reverting market where buyers step in immediately when prices fall, suitable for accumulation strategies on pullbacks. In this phase, we will use RSI oversold entries.
🚦❌ When Quadrants Q2 and Q3 dominate the market , no trading is conducted, as there are no trading opportunities for our strategy during this phase.
What is it for?
To test the indicator's functionality within a trading strategy.
To demonstrate how to structure a trading strategy by integrating the Dispersion Return Matrix into your code.
The algorithm monitors the market and trades only when quadrants Q1 and Q2 are the winners , ensuring that it trades during a favorable market condition. The algorithm never trades when Q3 and Q4 dominate the market.
Depending on the winning quadrant, the algorithm applies two different entry strategies:
🏆 Q1 Win: Trend following strategy
🟢 Entry condition: closing price higher than the previous closing price and price above the 20-period SMA.
trend_following_strat_entry = close > close and close > sma
🏆 Q2 Win: Mean reverting strategy
🟢 Entry Condition: The RSI(14) indicator crosses below the oversold level of 35.
mean_revert_strat_entry = ta.crossunder(rsi, 35)
Exits are always calculated using a take-profit and a fixed percentage stop-loss. The take-profit and stop-loss values are calculated based on the entry price of the opening trade.
The values set in the code are 🟢 5% for the take-profit and 🔴 15% for the stop-loss.
tp = 5
sl = 15
The capital used for trading is 10% of the initial capital.
qty_order := (strategy.initial_capital * 10)/100
Opens only one trade at a time.
The algorithm highlights in white on the chart the market periods when Q3 and Q4 dominate the market, making it easy to assess the strategy's reliability in the past.
Strategy

Return Dispersion Matrix [The Quant Science]Introduction
The Return Dispersion Matrix is a quantitative analysis tool that maps the temporal dependence of returns. In technical terms, performs a two-dimensional, 1-lag autocorrelation analysis, measuring the relationship and relative frequency between the return of the previous session (Yesterday) and that of the current session (Today) within specific volatility ranges.
It answers the key questions:
💭 🔑 “When a candle closes in the green or red, what is the most common range of returns?”
💭 🔑 “When the price did X yesterday, what does it probably do today?”
What does this indicator do?
1. Automatically calculate the probability of future returns for a given range of values and display the result in the right-hand column.
2. Instantly identify the market trend using the quadrants. Calculates the quadrant with the highest number of points and highlights it by lighting it up.
🟢 Q1
A green candle followed by another green candle
High concentration of points indicates that positive days tend to generate immediate additional momentum
Suitable for trend-following and bullish breakout strategies
🟢 Q2
A red candle followed by a green candle
Heavy trading volume indicates a “resilient” market: buyers step in immediately when prices fall (“buy the dip”)
Suitable for accumulation strategies on pullbacks
🔴 Q3
A red candle followed by another red candle
Indicates that sales generate further sales without immediate support
Sign of underlying weakness or persistent downtrends
🔴 Q4
A green candle followed by a red candle
There are many indications that rallies are short-lived and lead to rapid profit-taking in the Suitable for “sell the rally” strategies
The horizontal X-axis represents the return of the previous candle (t-1), while the vertical Y-axis shows the return of the current candle (t). This allows you to visually determine whether a positive or negative day tends to be followed by one of the same sign (persistence) or the opposite sign (mean reversion).
X-axis
To the right of 0: previous candle closed in positive territory (+)
To the left of 0: previous candle closed in negative territory (-)
Y-axis
Above 0: current candle is closing / has closed in positive territory (+)
Below 0: current candle is closing / has closed in negative territory (-)
3. Automatically calculates volatility bands. It identifies the maximum range observed during the analysis period and divides the positive values into bands. These values are displayed in the left column in white.
4. Automatically calculates frequency clusters. The density and transparency of the points immediately reveal where most sessions are concentrated and which events represent anomalies or extreme outliers.
Uses
Identifying the Market Regime
Observing the concentration of points reveals the prevailing nature of the asset:
Q1 / Q3 Prevalence (Trend / Inertia): The market tends toward continuation. The best strategy is to buy on breakouts or sell on support breaks.
Prevalence of Q2 / Q4 (Mean Reversion): Buying at highs is statistically a losing strategy.
Assessment of Asymmetry and Risk Management (Fat Tails)
By comparing the vertical extent of the points on the positive and negative sides:
If, on the negative side (Q3 / Q4), the points frequently reach the extreme ranges (e.g., -L4 or -L5), while on the positive side they stop at +L2, the asset exhibits asymmetric downside volatility (crash risk). Essential for the correct calculation of position sizing and for the strategic placement of stop-loss orders.
Operational Execution Filter (Probabilistic Edge)
The tool acts as a statistical validator before entering the market:
Example: A trader wants to go long on an asset. The matrix shows that, under current conditions, Quadrant Q2 has a frequency of 45% (high probability that a red day will be followed by a green day). Instead of buying during the positive candle, the trader waits for a negative session to close before placing a buy order at the next opening, thereby maximizing expected return.
Settings
Traders can easily adjust the indicator's parameters using the user interface.
Data Points Visualization: adjust the number of points within the matrix
Matrix Offset: move the table to the right on the graph
Levels Color: set the indicator colors
Highlight Dominant Quadrant: apply automatic calculation of the winning quadrant
Indicator

Multi-Anchor_VWAP & Deviation Bands [AFD]
Three anchored VWAPs on one chart, with the price zones where they agree shaded in for you.
WHAT IT IS
An anchored VWAP shows the average price everyone has paid since a moment you pick - the gap open, the earnings bar, the swing low that started the move. That is where buyers from that moment sit at break-even, which is why price keeps coming back to it.
One anchor answers one question, so most traders end up dropping three or four by hand and dropping them again every session. This runs three at once: each anchors where you want, each carries its own deviation bands, and the script shades the zones where two of them line up.
THE CONFLUENCE SHADING
Look at this first. It does work you would otherwise do by eye.
When your session VWAP and your weekly VWAP arrive at the same price, that price is being watched by two different groups at once. Those levels tend to matter more than either line alone, and with three curves running they are easy to miss.
The script shades between any two layers that come within your tolerance of each other - on by default at 8 points, and it checks all three pairings, 1 to 2, 1 to 3 and 2 to 3.
Set the tolerance in ticks, points, currency, or percent of price. Trading more than one instrument, use percent: it is the only one you never have to re-tune when you change symbol.
THE ANCHORS
Ten per layer, mixed freely.
Set and forget - Session, Week, Month, Quarter, Year. Re-anchors itself every new period.
Pick the bar yourself - Manual timestamp. Type a date and time. This is the one for an earnings bar, a Fed day, a gap.
Let the chart find it - prior-session high or low, confirmed swing high or low. These follow structure so you are not re-anchoring by hand.
Defaults are session and week, the pairing most intraday traders want.
Two things about the structure anchors look broken if nobody warns you:
The curve shows up late. A swing is not a swing until enough bars print after it. At swing length 10 the line appears 10 bars after the pivot, then draws itself back to the pivot where it belongs.
It never rewrites history. When a newer pivot confirms, the layer re-anchors from there forward. Everything already drawn stays put.
THE BANDS
Up to three per layer, each with its own multiple from 0.0 to 10.0. They tell you how stretched price is from that anchored average. Four ways to measure the stretch:
Standard deviation (default) - how far price usually strays from this average. The classic VWAP band.
ATR - sized by recent range instead, so the envelope opens up in fast markets.
Percent of VWAP - a fixed percentage. Same shape on any instrument.
Standard error - starts wide on a fresh anchor and tightens as the window fills.
Type the multiples in, or load a Fibonacci preset: 0.382 / 0.618 / 1.0 for the inner set, 1.0 / 1.618 / 2.618 for the outer.
IT TELLS YOU WHEN IT CANNOT DO ITS JOB
An anchored VWAP can quietly stop being volume-weighted, or stop covering the window you think it does. This one writes it on the layer's own label, and these notes cannot be switched off - they show even with line labels turned off:
"UNWEIGHTED (no volume)" or "N bars unweighted" - the feed gives no usable volume, so this is a plain average, not a VWAP. Most indices and some spot forex. This is the one that matters.
"one bar per session" / "two-bar window" - a prior-session anchor on a daily or higher chart, where it can only ever span two bars.
"clipped to the draw depth" or "segment past the 5,000-bar buffer, not drawn" - the line starts in mid-air because it hit a drawing limit, instead of pretending it reaches further back than it does.
"(retro)" - a structure anchor, found after the fact. "RTH" - regular hours only, which changes what the average is.
A clean chart carries none of these. One showing up means something you could not otherwise see has happened.
SETTING IT UP
Add it. Layer 1 takes the session, layer 2 the week, and the shading marks where they agree.
Want one clean line? Switch layer 2 off. Want a third timeframe? Switch layer 3 on.
Anchoring to an event: Manual timestamp, then the bar's date and time. Anchoring to structure: a confirmed swing or a prior-session extreme.
Running two or three layers, turn on "Show anchor" - once bands overlap, a label naming its starting bar beats one that just says "L2".
84 inputs in seven groups, and anything that does not apply greys itself out.
ALERTS
One alert: VWAP crosses, band crosses, both, or off. Create it in TradingView with "Any alert() function call". It only fires when a bar closes, never mid-bar, so you are not woken up by a wick that gets taken back.
WORTH KNOWING BEFORE YOU USE IT
Structure anchors draw late. That is the trade for anchoring to something only confirmable in hindsight.
History runs 5,000 bars, and draw depth caps how far a line reaches. Hit either and the label says so instead of the line quietly stopping short.
On "Regular hours only" the ATR bands still measure across every bar on the chart, so they use a wider set of bars than the average does.
"Current window only" hides older curves once a repeating anchor has cluttered things up. Fills, the prior-window level and the confluence shading switch off in that mode.
These bands are this script's own definition, not a claim of equivalence with anyone else's bands of the same name.
Not usable in the Pine Screener - the manual anchor needs a time input, and the Screener substitutes its default instead of reading it, so it would anchor from the wrong bar without telling you.
One symbol, one timeframe. No higher-timeframe or cross-symbol requests.
WHAT MAKES IT DIFFERENT
Three genuinely independent anchors - own anchor, own source, own colours, own bands. Not one anchor with presets.
Confluence shading across all three pairings, in four choices of unit.
It anchors to bars it can only recognise after the fact - prior-session extremes and confirmed swings - and back-fills the curve to them. A running-total VWAP cannot reach backwards like that without starting over.
It states its own failure modes on the chart instead of returning a number that is not what its name says.
Four band bases behind one band definition, and Fibonacci ratios as presets on the levels you already have rather than as extra clutter.
Open source under the Mozilla Public License 2.0. Indicator

Pivot Matrix + Zones [AFD]Overview
Pivot Matrix + Zones brings up to three independently configured pivot systems into one coordinated overlay. It combines exact pivot ladders, standard Central Pivot Range (CPR), ATR- or tick-scaled reaction zones, formula-aware cross-pack confluence, retained untested levels, a compact context dashboard, and seven bar-close alert conditions.
Each pack can use a different formula and anchor, allowing combinations such as Daily Traditional, Daily Camarilla, and Weekly Fibonacci to be compared without merging their identities.
The script is designed for descriptive market context. It does not produce trade recommendations, forecasts, performance statistics, or automated orders.
What makes it different
The script's original contribution is its identity-aware coordination of the three packs rather than a simple stack of pivot lines. Each pack has its own formula, anchor, tier ceiling, formula-pivot and CPR visibility, labels, R/S color, and line style. One shared lifecycle model freezes reaction width at origin, carries formula and anchor provenance into retained levels and alerts, and keeps dashboard and drawing state aligned.
Confluence requires overlapping reaction zones from at least two distinct enabled packs. Multiple levels or historical origins from only one pack do not create confluence, and duplicate canonical levels do not inflate the displayed pack count. Exact formula-and-anchor duplicates are marked inactive instead of drawing the same configuration twice.
The implementation and lifecycle logic are original. The named pivot methods use standard published calculations identified below; no third-party indicator source code is reused.
Pivot formulas and anchors
The three packs can use Traditional, Floor Pivots, Fibonacci, Woodie, Classic, DM, Camarilla, Frank Dilernia, Shadow Trader, or ACD Method calculations. Traditional, Fibonacci, Woodie, Classic, DM, and Camarilla use the formulas documented for TradingView Pivot Points Standard. Floor Pivots uses the standard prior-period high, low, and close ladder through R3/S3; those levels match Traditional through the third tier, while Traditional retains its additional R4/R5 extensions.
Available anchors are Auto, Daily, Weekly, Monthly, Quarterly, and Yearly. Auto uses Daily pivots on chart resolutions through 15 minutes, Weekly pivots above 15 minutes and below one day, and Monthly pivots on daily-or-higher charts.
Each formula stops at its documented native tier. The Through Rn/Sn controls do not create unsupported extension levels. Camarilla calculations use the standard R/S equations and display H/L aliases alongside those names.
Data and session handling
Use daily-based values to request anchor data from the selected symbol context. Exchange default, RTH, and ETH choices are available. For futures, ETH uses the exchange-default electronic context, while RTH uses the named subsession entered in the settings. The default futures RTH name is us_regular, but valid names are symbol-specific.
On intraday charts, turning daily-based values off builds anchor values from the chart feed. This may reflect a visible session more closely, but Quarterly or Yearly anchors can have insufficient intraday history. On daily-or-higher charts, the script continues to use daily-based anchor data.
Most formulas use completed prior-anchor values. Woodie also uses the fixed open of the active anchor. The optional developing next CPR uses the active anchor's changing high, low, and close; it is visually separated and never enters confluence, retained history, or alerts.
CPR and reaction zones
CPR always uses the standard floor-pivot calculation from the completed period's high, low, and close. Its chart labels identify the center as PP, the lower Bottom Central boundary as Lower (BC), and the upper Top Central boundary as Upper (TC). This CPR pivot remains separate from a formula pivot when methods such as Woodie or DM produce a different value.
Reaction zones are symmetric bands around exact pivot prices. Their half-width can use confirmed Daily ATR, completed anchor ATR, or a fixed number of minimum ticks. The width is frozen when an anchor's geometry is created, so an existing zone does not drift as ATR changes inside that anchor. The exact pivot remains the center line; the surrounding fill is a configurable context band.
How to read the chart
Exact center lines are the calculated PP, resistance, support, or CPR levels. Soft surrounding fills show the configured interaction distance; they are not additional pivot levels or predictive outputs.
By default, formula PP lines and matching fills are yellow, Pack A R/S lines and fills are blue, and CPR boundaries and the central range are purple. Active labels identify Formula + Level, while CPR labels distinguish PP, Lower (BC), and Upper (TC). Price text is optional and hidden by default.
Confluence and retained levels
When eligible reaction zones from at least two distinct packs overlap, the script merges the overlap transitively into a confluence band. Each label names the unique contributing formulas and then shows the number of distinct packs represented, such as Traditional + Fibonacci x2. Enable confluence is the master control and is on by default. Turning it off removes confluence zones and labels and suppresses Confluence Touch events while the pivot packs, dashboard, retained-level lifecycle, and other alerts continue. When enabled, confluence color, text color, and projection change the display only, not the overlap or alert identity.
At an anchor rollover, eligible pivot zones that were not touched during their active period can be retained as Untested. A later confirmed wick overlap changes the record to TESTED, freezes and fades its drawing for 20 chart bars, and removes it afterward. Retained drawings are off by default, but lifecycle tracking, dashboard counts, confluence eligibility, and fill alerts continue while the drawings are hidden.
Dashboard
The compact dashboard shows only enabled packs with their selected pivot formula and any non-active status. It then classifies the two-period CPR relationship, reports whether the active-anchor open is above, below, or inside CPR, and shows the nearest retained untested level with the live count across all packs. CPR context follows the first enabled pack in A/B/C order.
Display controls
Active geometry can end at a finite current-bar offset, at the anchor end, or extend right. Confluence has its own finite current-bar, finite label-offset, and extend-right choices. Show confluence only hides non-confluence drawings while confluence is enabled; turning the master control off restores the normal layers. Calculations, the dashboard, lifecycle processing, and all enabled alerts continue.
Formula PP, CPR, labels, displayed prices, label size, line width, reaction shading, tier depth, and retained-level styling can be adjusted independently. Formula PP lines and fills default to yellow, Pack A R/S lines and fills default to blue, and CPR boundaries and the central range default to purple. The Inputs tab follows a numbered workflow and dims controls that do not apply without disabling calculations that still use their state. Prices are hidden by default, and chart labels identify formula and level without A/B/C prefixes; dashboard and alert provenance retain pack identity. Duplicate formula-and-anchor pack configurations are rejected rather than drawn twice.
Suggested setup workflow
Configure Pack A as the primary context, then enable Pack B or C when a second formula, anchor, or both are needed for comparison. Choose the highest native R/S tier, session basis, reaction-width method, and projection for the chart being reviewed. Use the dashboard and labels for identity, Show confluence only to isolate cross-pack overlaps, and retained-level drawings when the untested lifecycle should remain visible.
Create alerts only after the symbol, timeframe, sessions, pack settings, and reaction-width inputs are finalized, because those chart settings define the levels and events being monitored.
Alerts
Seven fixed conditions are available: Active Level Touch, Cross Up, Cross Down, CPR Enter, CPR Exit, Untested Level Filled, and Confluence Touch. Events confirm at chart-bar close. Optional dynamic messages aggregate supported events from the same confirmed bar and include available pack, formula, anchor, level, origin, and price context. TradingView running alerts retain the script inputs saved when they were created, so delete and recreate an alert after changing Enable confluence or another input.
Limitations
Pivot values and rollover timing depend on the selected symbol, data feed, anchor, session context, and available history. Daily and intraday feeds can differ because of extended hours, futures settlements, and feed construction. An invalid futures subsession name can fall back to the exchange default, so confirm the requested name in Inputs and compare the resulting pivots with the intended session.
Reaction zones and confluence visualize proximity; they do not predict a response. Untested means the configured zone was not touched during its tracked active period; it does not imply that price must revisit or react to it.
Use a standard time-based chart when evaluating touches, crosses, and alerts because those events use the chart's OHLC bars. Alerts still depend on TradingView alert creation, chart settings, feed updates, and bar-close processing.
The script keeps bounded histories of up to 30 live untested levels and 20 fading tested markers, with older retained records removed as those limits are reached. Confluence display is capped at 20 zones.
This is a public open-source Pine Script v6 indicator with a Mozilla Public License 2.0 source header. TradingView's open-source reuse rules apply on-platform before the license terms. It is an educational charting tool and is not financial advice. Indicator

PO3 Matrix+ (M1D)PO3 Matrix+ (M1D)
Projects the recent candles of a chosen higher timeframe as a compact candle matrix beside live price, then marks the liquidity events, structure and PD array context that develop on that timeframe — taken swings, structure shifts, fair value gaps, previous-day levels, and cross-market divergence. The intent is to read higher-timeframe conditions without leaving the execution chart, and to keep every drawn element sourced from the same data so nothing drifts out of step.
── HOW IT IS BUILT ──
The selected higher timeframe is pulled once, as a snapshot of its recent candles, and every element is drawn on the last bar from that one source. Dividers, high/low rails, quadrants, sweeps, gaps and structure all read the same array, so they cannot disagree with each other. The forming candle is accumulated from chart bars, so it updates live without repainting its history.
Level lines are origin-anchored: each one begins at the candle that actually printed the extreme, not at the bar where the level happened to be calculated. Derived midlines (equilibrium, the inner quartiles) have no originating candle, so they run from the period open instead.
── WHAT IT DRAWS ──
PO3 CANDLE MATRIX — the selected higher timeframe's recent candles, projected to the right of price with time dividers on the live chart and a per-candle high/low rail. A countdown above the block shows the timeframe in use and the time left on the forming candle. The PD array context is mirrored onto the block at its own horizontal scale, and each event carries a compact direction marker there, so the block reads as a standalone view of what that timeframe is showing.
CANDLE EQUILIBRIUM — the true 50 percent of each completed candle in the block, as a reference the following candle can retrace into.
CURRENT-RANGE QUADRANTS — the forming candle's high, 75 percent, equilibrium, 25 percent and low projected across price as a live premium and discount reference.
LIQUIDITY SWEEPS — only swing liquidity is marked. A level qualifies when it is a swing high or swing low that a later candle raids and then closes back inside: wick beyond, body back within. A candle that simply trades past its neighbour is not a sweep and is not marked.
SMT DIVERGENCE — the correlated market is read on the same higher-timeframe grid, so the two align candle for candle. A SMT is marked when your chart takes a swing but the peer fails to take its matching swing, meaning the move lacked cross-market participation. The peer auto-pairs across equity indices, precious metals and BTC against ETH, in matching contract sizes, and can be overridden with any symbol. It deliberately does not guess a peer for markets where the correlation is too loose for a divergence to mean anything; with no pairing, no SMT is drawn. A SMT is invalidated in real time once price trades back through the extreme that formed it, and is then either faded or removed.
MARKET STRUCTURE SHIFT — a true swing broken by a body close. A swing here means a level price actually turned at: a swing low sits at the change from a down candle to an up candle, a swing high at the change from an up candle to a down one. A low that merely sits under its neighbours while price kept running the same way is not a swing and is never used, which is what separates this from a plain pivot break. The first candle to CLOSE beyond the swing's full wick — body, not wick — marks the shift; later closes past the same level are continuation and are not marked. An optional setting requires a liquidity raid to precede the shift, for the classic sweep-then-shift sequencing: a buyside raid before a bearish shift, a sellside raid before a bullish one.
FAIR VALUE GAPS (BISI+ / SIBI-) — detected on the higher-timeframe snapshot, so they are multi-timeframe by construction. Only fully formed gaps are drawn; a gap still forming on the live candle is ignored until it completes. Each zone moves through four states: live, active, inverted, or spent. A gap closed clean through has inverted — the old support is now resistance, or the reverse — and it stays inverted, flipped and redrawn in the inversion colour, for as long as that break holds. No retest is required, because a retest is where the level gets traded rather than what makes it valid. Closing back through in the original direction takes the gap back; the zone is spent, and fades but stays on the chart as history rather than disappearing.
PREVIOUS-DAY LEVELS — previous high, low and equilibrium, drawn from session start and dimming once taken. Three definitions of the day are offered because they genuinely differ on futures: the symbol's own daily candle, midnight to midnight New York, or the regular-hours session only. Regular hours are taken from the instrument itself rather than a fixed clock, so index futures, metals and everything else each use their own session. The label carries the source date, so a level that is several days old after a weekend reads as intentional.
CONTEXT TABLE — day, AMD phase, forming-candle bias, premium or discount, higher-timeframe direction, last sweep, market structure shift, fair value gap, previous-day status, and a session-close countdown. SMT is drawn on the chart and the block but does not have its own table row.
── SETTINGS WORTH KNOWING ──
The higher timeframe must be above the chart timeframe; the script says so on the chart if it is not.
Session handling is read from the instrument, not hardcoded, so the regular-hours option and the session countdown are correct on index futures, metals and anything else without configuration. Instruments that trade around the clock have no regular session, and the countdown says so rather than inventing one.
Every drawn element can be turned on or off on its own, and the chart labels and the compact markers on the projected block are controlled separately, so the block can be kept clean while the chart stays annotated. Label size, colour, vertical clearance, which side of a line a label sits on, and the marker glyph style are all adjustable.
Fair value gap sensitivity is measured against the average range of the visible higher-timeframe candles, so it scales per instrument rather than being a fixed distance. Raise the minimum height and displacement to keep only the larger gaps.
Market structure shift has an optional displacement requirement, off by default. Turn it on if you want the shifting candle to also expand or leave a gap, which reduces how often it marks.
Sweeps, gaps and structure marks each have a maximum shown, so the chart stays contained rather than accumulating history indefinitely. Gap zones also declutter against each other: two translucent zones stacked on the same prices multiply into a solid block, so a zone overlapping one already drawn beyond an adjustable tolerance is skipped and the most recent gap in that price band is the one kept. The same idea applies to stacking: two same-direction zones separated by only a thin seam read as one inefficiency wearing two boxes, so the older one is removed and the newest kept. Zones facing opposite directions are never removed for sitting close together — they are genuinely different reads.
── NOTES ──
Detection runs on completed higher-timeframe candles. The forming candle updates live, but a gap or a structure mark is only considered once the candles that define it have closed.
SMT is not available in bar replay. Replay rewinds the chart symbol only, so the correlated symbol keeps returning its live data and the two grids no longer line up; the table reports Misaligned and no divergence is drawn. That is the alignment guard working, not a fault. Every other feature reads from the chart symbol and replays normally.
Everything drawn is context. There are no entry or exit instructions, no directional calls, and no performance claims of any kind. It reports what has happened on the higher timeframe.
This is a market-analysis tool, not financial advice. Past market behaviour does not indicate future results. Test any tool thoroughly and trade your own plan.
Indicator

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 TradingView'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 TradingView'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 TradingView'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 TradingView'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

Strong Volumetric Zones | ProjectSyndicateStrong Volumetric Zones carves the chart's true supply and demand from actual transacted volume — not from pivots, not from moving averages, not from projected lines — then power-ranks every zone so you know which ones are institutional footprint and which ones are noise. It pulls lower-timeframe order-flow data for every candle in the lookback window, builds a full volume-at-price histogram with buy/sell decomposition, isolates the high-volume nodes that dominate their neighborhood, extends each one into a bounded zone using a fractional-volume cutoff, and grades all of them 0–10. The whole tool runs on one idea: price alone is a story half-told — a level where the auction deposited enormous volume, where delta confirms one side was defending, where every test has been rejected, and that stands fresh and unchallenged is a different animal from a thin blot of retail churn, and it should not look the same on your chart.
BTCUSD
This is an order-flow reaction matrix, not a signal generator. It tells you where the auction has parked real liquidity, whether that liquidity is supply-side or demand-side, how many times price has tested it and held, how hard price was rejected on each hold, and which zone is the strongest one on the chart right now. The read is directional in the sense that you can see, at a glance, whether the session's volume structure is stacked with supply above or demand below — and whether the current candle is absorbing, exhausting, or stacking imbalance in real time.
🟢🔴 Summary how to trade this — more details below, read entire guide. Two clean approaches: react at the zone, or trade the break of it. Prefer STRONG / EXTREME grades and zones with high hold rates — the shallow low-graded zones tag constantly and mean little. The dashboard's Nearest ▲ / Nearest ▼ and Zone Status tell you instantly whether price is inside a volumetric wall or in open air. Runs on any timeframe with intrabar data available.
🧱 The Volume Core — the only source of truth. Every zone in this tool descends from a confirmed high-volume node in the actual volume-at-price histogram, never from a price-only pivot, never from an indicator line, never from a projected level. The engine requests lower-timeframe bars — auto-scaled from 1-second up to 5-minute depending on your chart — and decomposes each candle's range into volume-by-price bins. Buy volume and sell volume are tracked independently from the close-vs-open direction of every intrabar tick. The profile lookback is 300 bars by default and the bin resolution scales dynamically with ATR200, so the histogram adapts to the instrument's volatility without manual tuning. Nothing is drawn from a guess.
🔭 Lower-Timeframe Decomposition — Six granularity slots, auto-selected by default, running from 1-tick to 5-minute. Each confirmed chart candle is exploded into its internal sub-bars; volume is assigned to price bins based on the actual range covered by each sub-bar, not from a proportional tick-close estimate. Buy/sell classification follows the candle direction of the sub-bar itself. This is the reconstruction layer that separates a volume profile built from order flow from one built from assumptions. When the chart is on H4, the engine still reads M1 structure inside every bar.
◆ High-Volume Node Isolation — the signature carve. Within the global histogram, a bin must dominatepeakRadius neighbours on both sides (default 2) to qualify as a high-volume node — it is the local maximum of its neighborhood. A floor filter (minPeakPct of the POC volume, default 18%) eliminates statistical noise. All qualifying peaks are then sorted by absolute volume, strongest first, and the engine attempts to carve up tomaxZones zones (default 8), skipping any whose range overlaps an already-accepted zone. This is where the tool separates from a blob of undifferentiated volume bars: instead of forty equal-weighted histogram rows, you get a handful of bounded zones ranked by the actual liquidity parked inside them.
📐 Zone Edge Extension — Each confirmed node becomes a seed, and the zone expands outward bin-by-bin while neighbouring bins retain at leastnodeCut (default 40%) of the node's volume. Expansion halts atmaxSpan bins (default 2) to prevent overgrowth. The result is a bounded rectangular zone with a defined top, bottom, and mid-line — not a single price point, not an infinite band. The zone's width reflects the actual spread of significant volume around the node, not an arbitrary ATR multiple. Overlapping zones are rejected outright; only the strongest node survives at any price level.
🏷️ The 0–10 Strength Engine — Every zone carries a live grade with stars and a tier word WEAK → MODERATE → STRONG → VERY STRONG → EXTREME. The score is a weighted blend of five independently measurable properties, all derived from real volume and real price action:
▪️ Volume Share 3.5 — how much of the profile's total volume sits inside this zone, normalized against the strongest zone. The dominant term. A zone that holds 30% of the auction is not the same as one holding 3%.
▪️ Touch Count 2.5 — how many times price has entered and exited the zone across the full lookback. Normalized against 6 touches. A zone tested repeatedly has been confirmed by the market.
▪️ Hold Win Rate 2.0 — of all completed tests, what percentage resulted in a hold (rejection) rather than a break. A zone that defends itself 80% of the time is structurally different from one that folds on the first touch.
▪️ Freshness 1.0 — how recently the zone was last tested, normalized against the profile lookback. A zone untouched for 200 bars is fresher than one poked five bars ago.
▪️ Delta Skew 1.0 — the absolute buy-vs-sell imbalance inside the zone, normalized against a 35% threshold. A demand zone with 70% buy volume has institutional sponsorship; a 51/49 split does not.
Read the grade as a descriptive conviction ranking for which zone deserves your attention — it is not a backtested win-rate. A score filter hides everything below a level you choose, and a minimum-touch filter strips zones that have never been tested, so you can strip the chart down to STRONG and EXTREME only.
USDJPY
🔬 Per-Candle Strength Score — Independently, every confirmed candle receives its own 0–10 order-flow strength score, built from five micro-structural inputs: relative volume vs the 20-bar average, delta dominance (absolute delta / total volume), POC concentration (how much volume sits in the single busiest row), stacked imbalance run length, and value-area tightness. This is the engine that powers the Flow Signals — Absorption, Exhaustion, and Stacked Imbalance — and the dashboard's live candle readout. It tells you whether the bar you are looking at right now has order-flow weight behind it or is thin air.
🧬 In-Zone Statistics — Each zone is labeled at its center with its star grade, SUPPLY-SIDE or DEMAND-SIDE designation, the numeric score and tier, the volume share as a percentage of total profile volume, the number of completed tests, the hold win rate, the average reaction magnitude in multiples of ATR, and the buy/sell bias split. A typical label reads:★★★☆☆ DEMAND-SIDE · 6.2/10 STR · VOL 12% · TESTS 4 · HOLD 75% · REACT 2×ATR · DEMAND 68/32. Labels can be restricted by score and touch filters, or the text can be turned off entirely for a pure heatmap look. Four label sizes. Price tags at the right edge show the zone mid-line and score at a glance.
📊 Volume-At-Price Histogram — A full horizontal histogram drawn at the right side of the chart, extending beyond the zones. Each bar's width is proportional to the volume at that price level; color follows buy/sell dominance (demand vs supply palette), with the Master POC row highlighted in the dedicated POC color. A minimum-bin filter hides statistical dust. The histogram is the raw material from which every zone is carved — you see the mountain range and the zones simultaneously.
📐 Master POC & Value Area — The Point of Control (the single highest-volume price in the profile) is drawn as a continuous line spanning the full zone range and extending through the histogram, tagged with its exact price. The Value Area High and Value Area Low (default 70% of total volume) are drawn as dashed lines with labels. Together these three references give you the fair-value anchor for the entire lookback: price above VAH is in premium territory, price below VAL is at a discount, price inside the value area is at equilibrium.
🔬 Per-Candle Footprint — An optional intrabar footprint drawn inside the most recent N candles (default 10). Each row shows block-character bars proportional to volume or delta at that price level, color-coded by buy/sell dominance. Rows outside the candle's value area are muted; the POC row is highlighted. A value-area outline box frames the candle's internal equilibrium. On high-strength candles (score above a configurable threshold), the tier abbreviation is printed directly inside the footprint. This is the microscope — you see exactly where the volume parked inside the bar you just traded.
🎯 Naked POC Tracking — Optionally, every candle whose internal strength score exceeds a threshold spawns a dotted POC line that extends right until price actually trades through it. Once tested, the line is deleted. A cap on active naked POCs (default 8) keeps the chart clean. These are untested fair-value anchors — price tends to return to them, and their persistence means the auction has not yet cleared that liquidity.
NQ
⚡ Order-Flow Signals — Three micro-structural signals fire on confirmed bars:
▪️ ABS — Absorption. Delta dominance is high (>35%), but the candle body is small (<30% of range) and relative volume is elevated (>1.2×). One side absorbed the other's aggression without moving price. The direction hint points opposite to the absorbed delta: if selling was absorbed, the signal is bullish.
▪️ EXH — Exhaustion. Relative volume is elevated (>1.3×), delta is flat (<12%), and price closed near the high or low. Aggression was spent without conviction. The direction hint points away from the extreme: exhaustion at the high is bearish.
▪️ STK — Stacked Imbalance. Three or more consecutive rows of one-sided imbalance (buy vs adjacent sell, or vice versa, at the configured ratio, default 3×). A directional imbalance stack is a footprint of institutional execution.
Signals appear as tiny labeled markers at the high or low of the candle, color-coded by direction. They are not zone entries — they are real-time flow readings that confirm or deny what the zones are telling you.
📋 Live Command Dashboard — A compact panel that answers the questions you actually ask a volume-zone tool, organized into four sections:
▪️ LIVE ORDER FLOW — Bar Delta with a fill meter, Buy/Sell split with a dual-tone bar, Cumulative Volume Delta with trend arrows, Session Delta, Candle Score with tier, and the active Flow Signal with direction tag. This is the real-time pulse: who is hitting whom right now.
▪️ VOLUME PROFILE — Master POC price and position relative to close, Value Area range with a width meter, VA Location (inside or outside), and Profile Depth (bars processed, bins, zones carved). This is the structural map: where is fair value, how wide is it, how deep is the data.
▪️ REACTION ZONE RADAR — Up to six zones ranked by strength score, each showing price, star grade, score, bias (DEMAND / SUPPLY / BATTLE), test count, and hold win rate. The strongest zone on the chart is always row one. This is the hit list.
▪️ REGIME — Volatility state (COMPRESSED / NORMAL / EXPANSION) based on ATR14 vs ATR100, Zone Status (IN SUPPLY / IN DEMAND / OPEN AIR) with the in-zone score, and Nearest Supply / Nearest Demand with star grades. This is the tactical read: are you in a wall, are you in open air, how far to the next wall.
🔒 Non-Repainting — Lower-timeframe data is requested on confirmed bars only. Volume is accumulated into the histogram only after the chart bar closes. Zones are carved on the last bar of the chart from the completed histogram and then projected — they do not shift, flicker, or disappear retroactively within their lookback window. The candle strength score updates on confirmation. This is the honest tradeoff of order-flow structure: you wait for the bar to close, and in exchange the reading is real.
🔔 Native Alerts — Five condition alerts:
▪️ Volumetric Zone Entry — price enters any displayed zone.
▪️ Strong Volumetric Zone Entry — price enters a zone scoring 7+ (VERY STRONG / EXTREME). The one alert most people will actually run.
▪️ Volumetric Zone Exit — price leaves a zone.
▪️ High-Strength Candle — a confirmed candle scores 7+ on the order-flow engine.
▪️ Order-Flow Signal — an Absorption, Exhaustion, or Stacked Imbalance signal fires on any confirmed bar.
🎨 Five Theme Palettes — Obsidian Aurora (teal/coral/purple), Obsidian Gold (emerald/vermillion/gold), Deep Ocean (cyan/rose/indigo), Midnight Ember (mint/ember/amber), and Graphite Mono (silver/steel/white). Every palette is engineered for a pure-black chart background: deep, saturated, never toxic. Full custom override is available for demand, supply, POC, and accent colors. Zone shading scales opacity directly off the score — weak zones stay faint, extreme zones render solid. You read conviction with your peripheral vision before you read a single number.
Silver
🔧 Fully Customizable — Intrabar granularity (auto or manual), profile lookback, bin resolution, max zones, node isolation radius, min node volume, zone edge cutoff, max zone width, min tests and min score filters, right extension, zone text and price tag toggles, text size, mid-line width and fade, histogram toggle/width/floor, Master POC toggle, Value Area toggle and percentage, footprint toggle/bars/rows/type/max-length/candle-VA/strength-text/threshold, naked POC toggle/min-score/cap, signal toggle and imbalance ratio, dashboard toggle/position/size, theme selection, custom colors, and all five scoring weights for both zones and candles — all adjustable.
🎯 Why this is different — Most volume tools dump a histogram on your chart and leave you guessing which rows matter. Most zone tools draw every pivot they find with no weighting, no testing, no delta, no bias. This one reconstructs the order flow, carves zones from confirmed high-volume nodes, tracks how many times price tested each one and whether it held, measures the reaction magnitude, reads the buy/sell sponsorship inside the zone, and grades the result 0–10. You read the zone, the volume behind it, the delta skew, the hold rate, and the conviction score — at a glance. The chart itself does the filtering.
🚀 Apply to Gold XAUUSD, Silver, Forex, Crypto and Indices on any timeframe with intrabar data.
🎯 How To Trade It — Two Approaches
Everything hinges on the grade and the hold rate. A WEAK zone with no tests is noise you can see; a STRONG or EXTREME zone with a 70%+ hold rate and demand-side bias is where institutional volume has already defended. Trade the graded zones, and use the dashboard's Zone Status and Volatility Regime to confirm the trade has the right environment.
◾ 1 REACT at the zone — trade the rejection
This is the tool's core use. Price arrives at a high-graded zone and you fade the touch back toward the opposite side of the ladder.
▪️ Setup: wait for price to reach a STRONG / VERY STRONG / EXTREME zone — ideally one with a high hold rate and a clear DEMAND or SUPPLY bias. Check the dashboard: is it the top-ranked zone on the radar? Is the Volatility Regime in NORMAL or EXPANSION (not compressed — compressed means no fuel for a reaction)? Is the Candle Score on the approach bar showing Absorption or Stacked Imbalance in your direction?
▪️ Entry: on rejection out of the zone, with your own confirmation — a wick, an engulfing close, a lower-timeframe structure break, or an order-flow signal that validates the rejection. The zone is the location; it is not the trigger.
▪️ Stop: on the far side of the zone band. The zone has real width derived from the volume distribution — use it. A decisive close through the zone means the volume was cleared and the thesis is wrong.
▪️ Targets: the Nearest ▼ demand or Nearest ▲ supply on the opposite side, then step through the radar tier by tier, banking partials at each graded zone.
⚖️ The cleanest version: price runs into an EXTREME demand zone with 80% hold rate, the Candle Score on the approach prints ABS (absorption), the Volatility Regime shows EXPANSION, and price rejects on the first touch. First touches of fresh high-graded zones with order-flow confirmation are the setup; the fifth retest of the same zone is not.
◾ 2 TRADE THE BREAK — the zone flips role
The mirror case, and the one that saves you when approach 1 fails.
▪️ Setup: a decisive close through a high-graded zone — especially one with a strong hold rate — is meaningful information. It took real volume displacement to clear a level that the market had been defending. Check the delta inside the zone on the break bar: if the breaking candle has strong delta in the break direction, the liquidity was genuinely absorbed, not just pierced.
▪️ Entry: on the retest of the broken zone from the other side, once it has flipped from supply to demand or demand to supply. Wait for price to return to the zone and show respect — a wick, a small-body candle, an absorption signal.
▪️ Stop: back on the original side of the zone. If price reclaims it, the break failed and the original bias holds.
▪️ Targets: the next graded zone in the direction of travel, then the next. Use the radar: if all remaining zones in the direction are weak and untested, structure is thin and the move may extend.
⚖️ Watch the top-ranked zone on the radar. When the strongest zone on the chart breaks and holds as a flip, that is the session's structural event. The naked POCs ahead become magnets.
Rule of thumb: ⭐ First touch of a fresh STRONG / EXTREME zone with high hold rate and Volatility in NORMAL or EXPANSION → look for the rejection trade. ⭐ Decisive close through a high-graded zone confirmed by Candle Score and delta → stop fading it, wait for the retest and trade the flip. ⭐ Low grades, no tests, compressed volatility, or a zone already tested repeatedly → no trade. The score exists to tell you when to do nothing.
⚠️ IMPORTANT NOTICE: Strong Volumetric Zones maps and ranks volume-derived supply and demand zones from reconstructed lower-timeframe order flow. The 0–10 zone score is a descriptive conviction ranking built from volume share, touch count, hold win rate, freshness and delta skew — it is not a backtested win-rate, and this indicator tracks no trade outcomes and reports no performance statistics. The 0–10 candle strength score is built from relative volume, delta dominance, POC concentration, stacked imbalance and value-area tightness — also a descriptive reading, not a signal with a verified edge. Zones are locations, not entries. Volume accumulation occurs only on confirmed bars. These zones are decision support, not a standalone trade trigger. Always combine them with your own strategy, price-action confirmation and risk management. Past behavior does not guarantee future results. Indicator

OrderFlow Absorption Matrix | ProjectSyndicateOrderFlow Absorption Matrix reconstructs the order flow hiding inside every candle and maps it onto price as a living liquidity profile — then power-ranks the levels where aggressive volume was absorbed and price is most likely to react. It drills into each bar with a lower-timeframe scan to measure true buy/sell delta and, crucially, absorption — the volume that pushed into a wick and got soaked up by passive limit orders instead of moving price. That footprint is binned across the range into a Liquidity Profile, a Delta column and an Absorption column, anchored by the Value Area (POC / VAH / VAL), and distilled into 0–10 strength-ranked support/resistance zones. The whole tool runs on one idea from order-flow theory: price doesn't reverse where volume is heavy — it reverses where aggression is absorbed. The Absorption engine finds those hidden walls, scores them, and shows you the conviction behind each one at a glance.
🌊 LTF Delta & Absorption Engine — the core of the tool. A lower-timeframe scan breaks each chart bar into its intrabar prints and measures two things conventional volume cannot: net Delta (buying minus selling pressure) and Absorption (aggressive volume that drove into the upper or lower wick and was rejected — sellers absorbing buyers at highs, buyers absorbing sellers at lows). Granularity is adjustable, with optional seconds data for fine delta on low timeframes, and a clean fallback to candle direction when intrabar data is unavailable.
🟪 The Absorption Column — the namesake read. Beside the profile, a dedicated column ranks every price bin by how much aggressive flow was absorbed there. Tall absorption bars mark the hidden walls — iceberg-style passive defense where the market repeatedly refused to move despite aggression hitting it. These are the levels that hold, and the Absorption Side read tells you whether the heaviest absorption sits below price (defended support) or above it (defended resistance).
📊 The Liquidity Profile — a binned volume profile built over a rolling lookback, split four ways into strong / weak buying and strong / weak selling. Bars that traded on above-percentile volume render brighter as "strong," so you see not just where volume built, but where conviction did. The profile projects to the right of price so your candles stay clean.
🎯 Delta Heatmap Column — net buy/sell delta per price bin, shaded by intensity and labelled with the signed value, so you can read exactly which shelves were accumulated and which were distributed — even when total volume looks balanced.
🧲 Value Area — POC / VAH / VAL — the auction skeleton. The Point of Control (highest-volume price), the Value-Area High and Low are computed by true value-area expansion from the POC and drawn as clean reference lines. POC is the magnet; the VA edges frame fair value, and "Price vs POC" (in ATR) tells you how stretched the auction is.
🏆 0–10 Strength-Ranked Liquidity Zones — the power-ranking. The strongest levels are peak-detected from the profile and each earns a live 0–10 grade from five principled factors, each with a fixed directional sign: Volume (how much traded at the level), Absorption (how much aggression was soaked up there — the differentiator), Touches (how many times price tested it across the window), Rejection Wicks (how violently it was defended), and Recency (recent tests outrank stale ones). All five weights are adjustable. Zones are filtered by a minimum score and capped to the strongest N, so the chart only carries levels that earned their place — never overload.
🏷️ In-Zone Strength Labels & Stats — each zone carries its grade inside the band: stars, the X.X/10 score, a tier word (FORMING → WEAK → MODERATE → STRONG → ELITE) and a SUPPORT / RESIST side marker — plus the detailed stats that built it: Volume, Absorption, Touch count and Rejection count (V / A / T / R). Quality and reasoning read instantly, right on the level.
🎨 Strength-Shaded Fill — stronger zones render more opaque while weak ones stay faint, so the chart shows which levels carry weight before you read a number. Support zones shade with the bullish tone, resistance with the bearish tone, and the brightest band is your highest-conviction wall.
🧮 Flow Pressure Verdict — a composite read that fuses profile imbalance, cumulative-delta bias, absorption side and the most recent significant print into a single directional score, resolved to ACCUMULATION, DISTRIBUTION or BALANCED. One line tells you whether the order flow is quietly loading up or unloading beneath the price action.
🔭 MTF Flow Bias — a non-repainting flow read on three higher timeframes (default 15 / 60 / 240), each tagged BULL / BEAR / FLAT, so you can align your level with the larger order-flow tide before you act.
🖥️ Command Dashboard — a clean, terminal-style panel grouping everything that matters: Order Flow (last print, bar delta, bar volume, CVD bias), Liquidity Profile (POC / VAH / VAL, buy/sell share, net imbalance, price vs POC), Key Zones (top zone price, top-zone strength, absorption peak and side), MTF Flow and the Flow Pressure verdict — quality and context at a glance, no separate windows.
🎨 Five High-Contrast Themes — Plasma (aqua / rose / gold, default), Cyber, Ice & Fire, Phosphor and Mono — all tuned to read cleanly on a black background, with an optional flow-tint on the candles themselves.
🧹 Score Filter & Toggles — hide every zone below a score threshold, cap the number of zones, switch the profile, delta column, absorption column, value area, zones, dashboard and candle tint on or off — so the chart only shows the layers you trade.
🔒 Honest & Non-Repainting Core — historical bars are fixed: the profile, zones and scores are built from completed-bar history, and the higher-timeframe flow read uses a strict non-repainting request (prior confirmed bar only). The live bar and the rolling profile naturally refresh as each new bar closes — exactly as order flow should — but nothing redraws the past, and the score never hides a level to flatter the picture. The strength grade is a descriptive order-flow framework for ranking attention, not a backtested signal.
🔔 Native Alerts — a Whale Print alert for the largest order-flow clusters, a Medium-or-greater Print alert, an Any-Print alert, plus directional Buy-Print and Sell-Print alerts — so you catch significant flow the moment it hits the tape.
🔧 Fully Customizable — detection method and side-classification, percentile sensitivity and consensus windows, LTF granularity and seconds toggle, profile lookback / resolution / width / offset, strong-volume filter, value-area percent, the five zone-score weights, minimum strength, max zones, touch normalization, label content / size, MTF timeframes, theme, transparency and dashboard position / size — all adjustable.
🎯 Why this is different — most profile and S/R tools show you where volume is, then leave you guessing which shelf actually matters. OrderFlow Absorption Matrix answers it: it measures the absorption hidden in the wicks, ranks each level 0–10 on real order-flow evidence, and puts the score, the side and the supporting stats right inside the zone. You read where the wall is, why it's strong, and which way the flow is leaning — at a glance.
🚀 Apply to Gold (XAUUSD), Silver, Forex, Crypto, Indices and Futures on any intraday timeframe (volume-bearing symbols).
🎯 How To Trade It — Two Approaches
Everything hinges on one question the tool answers: is this level absorbing aggression (it holds) or is flow breaking through it (it gives)? High-strength zones with heavy absorption favor reaction; weak or de-rated zones being hit with strong same-side delta favor continuation.
◾ 1) Fade into an absorbed zone → rotate to value (reaction) — use on STRONG / ELITE zones (≥7) with heavy absorption
This is the indicator's core thesis. When price drives into a high-strength zone whose grade is built on Absorption and Rejection — most reliable when the Absorption Side confirms the direction (heavy absorption below = defended support, above = defended resistance) and Flow Pressure isn't screaming with the move.
▪️ Wait for price to tag the rated zone and print rejection — a wick or reversal back inside the band, ideally with the Delta column showing the aggressor being absorbed rather than breaking through.
▪️ Entry: on the rejection back inside the zone, facing the Value Area.
▪️ Stop: just beyond the zone / the next stronger level out. If price closes decisively through and holds, the absorption thesis failed — stand aside or flip to Approach 2.
▪️ Targets: step toward fair value — the POC as the primary magnet, then the opposite Value-Area edge (VAH/VAL) if momentum carries.
⚖️ The cleanest version: price spikes into an ELITE resistance zone with a tall absorption bar, the Delta column shows buyers getting soaked up, price fails to hold and rotates back down through VAH into the POC. That absorption-to-value reversion is the move this tool is built to frame. Use the Whale-Print and directional Buy/Sell-Print alerts to catch the stretch as it prints.
◾ 2) Break & retest a failing zone → trade with the flow (continuation) — use when zones are weak / de-rated or flow is one-sided
When a level is graded low, when the Delta column shows persistent same-side pressure into it, and the Flow Pressure verdict and MTF Flow all lean the same way, a clean break is the order flow expanding, not exhausting.
▪️ Wait for a decisive close beyond the zone on strong same-side delta (not a single wick), with the band failing to absorb.
▪️ Entry: in the direction of the break, on the close beyond the level or on a retest of the broken zone (a broken resistance often flips to support, and vice-versa).
▪️ Stop: back inside the broken zone, against the move.
▪️ Targets: the next ranked zone, the opposite Value-Area edge, or a measured move — trailing as flow extends.
Rule of thumb: ⭐ STRONG / ELITE absorbed zone + confirming Absorption Side → expect a reaction, fade it back toward the POC. ⭐ Weak / de-rated zone + one-sided delta and aligned MTF flow → expect follow-through, trade the break and retest.
⚠️ IMPORTANT NOTICE: OrderFlow Absorption Matrix reconstructs estimated order flow from lower-timeframe data and ranks where price is most likely to react. Lower-timeframe delta and absorption are an approximation of true tape, not exchange order-book data, and the 0–10 score is a descriptive order-flow framework — NOT a backtested signal and NOT a standalone trade trigger. Always combine it with your own strategy, price-action analysis and risk management to confirm setups. The indicator requires a volume-bearing symbol. Past behavior does not guarantee future results. Indicator

Indicator

Aura Volume Delta Matrix [Pineify]Aura Volume Delta Matrix
This indicator measures the net demand pressure behind each bar by separating candle volume into buying and selling components, smoothing the difference, and plotting it as a gradient histogram against a signal line. Rather than treating volume as a single unsigned number, it asks: how much of this bar's volume was buying versus selling? The answer — volume delta — reveals whether the crowd was net accumulating or distributing, even when price barely moved.
Key Features
Candle-polarity volume split: full bar volume attributed to buyers when close > open, sellers when close < open, and split 50/50 on doji candles
Dual EMA smoothing pipeline — one pass to extract the trend from noisy raw delta, a second pass to generate a crossover signal line
Normalized gradient histogram: bar intensity scales to the 100-bar rolling maximum, so weak readings appear faint and strong readings appear saturated, giving an immediate visual sense of magnitude relative to recent history
Crossover signals that only fire when delta is already on the correct side of zero — filtering out shallow, mean-reverting crosses that would otherwise generate noise
How It Works
The calculation pipeline has three stages.
Volume attribution: Each bar's total volume is assigned to buyers or sellers based on candle polarity. A bullish close (close > open) attributes 100% to buyers; a bearish close (close < open) attributes 100% to sellers; equal open and close splits it evenly. This is a bar-level proxy for order flow — not tick-level CVD, but a reasonable approximation available on any timeframe without premium data.
Delta smoothing: Raw delta (bullVol − bearVol) is noisy on its own. A configurable EMA (default 14) removes single-bar spikes and reveals the directional bias over recent bars. This smoothed delta is what plots as the histogram.
Signal line: A second EMA (default 9) is applied to the smoothed delta. This behaves like the MACD signal line — when the histogram crosses above it while already positive, demand is re-accelerating from a bullish baseline; crossing below while negative signals the opposite.
The gradient coloring normalizes the histogram against its own 100-bar peak, so you can immediately tell whether current delta intensity is historically significant or just routine churn.
How the Components Work Together
The two-pass EMA structure is intentional. A single EMA of raw delta would react quickly but produce too many false crosses. By smoothing first and then deriving a signal from the smoothed output, the crossover logic only fires when momentum has already built enough to survive the first layer of filtering. The zero-side gate on signals adds a second filter: a bullish crossover below zero means demand is recovering within a still-bearish context, which is a weaker setup than a crossover that occurs while net buying is already dominant. Together these two conditions — crossover confirmed by zero-side context — push the signal rate down and focus it on higher-conviction shifts.
Trading Ideas and Insights
Use bullish crossovers (delta crosses above signal while delta > 0) as a candidate entry trigger on trending assets. Consider waiting for price to also be above a longer-period moving average before acting on the signal.
Divergence between price making a new high and delta making a lower high may indicate absorption — sellers stepping in at resistance without moving price yet. This is worth watching rather than acting on automatically.
On ranging markets, delta will oscillate around zero and the smoothing will compress toward the baseline. Low histogram intensity (faint gradient bars) visually signals low-conviction conditions where crossover signals are less reliable.
The signal line alert conditions can be used to push notifications when the crossover setup occurs, removing the need to watch the chart continuously. Still, confirm with price structure before entering.
As with any volume-based indicator, results vary by asset liquidity and data provider. Crypto and futures markets with transparent volume data tend to produce cleaner delta readings than instruments where reported volume is an estimate.
Unique Aspects
The gradient normalization against a rolling 100-bar peak is a visual improvement over fixed-scale histograms: it adapts to each instrument's typical volume range without manual scaling, making the chart readable across different assets.
The zero-side signal filter avoids a common problem in oscillator crossover systems — signals that fire during shallow pullbacks within a larger counter-trend, where the histogram is technically crossing but the broader context is unfavorable.
The doji split (50/50 at open = close) is a minor but honest edge case handling that most simplified volume delta scripts skip.
How to Use
Add the indicator to any chart. It works on all timeframes, though intraday timeframes tend to show more granular delta shifts.
Watch histogram color and intensity. Solid, saturated green bars suggest strong net buying relative to recent history; faint bars suggest low-conviction buying or a quiet session.
Look for crossovers of the orange signal line. Bullish: histogram rises through the signal line while above zero. Bearish: histogram falls below the signal while below zero. Half-crossovers (histogram crosses signal but is on the wrong side of zero) are filtered from alerts.
Set alerts via the indicator's alert conditions if you want to monitor for crossover setups without watching the chart.
Customization
Delta Smoothing Length (default: 14) — Controls how much the raw volume delta is smoothed before plotting. Higher values produce a slower, more stable histogram but introduce more lag. Lower values react faster and may show more noise.
Signal Line Length (default: 9) — The EMA length applied to the smoothed delta to create the crossover trigger. Shorter values generate more frequent signals; longer values are more selective.
Bullish / Bearish / Signal Colors — Fully customizable to match your chart theme or personal preference.
Conclusion
Aura Volume Delta Matrix translates raw bar volume into a directional demand measure, smooths it through a dual-EMA pipeline, and presents the result as a gradient histogram with a signal-line crossover system. It's most useful for traders who want a volume-based confirmation layer that isn't just "volume went up" but instead reflects which side of the trade had more participation. Pair it with price structure or trend context for best results — no volume indicator tells the full story on its own.
Indicator

Markov Transition MatrixMarkov Transition Matrix
This indicator classifies higher-timeframe returns into three states and then tracks how often price transitions from one state to the next.
The three states are:
Bullish when the N-bar return is above the selected positive threshold
Bearish when the N-bar return is below the selected negative threshold
Neutral when the return stays between those thresholds
The result is a 3x3 transition matrix that answers questions such as:
After a bullish state, how often does the next state stay bullish?
After a neutral state, how often does the next state turn bearish?
Which current state has the strongest tendency to persist or reverse?
How It Works
Choose an analysis timeframe.
Choose a lookback window in candles.
For each completed bar in that timeframe, the script computes the return from close to the current close.
That return is classified as Bullish, Neutral, or Bearish using the threshold input.
Each one-step transition from the previous state to the new state is added to the cumulative matrix.
What The Table Shows
The main value in each cell is the one-step transition probability for that row and column.
The detail row under each cell shows P^2, P^3, and the raw transition count.
The summary row shows the latest confirmed state plus the current row probabilities for Bullish, Neutral, and Bearish.
The bottom bar shows a simple directional bias: P(Bull) - P(Bear).
P^2 and P^3 in this script are powers of the one-step probability. They are not full 2-step or 3-step Markov-chain forecasts produced by matrix multiplication.
Inputs
Threshold (%) : Minimum absolute return needed to classify a bar as Bullish or Bearish.
Timeframe : Higher timeframe used for the transition analysis.
Lookback Window : Number of candles used to measure each return.
Table Position : Screen location of the matrix.
How To Read It
Diagonal cells show persistence. High values there mean a state often repeats.
Off-diagonal cells show transitions. High values there mean a state often rotates into another one.
A positive bottom-bar reading means Bullish transitions currently outweigh Bearish transitions from the latest confirmed state.
A negative bottom-bar reading means Bearish transitions currently outweigh Bullish transitions from the latest confirmed state.
Usage Notes
The chart timeframe must be less than or equal to the selected analysis timeframe.
The matrix is cumulative across all available history in the selected timeframe context.
Changing timeframe, threshold, or lookback recompiles the script and rebuilds the tally from scratch.
This is a state-transition study. It does not place trades or generate broker orders.
Practical Uses
Compare persistence vs reversal behavior across different symbols.
Test whether a market spends more time trending or mean-reverting at a chosen timeframe.
Check whether a recent state has historically led to bullish continuation, neutral drift, or bearish follow-through.
Indicator

Normalized FX Majors Matrix FDP (8 Currencies)### Overview
The **Normalized FX Majors Matrix** is a premium Currency Strength Index designed to measure the absolute performance of the 8 major global currencies (USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD).
Instead of looking at isolated currency pairs, this indicator processes a flawless mathematically symmetrical matrix of all 28 underlying cross-rates, extracting the true geometric equally-weighted strength of each individual currency.
### How It Works
1. **Mathematical Symmetry:** The indicator requests 28 major cross-rates to build an unbiased basket. Each currency is measured accurately against 7 other counterparties.
2. **Log Returns & Smoothing:** It calculates the logarithmic returns of each pair to handle volatility scaling properly, with an optional EMA smoothing parameter to filter out short-term market noise.
3. **Base 100 Rebase:** All 8 lines are re-anchored to a value of 100 at the beginning of the user-defined lookback window (`Normalization Window`). This allows for an instant visual comparison of cumulative returns.
4. **Dynamic Leaderboard:** A real-time dashboard ranks the currencies from strongest to weakest, color-coded dynamically to match the plot lines.
### How to Trade with It
- **Trend Following (Strong vs. Weak):** Look at the ranking table. Pair the strongest currency at the top with the weakest currency at the bottom (e.g., if USD is top and JPY is bottom, look for Long opportunities on USDJPY).
- **Crossover Signals:** When a currency line crosses above another, it indicates a shifting global capital flow.
- **Breakout Confirmation:** Use this matrix to confirm if a chart breakout is supported by true individual currency strength or if it is just a false move driven by the counter-currency. Indicator

Strategy Sensitivity MatrixThe Strategy Sensitivity Matrix is an institutional-grade backtesting tool designed to evaluate the robustness and parameter sensitivity of trend-following strategies. It enables users to compare the historical performance of a broad range of parameter combinations across multiple metrics to assess the overall stability of the selected strategy. The model displays the complete backtest landscape in a structured, color-coded matrix that allows investors to quickly identify robust parameter regions and evaluate historical performance stability across parameter combinations.
At its core, the matrix systematically evaluates a wide range of parameter combinations, where every individual cell represents the backtest result for one unique parameter configuration. Users can switch between volatility-based strategies and moving-average strategies. In volatility mode, the matrix rows represent volatility lengths and the matrix columns represent volatility factors. In crossover mode, the rows represent fast moving-average lengths and the columns represent slow moving-average lengths. Supported volatility types include the Average True Range (ATR), Standard Deviation (SD), and Mean Absolute Deviation (MAD). Supported moving-average types include the Exponential Moving Average (EMA), Simple Moving Average (SMA), Wilder’s Moving Average (RMA), and Weighted Moving Average (WMA). Supported display metrics include:
CAGR = Compounded Annual Growth Rate.
Sharpe = CAGR per unit of standard deviation.
Sortino = CAGR per unit of downside deviation.
Martin = CAGR relative to the Ulcer Index (UI).
Calmar = CAGR relative to maximum drawdown.
Max DD = Largest peak-to-trough decline in value.
Alpha (α) = Excess annualized risk-adjusted returns.
Expectancy = Average expected return per trade.
Profit Factor = Total gross profit per unit of losses.
Win Rate = Ratio of profitable trades to total trades.
Trades/Year = Average number of trades per year.
The matrix follows an intuitive percentile-based coloring framework that dynamically compares the relative performance and stability of all parameter combinations. Stronger values above or equal to the matrix median are highlighted in green, with bright green representing the top 10% of all parameter combinations. Weaker values below the matrix median are highlighted in orange, while red represents objectively weak performance based on the selected metric. Broad clusters of consistently strong results generally suggest lower parameter sensitivity and potentially greater robustness, while isolated peaks generally suggest elevated parameter sensitivity.
The summary table displayed above the matrix provides a broader distribution-level statistical overview of results across all parameter combinations. This structure allows investors to evaluate whether strong historical performance appears statistically widespread or narrowly concentrated across the parameter landscape. Stable parameter landscapes generally exhibit lower standard deviation, similar median and average values, and smaller performance gaps between the best and top 10% parameter combinations. The summary table includes the following sections:
Start = Start month and year of the selected backtest period.
End = End month and year of the selected backtest period.
Metric = Performance metric currently displayed in the matrix.
B&H = Buy-and-hold performance for the selected metric.
Best = Best-performing parameter combination in the matrix.
Top 10% = Average value of the top 10% parameter combinations.
Median = Median value across all parameter combinations.
Average = Average value across all parameter combinations.
Std Dev = Standard deviation of all parameter combinations.
≥ B&H = Percentage of combinations equal or better than B&H.
In summary, the Strategy Sensitivity Matrix is a powerful robustness analysis tool designed to help investors make data-driven decisions when evaluating parameter combinations across trend-following strategies. By evaluating the full parameter landscape, investors can quickly determine whether strong historical performance appears broadly distributed across stable parameter regions or narrowly concentrated within isolated parameter combinations. While historical robustness can provide valuable insight into past market behavior over the selected backtest period, users should remain mindful that market structures evolve over time and that historically stable parameter regions may not necessarily persist in future market conditions. Indicator

Adaptive Swing Matrix | MouryaThis indicator provides a Multi-Timeframe (MTF) table matrix designed to display the real-time states of several standard momentum and trend indicators across 11 user-defined timeframes simultaneously.
The primary purpose of this script is to consolidate chart real estate. By organizing MTF data into a single table, it allows users to monitor higher-timeframe trends and oscillator states without needing to continuously switch chart intervals or clutter their screen with multiple lower panes.
Indicator Logic & Components:
This matrix tracks the following standard indicators across the user's chosen timeframes:
Trend (EMA Crossover): Evaluates a fast EMA crossing a medium or slow EMA, filtered by a macro 200-period baseline EMA.
RSI (Relative Strength Index): Displays the current RSI value, color-coded based on user-defined breakout/breakdown thresholds.
MFI (Money Flow Index): Displays volume-weighted momentum.
ADX (Average Directional Index): Evaluates trend strength to filter out sideways consolidation periods.
MACD (Moving Average Convergence Divergence): Evaluates the relationship between the MACD line and the Signal line relative to the zero-line. The matrix uses the following acronyms to display the exact MACD state:
AZPCO: Above Zero, Positive Crossover (MACD is > 0 and MACD > Signal)
AZNCO: Above Zero, Negative Crossover (MACD is > 0 and MACD < Signal)
BZPCO: Below Zero, Positive Crossover (MACD is < 0 and MACD > Signal)
BZNCO: Below Zero, Negative Crossover (MACD is < 0 and MACD < Signal)
VWAP (Volume Weighted Average Price): Displays the current VWAP value and highlights if the closing price is currently holding above or below the baseline.
NASDAQ:INTC Matrix Features:
Customizable Timeframes: Users are not restricted to default intervals. You can input custom minute, hour, day, week, or month intervals for all 11 rows via the settings menu.
Overall Consensus Score: The bottom row of the table evaluates a 7-timeframe core grouping. If a strict majority of these selected timeframes share the same trend direction, it outputs a unified directional signal.
Visual Chart Overlays: Users can optionally enable the EMA lines and VWAP bands on their main chart. These visual elements have been strictly segregated in the indicator's Style tab for easy toggling.
All backend settings—including lengths, source data, and trigger thresholds for the RSI, MFI, and ADX—are fully unlocked in the inputs menu for personal customisation. Indicator

Pymander's EZ Momentum MatrixPymander's EZ Momentum Matrix—your new go-to tool for catching the pulse of the market!
I built this indicator because I know how frustrating it is to feel like you're "chasing" a move or getting caught in choppy fakeouts. This tool is designed to act like your trading GPS, helping you cut through the noise and align yourself with the high-probability trend instantly.
How it works:
Under the hood, we’ve combined two powerful components into one seamless visual experience:
The Momentum Wave: An ultra-sensitive oscillator that reacts to price shifts almost instantly. It changes color based on its slope—green when rising and red when falling—so you know exactly when momentum is shifting, even before a zero-cross.
The Trend Matrix: This is the heatmap bar at the bottom. It uses low-lag DEMA (Double EMA) logic and a 50-period trend filter to act as your "gatekeeper." It ensures you only take long signals when the macro trend is actually in your favor.
What makes it unique?
Confluence Diamonds: When the fast momentum wave and the filtered Trend Matrix align perfectly, a diamond signal appears on the wave. These are your "stars aligned" moments for high-probability entries.
Extreme Turn Signals: Small circles appear when the oscillator curls back in overbought or oversold zones, giving scalpers an early warning for potential micro-reversals.
The Glow: We polished the visuals with a slight aura glow effect and smooth gradients. Not only does it help you see signals more clearly, but your charts will look amazing while you're trading!
Why you’ll love it:
It’s all about clarity. By using the EZ Momentum Matrix, you stop guessing and start following. It simplifies complex trend and momentum data into a color-coded system that makes trade decisions faster and much more disciplined.
We’d love to hear how this is working for your specific strategy, so please reach out with any feedback or suggestions!
Wishing you tons of luck out there, stay disciplined, and here’s to many green days ahead!
-Pymander
Indicator

Luminous Volume Flow & Breakout Matrix [Pineify]Luminous Volume Flow & Breakout Matrix
This indicator estimates directional money flow by splitting each bar's volume proportionally between buyers and sellers based on where price closed within its range. A close near the high attributes most volume to buying pressure; a close near the low attributes it to selling. The smoothed net delta becomes a volume momentum oscillator, while a separate statistical layer flags volume surges — bars where total volume exceeds its recent mean by a configurable number of standard deviations. When a surge aligns with a directional lean, it often marks the kind of institutional event that precedes sustained moves.
Key Features
Proportional volume splitting — fractional allocation based on close position within the bar's range, not a binary up/down classification
EMA-smoothed volume delta oscillator with adaptive gradient coloring
Statistical volume surge detection using a mean + standard deviation threshold
Surge signals filtered by oscillator direction — bullish surges only fire when net flow is positive, bearish only when negative
How It Works
Rather than assigning all of a bar's volume to one side, the calculation uses a proportional model. If a bar's range is 10 points and the close sits 7 points above the low, 70% of volume is attributed to buying pressure and 30% to selling. This produces a continuous volume delta that reflects intrabar conviction with more granularity than binary methods.
For each bar, buy volume = (close − low) / (high − low) × volume, and sell volume = (high − close) / (high − low) × volume. Zero-range bars receive zero allocation to avoid division errors
The raw delta (buy − sell) is smoothed with an EMA to strip out single-bar noise and reveal the underlying volume direction trend
Independently, the indicator calculates a 20-bar SMA and standard deviation of total volume. Bars exceeding the mean by the configured multiplier times the standard deviation are flagged as surges
The smoothed delta is normalized over a 50-bar window to a 0–1 range, then mapped to a bear-to-bull color gradient for visual momentum reading
How the Components Work Together
The volume delta oscillator and the surge detector answer two different questions. The oscillator reveals direction — whether the prevailing volume is buyer- or seller-dominated. The surge detector reveals magnitude — whether total participation is abnormally high. Neither signal alone is particularly useful: a volume spike in a mixed-delta environment is just noise, and steady directional flow without unusual volume is normal trending behavior.
The indicator combines both by only plotting surge markers when the oscillator confirms direction. A bullish triangle appears when volume exceeds the statistical threshold AND the smoothed delta is positive — meaning the abnormal volume is flowing toward buyers, not just appearing randomly. This two-filter approach reduces false signals from earnings gaps, data releases, or other events that produce big volume without clear directional intent.
Trading Ideas and Insights
A bullish surge triangle after a pullback into support may indicate institutional accumulation — the combination of extreme volume and positive delta suggests large buyers absorbing supply at a level they consider favorable
Clusters of surge signals in the same direction over several bars carry more weight than isolated spikes. A single bar can be a data artifact; three or four surges in a week suggests a structural shift
When the oscillator gradient fades from deep bull to neutral while price continues higher, consider that the move may be running on fumes — price is advancing but volume conviction is declining
The proportional volume split is an approximation, not actual order flow data. Doji bars with small ranges but high volume will split nearly 50/50 regardless of the real buyer/seller composition. On instruments with thin volume or wide spreads, treat the oscillator as directional bias rather than precise measurement.
Unique Aspects
Proportional allocation produces a continuous delta spectrum rather than the binary all-or-nothing split many volume indicators use. A bar closing at 60% of its range assigns 60/40, preserving nuance that binary methods discard
The surge detection is purely statistical — it adapts to the instrument's own volume profile rather than relying on fixed thresholds. A surge on a microcap and a surge on SPY are both defined relative to their own baselines
Directional filtering of surges means the triangles only appear when both conditions align, making them relatively rare and targeted rather than noisy
How to Use
Add the indicator to your chart. The colored columns show the smoothed volume delta — above zero means net buying pressure, below zero means net selling
Watch the gradient intensity: deep, saturated colors indicate strong directional flow within the recent 50-bar context. Fading colors suggest conviction is weakening
Look for triangle markers at the bottom (bullish surge) or top (bearish surge) of the indicator pane. These flag statistically unusual volume aligned with directional flow
Adjust the Volume Surge Multiplier higher if you see too many signals — a value of 2.5–3.0 will isolate only the most extreme events
Customization
Flow Smoothing Length (default: 14) — EMA period for the volume delta. Lower values track fast shifts in buying/selling pressure; higher values produce a smoother oscillator at the cost of 3–5 bars of additional lag
Volume Surge Multiplier (default: 2.0) — How many standard deviations above the 20-bar volume mean qualifies as a surge. At 2.0, roughly 5% of bars will trigger in normally distributed volume; at 3.0, under 1%
Bullish / Bearish Flow Color — Set the gradient endpoints for positive and negative volume flow. The gradient interpolates between these based on the oscillator's position within its 50-bar range
Conclusion
The Luminous Volume Flow & Breakout Matrix combines proportional volume splitting with statistical surge detection to surface moments where unusual volume carries clear directional intent. The oscillator provides continuous context on who controls the tape, while the surge markers highlight outlier events worth paying attention to. Best used as a confirmation layer alongside price structure — volume shows you the conviction behind a move, but not the map. Indicator

Market Correlation Matrix [NikaQuant]Market Correlation Matrix
A real-time correlation dashboard that displays Pearson correlation coefficients between the current chart symbol and up to 6 user-defined comparison symbols.
═══ FEATURES ═══
• Track correlations for up to 6 symbols simultaneously (default: BTCUSDT, GOLD, SPX, DXY, US10Y, QQQ)
• Heatmap-colored table with intuitive color coding from strong positive (green) to strong negative (red)
• Correlation change tracking — see how correlations are shifting over a configurable lookback period
• Visual strength bars showing absolute correlation magnitude at a glance
• Signal classification labels: STRONG+/-, MOD+/-, WEAK+/-, NEUTRAL
• Built-in alerts for strong positive/negative crosses (±0.7) and zero-line crosses
• Fully customizable: table position, text size, all colors, border styling
═══ HOW IT WORKS ═══
The indicator calculates Pearson correlation over a user-defined period (default: 50 bars) between the chart’s close price and each comparison symbol’s close price. It then renders a compact table showing:
1. Symbol — Ticker of the comparison asset
2. Corr — Current correlation value (-1 to +1)
3. Change — How much the correlation shifted vs N bars ago (with directional arrows)
4. Strength — Block-style visual bar representing absolute correlation
5. Signal — Classification from NEUTRAL to STRONG+/-
═══ SETTINGS ═══
Symbols: Configure up to 6 comparison symbols (leave blank to skip)
Correlation Period: Lookback length for Pearson calculation (default: 50)
Change Lookback: Compare current vs past correlation (default: 10 bars)
Display: Table position, show/hide title
Style: Full color customization for heatmap, headers, borders, and change indicators
═══ ALERTS ═══
• Strong positive correlation cross (above +0.7) per symbol
• Strong negative correlation cross (below -0.7) per symbol
• Any symbol crossing the zero line
═══ USE CASES ═══
• Monitor intermarket relationships in real time
• Identify regime changes when correlations break down or strengthen
• Confirm or filter trade setups using cross-asset correlation context
• Track USD, bonds, equities, and crypto correlations from a single chart Indicator

_Trinity Matrix_
Short description
A structured multi-layer oscillator built around a refined Trinity Wave core, MFI regime columns, confidence scoring, divergence filtering, and TF / HTF context.
Full publication description
Trinity Matrix is a multi-layer oscillator designed to read continuation, reversal quality, regime strength, and divergence context inside a single panel.
It combines a refined Trinity Wave core, MFI regime structure, confidence scoring, mode-based signal filtering, divergence logic, and a compact TF / HTF dashboard into a unified workflow.
The name is a nod to layered market context: not a single signal, but a structured matrix of wave state, regime strength, confidence, and divergence.
Core Structure
Trinity Wave core with additional smoothing and soft limiting to reduce extreme spikes while preserving directional character
MFI Columns to separate baseline participation from stronger expansion phases
Strong zone highlighting to visually distinguish stronger bullish and bearish regime expansion
Confidence engine that blends Trinity Wave continuation and MFI continuation into a normalized directional score
Signal modes for different levels of selectivity: None, Early, Standard, and Strict
ATR-gated divergence filtering for cleaner divergence structures
TF / HTF confidence dashboard for comparing active timeframe conviction against a selected higher timeframe
Built-in alerts for buy, strong buy, elite buy, sell, strong sell, and elite sell conditions
How to Read It
Trinity Wave is the main directional layer. Green indicates bullish state, red indicates bearish state.
MFI Columns show regime participation.
White columns = baseline MFI flow
Shiny white columns = stronger bullish expansion
Orange columns = stronger bearish expansion
Average MFI bands help show where positive or negative regime strength is building relative to recent memory.
Confidence Dashboard summarizes directional conviction on both the active timeframe and the selected higher timeframe.
Row 1 = TF / HTF labels
Row 2 = confidence percentage
Row 3 = qualitative tag: Weak / Moderate / Strong
Signal Modes
None hides signal output
Early is faster and more aggressive
Standard is more balanced
Strict applies the strongest filtering and usually produces the fewest signals
Divergence Module
The divergence layer uses Trinity Wave turning points, confidence filtering, pivot distance control, and optional ATR gate filtering.
It can draw on the oscillator and, if enabled, on price as well.
The goal is not to maximize divergence count, but to keep the structures more selective and readable.
Alerts
This script includes separate alert conditions for:
TW Buy
TW Buy Strong
TW Buy Elite
TW Sell
TW Sell Strong
TW Sell Elite
Suggested Use
Trinity Matrix works best as a structured reading tool rather than a one-click decision engine.
A practical workflow is:
Read Trinity Wave direction and location
Check whether MFI is in baseline flow or strong expansion
Use confidence and HTF context to judge continuation or reversal quality
Use signal mode based on your desired aggressiveness
Use divergence as a contextual filter, not as a standalone trigger
Important Notes
Signal frequency changes significantly with the selected signal mode
HTF confidence reflects the live state of the selected higher timeframe
Divergence output is intentionally filtered and selective
This is an indicator framework, not a full trading strategy
Attribution
Core WaveTrend-style formulation was adapted from the open-source WaveTrend Oscillator by LazyBear, then extended with additional smoothing, soft limiting, MFI regime logic, confidence scoring, divergence filtering, dashboard structure, and alert workflow.
Acknowledgement
Built through many rounds of testing, refinement, and iteration — with a little help from ChatGPT and CodeGPT along the way.
Disclaimer
For educational and analytical use only. Not financial advice. Indicator

Market State Matrix [LuxAlgo]The Market State Matrix indicator is a high-density radial dashboard designed to visualize the entire market condition as a layered, 360-degree "radar." Unlike linear indicators, the Matrix organizes data into 5 concentric rings and 12 multi-scale slices , providing an instant snapshot of market confluence, conflict, and cyclical phases.
🔶 USAGE
The indicator operates in a dedicated pane, providing a centralized view of market health across five dimensions and twelve lookback periods.
🔹 The 5 Radial Dimensions (Inside to Outside)
Ring 1: Trend Regime (Teal/Red) - Visualizes the primary EMA-based direction.
Ring 2: Momentum Intensity (Cyan/Purple) - A heatmap based on RSI distance from the 50-level.
Ring 3: Volatility Glow (Gold) - Brightens as ATR expands relative to its historical average.
Ring 4: Volume Pressure (White) - Highlights areas of high relative participation and interest.
Ring 5: Price Structure (Lime/Orange) - Tracks Higher Highs/Lows vs. Lower Highs/Lows across various scales.
🔹 Interpretation
Full Alignment: Look for solid "columns" of color from the core to the outer ring. This represents maximum conviction across all market dimensions.
Internal Conflict: Mixed colors within a slice indicate internal disagreement—for example, a bullish trend (Ring 1) with bearish momentum (Ring 2) suggests potential exhaustion or a mean-reversion setup.
Volatility Breaks: Watch the Gold ring (Ring 3) for expansion. High volatility paired with high volume (Ring 4) often precedes a significant trend shift.
Regime Core: The center circle acts as your primary anchor, glowing solid Bullish or Bearish based on the fastest timeframe's regime.
🔶 DETAILS
The Matrix utilizes a Multi-Scale Engine divided into 12 radial slices, each representing a progressively longer lookback period (ranging from 8 to 220 bars). This allows users to see how different time-clusters are reacting simultaneously. "Sensitive Slices" respond to micro-shifts and short-term volatility, while "Stable Slices" reflect the long-term macro regime.
The tool also features a **Dominant Phase Highlighter**: A glowing radial arc and focus overlay highlight the current active slice of price action. This identifies where the market is positioned in its current cycle (Expansion, Exhaustion, Contraction, or Accumulation).
🔶 SETTINGS
🔹 Visual Settings
Horizontal Offset: Adjusts the X-axis position of the wheel on the chart.
Core Radius: Sets the size of the inner-most circle.
Ring Width: Determines the thickness of each of the 5 concentric rings.
Ring Gap: Sets the thin separation distance between segments for visual clarity.
Show Dashboard Legend: Toggles the visibility of the "Matrix Layers" table in the top-right corner.
Indicator
