Zero Lag CVD, RSI & Stochastic Divergence (All-in-One) [D4A]Zero Lag CVD, RSI, Stochastic Divergence
Overview
Zero-Lag Divergence indicator is designed to identify bullish and bearish divergences as they happen, without relying on traditional pivot confirmation delays. By comparing price action with output of CVD, RSI and Stochastic across two independent detection periods, the indicator helps traders spot potential trend exhaustion and reversal opportunities earlier than conventional divergence tools.
How is this indicator different from other similar tools?
- Provides real-time non-repainting divergence signals for CVD, RSI and Stochastic in one convenient script
- Provides instant and separate divergence signals for one of the three oscillators (CVD, RSI, Stochastic), combination of two oscillators or combination of all three (Agreement Mode), thus marking double or triple confirmation of discrepancy between the price, momentum and volume, signalling potentially important reversal zone.
- To maximize probability of validity of the signal, the user can configure overbought and oversold conditions for both momentum oscillators (RSI & Stochastic) to filter only the strongest signals.
- To keep chart clutter under control the tool combines divergence labels into one common label in Agreement Mode
- The indicator tracks divergence simultaneously using two different and configurable periods (short- and long-term divergence) thus allowing to track shorter and longer periods for possible divergences while using only one timeframe
- Displays all signals directly on the chart - no need for additional panel below or above the chart
- All three oscillators can be independently configured, eg. signal length, smoothing, overbought and oversold levels.
Bullish Divergence Logic
Occurs when price forms a lower low while oscillator forms a higher low, suggesting weakening bearish momentum (volume) and the possibility of an upward reversal.
Bearish Divergence Logic
Occurs when price forms a higher high while oscillator forms a lower high, indicating weakening bullish momentum (volume) and the potential for a downward move.
Why Zero-Lag?
Most divergence indicators require future candle confirmation before displaying a signal. This indicator prioritizes immediacy by highlighting potential divergences as they form, allowing traders to react sooner to developing momentum shifts.
While this approach can generate earlier opportunities, it may also create false signals and market noise. For best results, consider combining divergence signals with trend analysis, support and resistance levels, volume studies, or additional confirmation tools.
Notes
* Signals are non-repainting once generated.
* Earlier detection may result in more frequent signals compared to traditional pivot-confirmed divergence indicators.
* Suitable for stocks, forex, cryptocurrencies, indices, and other liquid markets.
* Can be used on any timeframe, from intraday trading to higher-timeframe swing analysis.
SETTINGS
- Zero-Lag Divergence - enable the display of signals
- Mode - select for which oscillator should divergence signals be plotted:
CVD - Cumulative Volume Delta
RSI - Relative Strength Index
Stochastic - Momentum oscillator
Agreement - two or three indicators agree at the same time (same candle)
- Minimum Agreement - how many indicators should agree at the same time: Any Two or Any Three
- Cumulative Volume Delta Length
- RSI Length, OB (overbought) level , OS (oversold) level. OB and OS levels can be used to select more extreme zones to find divergence (stronger signals).
- Stochastic: %K and Smoothing settings, as well as OB and OS settings (work similar to RSI logic)
- Show Labels - show labels on the chart
- Bullish Label - can be set and color coded for different indicators
- Bearish Label - can be set and color coded for different indicators
- All Oscillators Agree - displays label when all three oscillators generate divergence signals at the same time
- RSI + Stochastic - displays label when both RSI and Stochastic agree at the same time
- CVD + Stochastic - displays label when both CVD and Stochastic agree at the same time
- CVD + RSI - displays label when both CVD and RSI agree at the same time
- RSI Divergence Label only if RSI >=OB or RSI <= OS - display the label only when RSI divergence signals are detected at user-defined overbought or oversold levels
- Stochastic Divergence Label only if Stochastic >=OB or Stochastic <= OS - display the label only when Stochastic divergence signals are detected at user-defined overbought or oversold levels
- Show Lines - draw lines between divergence points.
- Short Period - define the 1st period for which divergence is detected
- Long Period - define the 2nd period for which divergence is detected
- Distance Multiplier & ATR - used to position the labels at specific distance from divergence point
What is CVD?
CVD measures the cumulative difference between buying and selling volume. A rising CVD indicates more buying pressure, while a falling CVD indicates more selling pressure. Divergence occurs when the price action contradicts the CVD's direction, suggesting a potential shift in momentum or trend reversal.
What is RSI?
The relative strength index (RSI) is a momentum indicator used to measures the speed and magnitude of a asset's recent price changes to detect overbought or oversold conditions.
What is Stochastic?
Trading View definition: Stochastic Oscillator (STOCH) is a range bound momentum oscillator. The Stochastic indicator is designed to display the location of the close compared to the high/low range over a user defined number of periods. Typically, the Stochastic Oscillator is used for three things; Identifying overbought and oversold levels, spotting divergences and also identifying bull and bear set ups or signals.
-----------------
Disclaimer
The content provided in this script is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Indicator

Indicator

CVD [Order Flow]Price tells you what happened. Cumulative Volume Delta tries to tell you who was leaning on it. Delta is buying pressure minus selling pressure on each bar; CVD is that delta accumulated into a running line, so a market can grind sideways in price while the delta quietly stacks in one direction. CVD builds that line, draws it as informative candles instead of a flat curve, and watches it for two order-flow behaviors traders care about: divergence against price and absorption. One honest caveat sits underneath all of it, and the tool is built around it rather than hiding it: PulseWire does not know real buy versus sell volume, so this CVD is a lower-timeframe estimate — and on data where that estimate is weak, the tool stays quiet instead of inventing pressure.
HOW IT WORKS
CVD is reconstructed from a lower timeframe, because the chart timeframe alone cannot tell you how a bar's volume split between buyers and sellers. The tool requests intrabar data from a faster timeframe and classifies each intrabar: an up intrabar adds its volume as positive delta, a down intrabar subtracts it, and a doji counts as zero — on an ambiguous intrabar the tool refuses to guess a side.
Delta and CVD — each bar's delta is the sum of its intrabar deltas. The cumulative line is committed only when the bar closes (the live bar is shown separately and is provisional until then). Two accumulation modes: Session resets the running total at each session start; Cumulative carries it across.
CVD candles — by default CVD is drawn as candles in its own pane: the open is the previous close, the high and low are the running intrabar extremes of the cumulative within the bar, and the close is the bar's net delta. This shows the path the delta took inside the bar, not just where it ended — more informative than a plain line. Line and Line+Histogram styles are available too.
Divergence — drawn on the price chart, between a price pivot and the matching CVD pivot, on confirmed pivots only. Regular divergence (price makes a higher high or lower low while CVD does the opposite — a potential exhaustion read) and Hidden divergence (a continuation read, default off). Several filters gate it: minimum swing size, minimum CVD move, minimum pivot volume, and bar-distance bounds, so trivial wiggles do not get marked.
Absorption — a strong delta meeting a weak price result: a lot of one-sided pressure that fails to move price its way, as if the move is being absorbed. It is confirmed on the next candle. This is an order-flow pattern, not a buy or sell instruction.
The unreliable-data part is deliberate and silent. Behind the scenes the tool weighs the symbol type against how complete the intrabar measurement is. On a symbol with no real volume it withholds signals; on tick-volume data it stays cautious. There is no confidence panel or badge — the honesty is in the behavior, not in a label on your chart.
Intrabar data is pulled from a lower timeframe and classified into per-bar delta (up = +volume, down = -volume, doji = 0)
Delta is accumulated into CVD and committed on bar close; the running line is drawn as candles, line, or line+histogram
Confirmed price and CVD pivots are compared for divergence; a strong-delta / weak-result bar is flagged as absorption, confirmed next candle
HOW TO READ
The CVD line rising means net buying pressure is accumulating; falling means net selling pressure. Sideways price with a steadily climbing or dropping CVD is the situation this tool is built to surface.
CVD candles show the intrabar path: a long candle that closed near its delta extreme is one-sided flow, while a candle that ran far in delta but closed back near its open is flow that met resistance.
A regular divergence is price and CVD disagreeing at a swing — price extends, delta does not. A hidden divergence (off by default) is the continuation-flavored version. Both describe an order-flow condition, not a trade.
An absorption mark is heavy delta that did not get its move. It says pressure was met, nothing more.
"Bullish" and "Bearish" describe the direction of the pattern, not a buy or sell instruction. Marking a divergence or an absorption says nothing about whether price will turn, continue, or do neither. The tool maps the order flow; the read is yours.
INPUTS
LTF Source / Manual LTF — Auto picks a lower timeframe targeting enough intrabars per chart bar; Manual lets you set it yourself.
Accumulation — Session (reset the running total each session) or Cumulative (carry it across).
Show Bullish / Show Bearish Divergence — enable each direction independently.
Show Hidden — add the continuation-style hidden divergence (default off).
Pivot Left / Right — how many bars define a confirmed pivot (larger = stricter and later, but still no repaint).
Pivot Source — Wick or Close: measure pivots from the extremes or from the closes.
Min Swing Size / Min CVD Move / Min Pivot Volume / Min & Max Bars Between — the divergence quality filters; raise them for fewer, cleaner marks.
CVD Smoothing — smooth the CVD used for pivot detection.
Absorption — toggle the absorption pattern; its delta, range, and period thresholds define how strong the delta and how weak the result must be.
CVD Style — Candles (default), Line, or Line+Histogram.
Zero Line / Dim Live Bar / Up & Down Color — display options; Dim Live Bar visually marks the not-yet-committed bar.
ALERTS
CVD Bullish Divergence and CVD Bearish Divergence fire when a confirmed, filter-passing divergence is marked.
Absorption fires when a confirmed absorption is marked.
All fire on confirmed, quality-gated events — set them up with "Once Per Bar Close."
NOTES & LIMITS
This is an observation tool, not a forecast. The single most important thing to understand: PulseWire does not provide real buy versus sell volume, so this CVD is a lower-timeframe estimate built by splitting each bar into faster intrabars and classifying them. That estimate is only as good as the volume data underneath it. On instruments with genuine traded volume — futures and crypto — it is at its most reliable. On forex and CFDs the "volume" is tick volume (number of price updates, not contracts traded), so the delta there is looser, and the tool treats it cautiously through a silent data-quality gate; on a symbol with no usable volume it withholds signals rather than drawing noise. There is no panel telling you this per bar — the caution is built into the behavior. Divergence and absorption are order-flow patterns, not buy or sell instructions, and marking one says nothing about whether price will reverse or continue. No repaint, no lookahead: the cumulative line is committed on confirmed (closed) bars and the live bar is shown separately as provisional; divergences are drawn on confirmed pivots only — they appear a few bars late by nature, but they do not move once printed; absorption is confirmed on the next candle. The lower-timeframe request reads completed intrabars and does not leak the future. No profit, win-rate, or guarantee claim. Open-source under CC BY-NC-SA 4.0 — non-commercial use, attribution to ElisTools required for reuse or derivatives. PulseWire (Pine v6) only. Indicator

Delta by Price (Delta Volume Profile)🔹 Introduction
This indicator, Delta by Price (Delta Volume Profile), takes the familiar concept of a volume profile and replaces raw traded volume with net directional volume (delta) at each price level. Instead of showing how much volume traded at a price, it shows which side was more aggressive at that price — buyers or sellers.
The idea is straightforward: if a price level absorbed significantly more aggressive buying than selling (or vice versa), that level likely represents a meaningful shift in who was in control of the auction at that point in the range.
One thing to be upfront about: true tick-by-tick delta isn't available to Pine scripts. This indicator approximates delta by pulling lower-timeframe bars within each higher-timeframe bar and classifying each LTF bar's volume as buy-side or sell-side based on whether it closed above or below its open. It's a proxy, not a recording of the actual order book — but it's the same proxy nearly all publicly available delta tools use, and it tends to track real aggressor flow reasonably well over meaningful sample sizes.
🔹 The Premise / Background Theory
🔸 Volume tells you "how much," delta tells you "who pushed"
A standard volume profile answers one question: how much volume traded at each price? It's useful for finding high-volume nodes (areas of acceptance) and low-volume nodes (areas of rejection), but it's directionally blind. A price level with 1,000 contracts could be 500 aggressive buys and 500 aggressive sells — pure equilibrium — or it could be 950 buys and 50 sells, meaning that level was overwhelmingly bought into.
Delta separates these two scenarios. A delta profile takes that same volume and splits it by aggressor side, then nets it. The result is a histogram that shows not just where volume concentrated, but which direction the pressure leaned at every price.
🔸 A concrete example
Assume price moves through a range from 5,000 to 5,010 over a session.
At the 5,002 level, three separate visits occur. On the first visit, an LTF bar closes higher than it opened with volume of 200 — classified as buy-side. On the second visit, another bar closes lower than it opened with volume of 150 — sell-side. On the third visit, a bar closes higher with volume of 300 — buy-side.
Net delta at 5,002 = +200 − 150 + 300 = +350.
Total volume at 5,002 = 200 + 150 + 300 = 650.
A standard volume profile would just show "650 contracts traded here." The delta profile shows +350 net buying — meaning roughly 54% more buy-side aggression than sell-side at that exact price. If you saw a level like this near the low of a range, it might suggest buyers stepped in there with conviction, not just that "a lot happened" there.
🔸 Why distribute delta across a bar's range instead of just its close
Each higher-timeframe bar has a high and a low, and the LTF bars that compose it trade across that entire range — not just at the close. This indicator takes each HTF bar's net delta and spreads it proportionally across every price bin the bar's high-to-low range touches.
This is an assumption, not a measurement. In reality, delta within a single bar isn't evenly distributed across its range — more of it likely occurred near where price spent the most time. But without LTF-by-LTF price-level tracking (which would be computationally heavy and hit Pine's lower-timeframe data limits quickly), even distribution across the bar's range is the most defensible simplification available. Wider bars contribute a thinner "smear" of delta per price bin; narrow bars concentrate their delta into fewer bins. Over a large enough sample, this tends to average out reasonably well.
🔹 How It Works
🔸 Profile Range: Session vs. Rolling Lookback
The indicator builds its profile from one of two data windows, selectable in settings.
Session mode mirrors how a session volume profile works — it resets at the start of each new session (defined by the session time input) and accumulates only the bars within that session. This is the natural choice if you want to see, for example, today's regular trading hours delta distribution reset cleanly each day, the same way you'd look at a daily session volume profile.
Rolling Lookback mode instead uses a fixed number of the most recent closed bars (configurable, default 200), regardless of session boundaries. This is useful for a continuously updating view of recent delta structure that isn't tied to calendar sessions — helpful for instruments or sessions that don't fit a clean daily reset (e.g. 24-hour futures markets).
There are limitations here worth noting. Session mode depends on the session time input matching how you actually think about your trading day. If you trade through multiple sessions (e.g. Asian, London, NY) and only select one as your "session," the profile will reset and rebuild only around that window — bars outside it are ignored entirely.
🔸 Number of Price Rows
This setting controls how finely the price range is divided into bins — effectively the "resolution" of the profile. A higher row count gives more granular price-level detail but spreads the available delta across more bins, making each individual bin's bar shorter and potentially noisier. A lower row count aggregates more price action into each bin, producing a smoother, more visually digestible profile but losing some precision about exactly where within a price cluster the delta concentrated.
This is a resolution-versus-noise tradeoff — there's no universally correct setting, and it's worth adjusting based on the instrument's typical range and tick size.
🔸 Extend Direction
The profile can be drawn extending to the right of the current bar (the default, useful when you want the profile visible without obscuring recent price action to the left) or to the left, anchored at the start of the lookback/session window — placing it where the data actually begins, similar to how some volume profile tools anchor to the left edge of the range being measured.
This is purely a visual/layout preference and doesn't change any underlying calculation — it only affects where the horizontal delta bars are drawn relative to price.
🔸 Point of Control (POC)
When enabled, a label marks the price bin with the highest total absolute volume (buy-side + sell-side combined, not net delta) — analogous to the POC on a standard volume profile. This identifies where the most total activity occurred, regardless of which direction it leaned. It's possible — and informative — for the POC bin to have a relatively small net delta despite high total volume, which would indicate that level saw heavy two-sided participation rather than one-sided conviction.
🔸 Custom Lower Timeframe
By default, the indicator automatically selects a lower timeframe for delta calculation based on your chart's timeframe (1-second charts use 1S, intraday charts use 1-minute, daily charts use 5-minute, and anything larger uses 60-minute). You can override this manually.
The tradeoff here is precision versus data availability. A finer LTF gives a more granular delta classification per HTF bar, but request.security_lower_tf() has practical limits on how many LTF bars it can return per HTF bar — on very large lookbacks with a very fine LTF relative to your chart timeframe, you may not get the full intrabar picture for older bars.
🔹 Closing Remarks
A delta-by-price profile doesn't tell you why buyers or sellers were more aggressive at a given level — only that they were, based on a reasonable proxy for aggressor classification. Large net-delta clusters don't guarantee future support or resistance. They're best treated as a layer of context: a way of seeing whether the volume that built a price level was directionally lopsided or balanced, which can complement (not replace) your read of structure, location, and broader order flow.
Used alongside the rest of your framework, it's another lens for asking the same underlying question every footprint-based approach asks: was this level built by conviction, or by indecision? Indicator

Volume Profile AnalysisVolume Profile Analysis 📊
Advanced horizontal volume profile with order size analysis, buy/sell split, POC, and Value Area — all calculated from real tick-level volume delta.
Core Features:
🔹 Bidirectional Volume Profile Horizontal histogram showing volume distribution across price levels. Buy volume extends RIGHT, sell volume extends LEFT from candles. Delta is proportionally distributed across each bar's price range — no inflation.
🔹 Order Size Analysis Automatically categorizes volume into Large (>1.5× SMA) and Small orders using real volume data. Color-coded so you can see institutional vs retail activity at each price level.
🔹 Point of Control (POC) Yellow line marking the price level with the highest volume — the "fair value" where most trading occurred.
🔹 Value Area (VA) Gray zone containing 68% of total volume around the POC. Price tends to revert to this zone. Trading above/below VA indicates imbalance.
🔹 Buy/Sell Split Each profile level shows separate bars for buying and selling pressure. Labels display exact volumes (e.g., "4.5K | 3.2K").
🔹 Large Order Detection Highlights price levels where >75% of volume comes from large orders — potential institutional accumulation/distribution zones.
🔹 Real-Time Dashboard POC, VA High/Low, distance from POC in ATR units, position (Above/Inside/Below VA), current delta, and profile range.
How to Use:
Signal Meaning
Price at POC Fair value — range-bound market
Price above VA Bullish imbalance — may mean-revert down
Price below VA Bearish imbalance — may mean-revert up
High large order % Institutional activity — watch for reversals
Buy >> Sell at level Buyers absorbed selling at that price
Sell >> Buy at level Sellers absorbed buying at that price
Recommended Settings:
Timeframe: 1S (most precise delta)
Price Levels: 30 (good balance of detail)
Lookback: 100 bars (captures recent session)
Order Size: Enabled (see institutional activity)
Best For: Order flow traders, volume profile traders, identifying support/resistance, detecting institutional activity, understanding where value is established. Indicator

Trapped Trader LedgerThe primary purpose of the "Trapped Trader Ledger" is to provide a real-time, order-flow-based visualization of market liquidity and directional imbalance within a defined lookback window. By partitioning the price range into discrete volume bins, the indicator systematically categorizes buying and selling pressure, allowing you to instantly identify where significant volume has accumulated and where the market is currently experiencing "trapped" liquidity. It transforms raw volume data into a structured profile, effectively exposing the battle between supply and demand that often dictates future price action.
To use this tool effectively, monitor the dashboard on your desired timeframe while paying close attention to the Point of Control (POC), highlighted in yellow both on the chart and in the table. The table serves as your primary diagnostic tool: look for rows where the Ratio and Delta columns indicate high directional dominance, as these are the zones where trapped participants are most likely to react if price returns to their position. Use the widthScale input to adjust the visual histogram intensity to your preference, and ensure your lookback window is set to a length that captures the relevant market cycle you are currently trading.
The rationale behind this approach is rooted in the "Value Area" theory, which posits that price tends to gravitate toward areas of high volume accumulation. By calculating the Delta and Relative Volume for each specific price bin, the script filters out market noise and focuses on "high-conviction" levels—where the discrepancy between buyers and sellers is largest. This methodology assumes that when price leaves an area of high volume imbalance, the participants who were positioned on the losing side become "trapped," creating significant pressure for a potential reversal or liquidity-driven breakout when those levels are re-tested. Indicator

HTF Candle Footprint [Cartel Console]# HTF Candle Footprint
HTF Candle Footprint is a higher-timeframe volume and delta visualization tool designed to help traders analyze the internal composition of a selected higher-timeframe candle directly on the chart.
The indicator reconstructs a footprint-style profile inside a dynamically generated higher-timeframe candle, allowing users to examine how volume and directional pressure were distributed throughout the candle's range. By combining volume distribution, delta estimation, Point of Control (POC), and higher-timeframe candle structure into a single visualization, traders can gain additional context about market participation and price acceptance within significant trading periods.
Unlike traditional volume profiles that focus on extended historical ranges, this indicator concentrates on the currently developing or recently completed higher-timeframe candle. This approach enables users to study how volume accumulates across price levels while simultaneously monitoring the relationship between bullish and bearish activity inside the candle body.
### Key Features
• Higher-Timeframe Candle Reconstruction
Displays a custom-rendered higher-timeframe candle directly on the chart, including body and wick structure.
• Integrated Footprint Visualization
Shows estimated buying and selling pressure across individual price levels within the selected higher-timeframe range.
• Volume Distribution Profile
Builds a horizontal volume profile that highlights where the greatest amount of trading activity occurred during the analyzed period.
• Delta-Based Pressure Analysis
Calculates directional volume estimates and displays positive and negative pressure zones using color-coded footprint cells.
• Point of Control (POC) Detection
Automatically identifies and plots the highest-volume price level within the profile.
• Dynamic High and Low Levels
Marks the extreme boundaries of the analyzed higher-timeframe candle for additional market structure reference.
• Real-Time Higher-Timeframe Bias Dashboard
Provides a compact dashboard showing the current directional bias of the selected higher-timeframe candle.
• Multi-Timeframe Support
Analyze volume and pressure behavior across Hourly, 4-Hour, Daily, Weekly, and Monthly structures.
### How Traders Use It
Many traders use higher-timeframe candles as key reference points for trend analysis, support and resistance identification, liquidity observations, and contextual decision-making. HTF Candle Footprint enhances this process by exposing the internal volume distribution of those candles.
Potential use cases include:
• Identifying high-participation price zones
• Observing areas of price acceptance and rejection
• Comparing volume concentration against candle structure
• Locating potential reaction levels around the Point of Control
• Studying directional pressure within higher-timeframe ranges
• Adding additional context to multi-timeframe analysis workflows
### Notes
This indicator uses volume-based calculations and visual approximations derived from chart data. The displayed footprint and delta values are analytical tools intended to provide additional market context and should not be interpreted as financial advice or guaranteed trading signals.
HTF Candle Footprint is designed as a visual analysis aid and can be used alongside existing price action, volume, market structure, and risk management methodologies.
Indicator

Indicator

Session CVD DivergenceSession CVD Divergence splits Cumulative Volume Delta into three independent session streams (Asian, London, and New York) and automatically detects all four divergence types between price and order flow.
TWO-SCRIPT SETUP
This indicator comes as a pair:
Session CVD Divergence (this script) — add to a new pane. Shows the CVD lines for each session and draws divergence lines between the CVD pivots.
Session CVD — Chart Labels — add as an overlay. Draws the same divergence lines between the price pivots on the main chart, with labels at each signal.
Both scripts must be on the chart together for the full picture. Settings (session times, pivot length, colors) are identical between the two, keep them in sync.
Session CVD Chart Labels:
WHY SESSION-SCOPED CVD?
A standard CVD indicator runs continuously across the entire day. That means London's aggressive buying gets buried inside Asia's quiet accumulation, and by the time New York opens you're reading a blended signal with no session context.
This indicator resets CVD to zero at the open of each session. What you see is the net order flow within that session only, independent of what happened before.
THE FOUR DIVERGENCE TYPES
Regular divergences (reversal signals, solid lines)
BD — Bullish Divergence: price makes a lower low, CVD makes a higher low. Selling pressure is drying up.
BrD — Bearish Divergence: price makes a higher high, CVD makes a lower high. Buying pressure is fading.
Hidden divergences (continuation signals, dashed lines)
hBD — Hidden Bullish Divergence: price makes a higher low, CVD makes a lower low. Uptrend remains intact beneath the surface.
hBrD — Hidden Bearish Divergence: price makes a lower high, CVD makes a higher high. Downtrend continuation despite apparent strength.
Each signal draws a line directly between the two pivots that form the divergence: on the CVD pane between the CVD pivot values, and on the main chart between the price pivot values. Solid lines for reversals, dashed lines for continuations.
SAME-SESSION CONSTRAINT
Divergence is only detected between two pivots that belong to the same session. A CVD pivot from the Asian session and a pivot from the London session are never compared, as their CVD scales are incompatible since each resets independently. This eliminates a significant source of false signals present in most divergence tools.
DELTA APPROXIMATION
Each bar's volume delta is estimated using the close-position formula:
delta = V x ( 2 x (C - L) / (H - L) - 1 )
A bar closing at its high contributes its full volume as buying. A bar closing at its low contributes its full volume as selling. Everything between is proportional.
SETTINGS
Session Boundaries — all session open/close times are configurable in UTC hours. Defaults: Asian 00 to 08, London 08 to 16, NY 13 to 21.
Pivot Detection Bars — controls sensitivity. Lower = more signals. Higher = only major pivots confirmed by more bars on each side.
Regular / Hidden divergence — each type can be toggled independently.
Colors — all four divergence types and all three session lines are individually customizable.
Session background — subtle shading shows which session each bar belongs to.
RECOMMENDED TIMEFRAME
15m to 4H. A warning label appears if the indicator is applied to a daily or higher timeframe.
Indicator

Indicator

Volume Delta ProfileVolume Delta Profile
The Volume Delta Profile is an overlay indicator that builds a horizontal volume delta distribution directly on the price chart, similar to a Market Profile or Volume Profile but using net delta (buying pressure minus selling pressure) as the core metric instead of raw traded volume.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT IS VOLUME DELTA?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Volume delta measures the difference between aggressive buying volume (market buy orders hitting the ask) and aggressive selling volume (market sell orders hitting the bid) within a given candle. A positive delta means buyers were more aggressive during that candle. A negative delta means sellers were more aggressive.
This indicator uses PulseWire's native ta.requestVolumeDelta() function, which reconstructs delta by scanning a lower timeframe (automatically selected or manually configured) to approximate the split between up-volume and down-volume for each candle.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The indicator scans a configurable number of historical bars (default: 500) and for each bar assigns its volume delta to a price level based on the closing price of that bar. Price levels are divided into equally spaced buckets across the high-to-low range of the lookback period.
Positive delta (net buying) accumulates in the bullish bucket of that price level.
Negative delta (net selling) accumulates in the bearish bucket of that price level.
The result is a horizontal bar chart displayed to the right of the last candle, where each row represents a price level and the width of the bar represents the total delta activity at that level. The color of each bar reflects which side dominated:
• Teal bars → net buying pressure dominated at that price level
• Pink/red bars → net selling pressure dominated at that price level
The Point of Control (POC) is marked as a solid horizontal line extending 50 bars to the left, highlighting the price level where the highest total delta activity occurred across the entire lookback period.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMPONENTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Delta Profile (horizontal bars)
A visual distribution of accumulated volume delta across price levels. Each bar's width is proportional to the total delta activity at that level relative to the most active level. Bars are color-coded by dominant side (buyers vs sellers).
2. Point of Control (POC)
The price level with the highest total delta activity in the lookback window. Displayed as a solid horizontal line extending 50 bars to the left of the current bar. This is the price where the most aggressive order flow occurred — institutional interest tends to concentrate here.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Lookback bars (default 500): Number of historical candles to include in the profile. More bars give a broader context; fewer bars focus on recent activity.
• Bar width (default 20): Visual width in pixels of the widest bar in the profile. Adjust for chart readability.
• Price levels (default 50): Number of horizontal buckets the price range is divided into. More levels give finer granularity; fewer levels give a smoother, broader view.
• Positive delta color (default teal): Color for price levels where buying pressure dominated.
• Negative delta color (default pink): Color for price levels where selling pressure dominated.
• POC color (default black): Color of the Point of Control line.
• Profile offset (default 10): Horizontal distance in bars between the last candle and the left edge of the profile. Increase to avoid overlap with live price action.
• Custom timeframe: Override the automatic lower timeframe used for delta reconstruction. Higher timeframes load more history but reduce precision.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO INTERPRET IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DOMINANT COLOR ZONES
Large teal zones indicate price areas where institutional buyers were consistently aggressive. These levels tend to act as support — if price returns to them, buyers are likely to defend the level. Large pink zones indicate areas of consistent selling aggression, which tend to act as resistance or liquidity targets for short-side participants.
PROFILE SHAPE
A profile with a clear peak (narrow, tall distribution) suggests price spent most of its time and order flow at a specific level — strong agreement on value. A wide, flat profile suggests price moved across a broad range without clear absorption at any single level.
POINT OF CONTROL (POC)
The POC is the single most important level in the profile. It represents where the maximum institutional order flow occurred. Price has a strong tendency to gravitate back toward the POC after extended moves away from it, making it a high-probability mean-reversion target. It also acts as a decisive level: a clean break and hold above a teal POC confirms bullish institutional commitment; a rejection at a pink POC confirms continued distribution.
DIVERGENCE BETWEEN COLOR AND PRICE MOVEMENT
If price fell sharply through a level but the profile shows teal (net buying) at that level, it suggests absorption — institutions were buying the selling pressure. This is often a precursor to a reversal. Conversely, if price rose through a level but the profile shows pink, distribution was occurring into the rally.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. IDENTIFY THE VALUE AREA
Look for the widest bars in the profile — these are the price levels with the most delta activity. The market considers these levels "fair value." Price tends to spend more time here and frequently returns to these zones after deviation.
2. USE THE POC AS A MAGNET
If price is trading significantly above or below the POC, there is a structural tendency to return to it. The POC acts as a mean-reversion target, especially in range-bound or post-impulse conditions.
3. READ THE COLOR FOR BIAS
Before entering a trade, check the delta color at the relevant support or resistance level. A teal zone below current price strengthens a long bias — institutions were buying there. A pink zone above current price strengthens a short bias — institutions were selling there.
4. SPOT ABSORPTION
Large teal bars at price lows or large pink bars at price highs are signs of institutional absorption. These are the exact footprints of Wyckoff accumulation and distribution phases — smart money absorbing retail order flow before the next directional move.
5. COMBINE WITH STRUCTURE
Use this indicator alongside your market structure analysis. A key structural level (support, resistance, order block) that coincides with a high-delta POC or dominant color zone has significantly higher probability of holding or acting as a reversal point.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NOTES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Delta data requires a data provider that supplies volume. The indicator will throw a runtime error if volume data is unavailable for the selected symbol.
• The profile updates on bar close and on the last real-time bar to keep the display current without excessive recalculation.
• Works on any timeframe and any instrument with volume data: forex, indices, crypto, commodities, equities.
• For best results on higher timeframes (daily, weekly), enable the custom timeframe option and select a higher sub-timeframe (e.g., "60") to ensure sufficient historical delta data is available.
Indicator

volume profil multitimeframe**Volume Profile D/W/M — Auction Map**
Volume Profile D/W/M is a visual auction-analysis indicator designed to display confirmed Daily, Weekly, or Monthly volume profiles on the chart. It focuses on value areas, volume concentration, auction structure, and important reaction zones. The script is intended for discretionary market analysis and does not generate automatic buy or sell signals.
---
## Overview
This indicator builds a volume profile from a selected confirmed period:
* Daily
* Weekly
* Monthly
Only one mode is active at a time. The goal is to keep the chart readable while still showing the most important auction levels.
The profile highlights where volume was concentrated during the selected period and displays key levels such as POC, VAH, VAL, HVN, LVN, VWAP, Initial Balance, naked POC levels, imbalance zones, confluence zones, and auction-state information.
---
## Main Features
### Confirmed Volume Profile
The script draws confirmed profiles from closed periods. This makes historical profiles stable and prevents them from constantly changing after the period has closed.
Available profile modes:
* Daily profile
* Weekly profile
* Monthly profile
The current developing profile can also be displayed with the dedicated option, but it should be understood as a live preview and not as a confirmed profile.
---
### POC, VAH and VAL
The script displays the main volume profile levels:
* POC: the price row with the highest volume
* VAH: upper boundary of the value area
* VAL: lower boundary of the value area
These levels are used to read market acceptance, rejection, rotation, and possible return-to-value behavior.
---
### HVN and LVN
The script can highlight:
* HVN: high-volume nodes, where the market accepted price
* LVN: low-volume nodes, where price often moved quickly or found less acceptance
HVN levels may act as areas of balance or reaction. LVN levels may act as rejection zones or acceleration zones depending on context.
---
### Bull / Bear Split and Delta Imbalance Rows
Each profile row can be split into bullish and bearish volume estimates. This helps visualize whether a price area was dominated by bullish or bearish pressure.
The indicator also includes imbalance rows, which highlight areas where one side strongly dominated the row volume.
To avoid label clutter, imbalance labels can be displayed as:
* a single multiplier label
* one label per row
* no label
The multiplier mode is recommended for normal use.
---
### Confluence Zones
The confluence module looks for clusters where several important levels are close to each other.
Examples of levels used in confluence:
* POC
* VAH / VAL
* HVN / LVN
* Period open / close
* Naked POC
* Profile high / low
* Poor high / poor low
* Composite levels
A confluence zone does not predict direction by itself. It simply marks an area where several auction references are grouped together.
---
### Naked POC Tracking
The script can track previous POC levels that have not yet been revisited. These levels are often watched as potential return-to-value or magnet zones.
Naked POC levels include status logic such as:
* Fresh
* Tested
* Respected
* Broken
* Dead
The extension distance can be adjusted so naked POC levels do not appear too far away from the rest of the profile.
---
### VWAP and Initial Balance
The indicator includes optional period VWAP and VWAP bands.
It can also display Initial Balance levels:
* IB High
* IB Low
* IB Mid
* 1x / 2x IB extensions
These tools are useful for reading whether price is rotating inside value, expanding away from balance, or failing an attempted breakout.
---
### Auction Dashboard
The dashboard summarizes useful auction information such as:
* selected mode
* current price location
* auction state
* value relation
* POC migration
* profile shape
* nearest target
* risk zone
* dominant session
* confluence score
* POC, VAH, VAL, VWAP and IB information
The dashboard is only a reading aid. It should not be used as a standalone trading system.
---
## Beginner Tutorial
### Step 1 — Choose the Profile Mode
Start with Daily mode.
Daily mode is usually the easiest to understand because each profile represents one completed trading day.
Once you are comfortable, you can test Weekly and Monthly modes to read the larger market structure.
---
### Step 2 — Read the Main Levels
Start with three levels:
* POC
* VAH
* VAL
A simple way to read them:
* Price above VAH: market is trading above accepted value
* Price below VAL: market is trading below accepted value
* Price around POC: market is rotating near the main accepted price
* Price between VAH and VAL: market is inside value
---
### Step 3 — Look for Reaction Areas
After the basic value area is understood, check:
* HVN zones
* LVN zones
* naked POC levels
* confluence zones
* VWAP
* Initial Balance
Do not use every line as a trade signal. The goal is to identify areas where price may react, pause, reject, or accelerate.
---
### Step 4 — Use the Dashboard
The dashboard helps summarize the profile state.
For example:
* If price is above VAH and POC migration is rising, the market may be accepting higher prices.
* If price rejects above VAH and returns inside value, it may indicate a failed auction.
* If price is near a confluence zone, the area may deserve more attention.
---
## Example Use Cases
### Example 1 — Return to Value
Price trades above VAH, fails to hold, and returns inside the value area.
A trader may watch for a rotation back toward POC.
This is not a direct entry signal. Confirmation should come from price action, market structure, or another method.
---
### Example 2 — POC Magnet
Price moves away from the previous POC but later returns toward it.
A naked POC or composite POC may act as a reference level where traders expect a reaction or pause.
---
### Example 3 — LVN Acceleration
Price approaches an LVN zone.
Because LVN zones represent low acceptance, price may either reject quickly or move through the area with speed.
The direction depends on context, not on the LVN alone.
---
### Example 4 — Weekly Context, Daily Execution
A trader can use Weekly mode to identify larger auction levels, then switch back to a lower chart timeframe to observe how price reacts near those levels.
This helps separate macro context from execution timing.
---
## Recommended Timeframes
The script is not designed for very low timeframes with heavy settings.
Recommended chart timeframes:
* 5 minutes and above for Daily mode
* 15 minutes and above for Weekly mode
* 15 minutes, 30 minutes, or 1 hour for Monthly mode
Using the script on a 1-minute chart is not recommended, especially with Weekly or Monthly mode, developing profile enabled, high profile rows, many historical profiles, or multiple visual modules active.
Very low timeframes may require too many historical bars or too many drawing objects, which can cause PulseWire limits to be reached.
---
## Performance Recommendations
For stable use, start with these settings:
* Profiles History: 3
* Profile Rows: 48
* Current Developing Profile: Off
* Imbalance Labels: Multiplier
* Composite Display: Near Profile
* Naked POC extension: short distance
If the chart becomes heavy, reduce:
* profile rows
* history count
* developing profile
* imbalance zones
* VWAP bands
* Initial Balance extensions
* confluence labels
---
## Important Notes
This indicator is an analytical tool, not a trading system.
It does not predict the market and does not provide guaranteed results. All levels should be interpreted with market context, price action, risk management, and the trader’s own strategy.
Volume profile analysis is most useful when combined with structure, trend, volatility, session behavior, and confirmation from price action.
Use the script to build a map of important auction areas, not as a standalone reason to enter or exit a trade.
Indicator

Indicator

Order Book Ultimate# order book ultimate — synthetic depth, flow pressure and wall map
order book ultimate is a synthetic order book and market pressure tool for traders who want a visual way to study possible bid walls, ask walls, liquidity pressure, absorption, sweeps, imbalance and short-term directional bias.
this script does not read real exchange level 2 data, broker depth of market, or live limit order book data. it builds a synthetic depth model from chart price action, volume, volatility, round-number behavior, intrabar flow when available, and recent reactions around price levels. the goal is to help traders visualize where pressure may be building, where price may react, and when a setup has enough agreement between multiple conditions to deserve attention.
the script is designed as a decision-support tool, not as an automatic trading system. it should be used with market structure, risk management, and personal validation.
---
## what this script does
order book ultimate combines several components into one workflow:
* synthetic bid and ask depth levels around current price
* estimated bid/ask pressure using volume and candle position
* optional lower-timeframe intrabar flow analysis
* wall detection and wall stability tracking
* historical liquidity memory zones
* absorption detection near bid or ask walls
* bullish and bearish sweep detection
* pro score and confidence score
* market regime filter
* visual long and short setup markers
* visual stats for signal follow-up
* compact, full and debug dashboard modes
* alerts for stable walls, imbalance, setups, absorption, sweeps and invalidation
the main idea is to avoid reading one signal alone. the script looks for agreement between pressure, depth imbalance, wall strength, trend, obv flow, absorption, sweeps and market regime.
---
## important note about the order book model
this is a synthetic order book model.
it does not show the real resting orders from an exchange. instead, it estimates possible liquidity concentration by using:
* atr-based spacing
* recent volume
* candle rejection behavior
* round-number magnetism
* intrabar buy/sell pressure when available
* historical reactions around price
* volatility and market regime adjustments
because of this, the script should be treated as a market pressure map, not as real dom or level 2 data.
---
# engine modes
## engine mode
this setting controls how the script measures market pressure.
### classic synthetic
uses the current chart candles only. it estimates buy and sell pressure from candle position, volume, delta approximation and recent flow.
best for:
* higher timeframes
* symbols where lower-timeframe data is not needed
* cleaner and lighter calculations
### intrabar flow
uses lower-timeframe candles inside the current candle to estimate pressure more closely.
best for:
* scalping
* intraday trading
* checking whether the current candle has strong internal buying or selling pressure
### hybrid pro
combines classic synthetic pressure with lower-timeframe intrabar flow. this is the default balanced mode.
best for:
* most traders
* 5m, 15m, 30m and 1h charts
* users who want both stable context and intrabar sensitivity
---
## lower timeframe
this is the lower timeframe used by the intrabar flow engine.
example:
* if your chart is 15m and lower timeframe is 1m, the script studies the 1m candles inside each 15m candle.
* if your chart is 5m and lower timeframe is 1m, it studies the 1m movement inside each 5m candle.
beginner tip:
use 1m for scalping and 3m or 5m for smoother intraday reading.
---
## intrabar weight in hybrid
this controls how much the hybrid engine trusts lower-timeframe flow.
* 0.00 means almost no intrabar influence.
* 0.55 gives a balanced mix.
* 1.00 gives maximum intrabar influence.
beginner tip:
keep it near 0.50 to 0.60 for a balanced setup. raise it only if you want more reactive signals.
---
## use confirmed bars for signals
when enabled, signals only confirm after the candle closes.
this helps reduce noisy live-bar signals. when disabled, signals can appear during the current candle, but they may change before the candle closes.
beginner tip:
keep this enabled if you want cleaner signals.
---
# synthetic depth engine
## levels per side
this controls how many synthetic bid levels and ask levels are calculated around price.
* lower values make the display simpler.
* higher values create a wider synthetic depth map.
beginner tip:
15 is a good balanced setting.
---
## level spacing x atr
this controls the spacing between synthetic levels using atr.
* lower values place levels closer to current price.
* higher values spread them farther away.
beginner tip:
use lower values for scalping and higher values for swing trading.
---
## volume lookback
this sets how many candles are used to build the average volume baseline.
* shorter lookback reacts faster.
* longer lookback is smoother.
beginner tip:
100 is a balanced value for most intraday charts.
---
## refresh rate
this controls how often the synthetic depth levels refresh.
* 1 refreshes every bar.
* higher values refresh less often.
beginner tip:
keep it at 1 for active trading.
---
## depth multiplier
this increases or decreases the strength of the synthetic depth zones.
* higher values create stronger wall readings.
* lower values make the script more conservative.
beginner tip:
2.0 is a balanced default.
---
## depth decay sigma
this controls how quickly synthetic liquidity fades as price levels move farther from current price.
* lower values focus more on nearby levels.
* higher values include farther levels.
beginner tip:
use lower values for scalping and higher values for wider market context.
---
## liquidity memory bars
this tells the script how far back it should remember recent reactions around price levels.
* lower values focus on recent reactions.
* higher values keep more market memory.
beginner tip:
40 is a good starting point.
---
# round number engine
## round number magnetism
this increases the importance of round prices.
markets often react near round numbers because many traders place orders around them. this setting makes the synthetic depth engine give more weight to those areas.
beginner tip:
use higher values on indices and crypto, and lower values on forex if the levels feel too wide.
---
## auto round step
when enabled, the script automatically chooses a round-number step based on the symbol price.
beginner tip:
keep this enabled unless you know exactly which round levels you want to use.
---
## manual round step
this is used only when auto round step is disabled.
example:
* 100 for major crypto round zones
* 10 for some indices
* 1 or 0.5 for stocks depending on price
beginner tip:
leave it at 0.0 when auto round step is enabled.
---
## round zone width %
this controls how close price must be to a round level before the round-number magnet effect becomes important.
* lower values are stricter.
* higher values allow wider round-number zones.
beginner tip:
1.5 is a balanced default.
---
# flow / pressure engine
## delta length
this controls how many candles are used to estimate delta pressure.
* shorter length reacts faster.
* longer length is smoother.
beginner tip:
20 works well for general intraday use.
---
## obv ma length
this is the moving average length used for obv flow.
if obv is above its moving average, the script reads flow as more bullish. if it is below, flow is more bearish.
beginner tip:
20 is a good default.
---
## pressure smoothing
this smooths the pressure reading.
* low values react faster.
* high values reduce noise.
beginner tip:
5 is a balanced value.
---
# wall stability / memory
## wall stable bars
this controls how many bars a wall must remain active before it is considered stable.
* lower values confirm faster.
* higher values require more persistence.
beginner tip:
3 is a good starting point.
---
## same wall zone x tick
this controls how close a new wall must be to the previous wall to be treated as the same wall.
* lower values separate walls more strictly.
* higher values merge nearby walls more easily.
beginner tip:
3.0 is balanced.
---
## max historical zones
this controls how many historical wall zones are kept in memory.
beginner tip:
12 keeps the chart useful without too much clutter.
---
## historical merge x tick
this controls how close historical zones must be to merge together.
* lower values create more separate zones.
* higher values combine nearby levels.
beginner tip:
6.0 is a balanced default.
---
## historical strength decay
this controls how slowly old historical zones lose strength.
* 1.0 means they do not decay.
* lower values make old zones fade faster.
beginner tip:
0.985 keeps useful memory while still allowing old zones to fade.
---
# absorption / sweep / filters
## anti-noise confirmation
when enabled, the script requires extra filters before confirming long or short setups.
it checks for enough volume, pressure agreement, stable walls, absorption or sweep context, and avoids low-liquidity conditions.
beginner tip:
keep this enabled for cleaner signals.
---
## min volume x avg
this is the minimum volume required compared to average volume.
example:
0.90 means current volume should be at least 90% of average volume.
beginner tip:
raise it if you want fewer but stronger signals.
---
## absorption volume x avg
this controls how much volume is required to detect absorption.
absorption means price touches or pushes into a wall area, but the candle shows rejection instead of clean continuation.
beginner tip:
1.20 is balanced. raise it for stricter absorption signals.
---
## absorption zone x atr
this controls how close price must be to a wall for absorption detection.
* lower values require price to be very close to the wall.
* higher values allow a wider absorption area.
beginner tip:
0.18 works well for many intraday charts.
---
## sweep zone x atr
this controls how far price must move beyond a wall before a sweep can be detected.
a bullish sweep happens when price moves below a bid wall or historical bid zone and then closes back above it.
a bearish sweep happens when price moves above an ask wall or historical ask zone and then closes back below it.
beginner tip:
0.10 is a good starting value.
---
## exhaustion rsi high
this level is used to warn when a long setup may be overextended.
if a long setup appears while rsi is very high and the candle shows rejection, the setup can be marked as exhausted.
beginner tip:
72 is a balanced default.
---
## exhaustion rsi low
this level is used to warn when a short setup may be overextended.
if a short setup appears while rsi is very low and the candle shows rejection, the setup can be marked as exhausted.
beginner tip:
28 is a balanced default.
---
# regime / asset calibration
## asset profile
this adjusts the behavior of the script for different markets.
available profiles:
* auto
* crypto
* forex
* index
* stock
* futures
* generic
auto reads the symbol type and applies a matching profile.
beginner tip:
use auto first. switch manually only if the script feels too sensitive or too slow on your market.
---
## auto-calibrate thresholds
when enabled, the script adjusts wall strength, round-number behavior and memory based on the selected asset profile.
beginner tip:
keep this enabled.
---
## adx length
this controls the adx calculation used to identify trending or ranging conditions.
beginner tip:
14 is a standard value.
---
## volatility baseline
this controls the baseline used to compare current volatility with normal volatility.
* lower values react faster.
* higher values are smoother.
beginner tip:
100 is a balanced setting.
---
# spread / range proxy
## spread display
this chooses how the script estimates spread or micro-range conditions.
### adaptive proxy
uses an adaptive estimate based on recent range.
### bar range
uses the full current candle range.
### atr micro
uses a small atr-based estimate.
beginner tip:
use adaptive proxy for most markets.
---
## adaptive spread factor
this controls the size of the adaptive spread proxy.
beginner tip:
0.05 is a balanced default. raise it if the spread reading looks too small.
---
# visual / panel
## show panel
shows or hides the dashboard.
the panel displays score, confidence, regime, bid/ask depth, pressure, wall state, absorption, sweeps, visual stats and more depending on the selected panel mode.
---
## panel mode
### compact
shows only the most important information.
best for:
* small screens
* clean charting
* quick decision making
### full
shows the complete dashboard.
best for:
* normal trading use
* studying pressure, walls, volume and flow
### debug
shows additional internal values.
best for:
* testing settings
* understanding how the engine is reacting
* advanced users
---
## panel position
chooses where the dashboard appears on the chart.
options:
* top right
* top left
* bottom right
* bottom left
---
## show best wall zones
when enabled, the script draws the strongest stable bid and ask wall zones on the chart.
bid wall zones appear below price and can act as possible support areas.
ask wall zones appear above price and can act as possible resistance areas.
---
## show signal markers
when enabled, the script plots markers for:
* long setup
* short setup
* bid absorption
* ask absorption
* bullish sweep
* bearish sweep
* invalidation
---
## wall zone forward bars
this controls how far the wall zone boxes extend into the future.
beginner tip:
30 is a good value for intraday charts.
---
## panel bg
sets the dashboard background color.
---
## bid color
sets the color used for bullish or bid-side elements.
---
## ask color
sets the color used for bearish or ask-side elements.
---
## neutral color
sets the color used for neutral readings.
---
## accent color
sets the color used for highlights and active dashboard elements.
---
## warning color
sets the color used for warnings, exhaustion and invalidation.
---
# alerts / scoring
## wall threshold x avg
this controls how strong a wall must be compared to the average depth before it is considered important.
* lower values create more wall signals.
* higher values require stronger walls.
beginner tip:
2.0 is a balanced default.
---
## imbalance threshold
this controls how strong the bid/ask imbalance must be before the script labels the market as bid heavy or ask heavy.
beginner tip:
1.6 is a good starting point.
---
## long bias score
this is the score level required for a long bias.
example:
70 means the pro score must reach 70 or higher before a long setup can be confirmed.
---
## short bias score
this is the score level required for a short bias.
example:
30 means the pro score must fall to 30 or lower before a short setup can be confirmed.
---
## min confidence
this is the minimum agreement score needed before the script confirms a setup.
confidence is based on agreement between pressure, imbalance, wall direction, trend, obv, intrabar quality, absorption, sweeps and regime.
beginner tip:
55 is a balanced default. raise it for stricter signals.
---
# visual backtest stats
## enable visual stats
when enabled, the script tracks basic visual follow-up stats after confirmed signals.
this is not a full strategy backtest. it is a visual stats module that checks whether a signal reaches an atr-based target or invalidation level within a chosen number of bars.
---
## target x atr
this controls the target distance used by visual stats.
example:
0.75 means the target is 0.75 atr from the signal price.
---
## invalidation x atr
this controls the invalidation distance used by visual stats.
example:
0.55 means the invalidation level is 0.55 atr from the signal price.
---
## max bars in signal
this controls how long the visual stats module gives a signal to reach target or invalidation.
if neither target nor invalidation is reached before this number of bars, the signal is closed by time.
---
# dashboard guide
## score
the score ranges from 0 to 100.
* above the long bias score: long bias
* below the short bias score: short bias
* between both levels: neutral
the score is built from pressure, imbalance, wall strength, trend, obv, rsi, absorption, sweep and regime.
---
## confidence
confidence measures how much agreement exists between the engine components.
a high score with low confidence should be treated carefully. a high score with strong confidence is cleaner.
---
## regime
the regime label describes the current market environment.
possible states include:
* high vol
* low liq
* breakout
* trending
* ranging
* balanced
beginner tip:
avoid forcing trades in low-liquidity conditions.
---
## bid / ask
this shows the estimated synthetic bid depth and ask depth.
if bid depth is much stronger than ask depth, the market may be bid heavy.
if ask depth is much stronger than bid depth, the market may be ask heavy.
---
## pressure
this shows whether buying or selling pressure is dominant.
pressure is not a signal by itself. it should agree with walls, imbalance and confidence.
---
## walls
this shows whether bid and ask walls are:
* none
* weak
* building
* holding
a holding wall is more important than a fresh or weak wall.
---
## abs / sweep
this shows whether absorption or a sweep is currently detected.
absorption can show rejection at a wall.
a sweep can show liquidity being taken before price returns.
---
## bt stats
this shows the visual stats result of recent confirmed signals.
it should be used for observation, not as proof of future performance.
---
# chart markers
## l marker
a long setup marker appears when the script confirms long bias conditions, confidence is high enough, and the noise filter allows the signal.
---
## s marker
a short setup marker appears when the script confirms short bias conditions, confidence is high enough, and the noise filter allows the signal.
---
## abs marker
an absorption marker appears when price interacts with a wall area with strong volume and rejection.
bid absorption appears below price.
ask absorption appears above price.
---
## sw marker
a sweep marker appears when price raids a wall or historical liquidity zone and then closes back through it.
bullish sweep appears below price.
bearish sweep appears above price.
---
## x marker
an invalidation marker appears when a setup is invalidated by price moving beyond the relevant wall area.
---
# available alerts
the script includes alerts for:
* stable synthetic bid wall
* stable synthetic ask wall
* bid heavy imbalance
* ask heavy imbalance
* long setup confirmed
* short setup confirmed
* bid absorption
* ask absorption
* bullish sweep
* bearish sweep
* setup invalidated
beginner tip:
start with only a few alerts. for example:
* stable bid wall
* stable ask wall
* long setup confirmed
* short setup confirmed
* bullish sweep
* bearish sweep
too many alerts can make the workflow noisy.
---
# beginner tutorial
## step 1 — choose the correct engine mode
start with hybrid pro.
hybrid pro is the most balanced mode because it combines classic chart pressure with lower-timeframe flow.
use classic synthetic if you want a smoother reading.
use intrabar flow if you want maximum short-term sensitivity.
---
## step 2 — choose the lower timeframe
for a 15m chart, start with 1m or 3m.
for a 5m chart, start with 1m.
for a 1h chart, try 5m or 15m.
if the script feels too reactive, use a higher lower-timeframe setting or lower the intrabar weight.
---
## step 3 — read the panel first
before looking at markers, read the panel:
1. check the market regime.
2. check the score.
3. check confidence.
4. check bid/ask imbalance.
5. check pressure.
6. check wall state.
7. check absorption or sweep.
do not take a marker if the panel does not make sense.
---
## step 4 — use walls as zones, not exact entries
a stable bid wall can act as a possible support area.
a stable ask wall can act as a possible resistance area.
price may react around the zone, not exactly at one tick.
---
## step 5 — wait for context
a better long idea usually has:
* stable bid wall
* bid-heavy or improving depth
* positive pressure
* bullish sweep or bid absorption
* score above the long bias level
* confidence above the minimum
a better short idea usually has:
* stable ask wall
* ask-heavy or weakening bid depth
* negative pressure
* bearish sweep or ask absorption
* score below the short bias level
* confidence above the minimum
---
# example use cases
## example 1 — bullish wall reaction
price moves down into a stable bid wall.
the panel shows:
* bid wall holding
* bid/ask ratio improving
* pressure turning positive
* confidence rising
* bid absorption appears
a trader may wait for price to hold above the wall and then look for a long setup marker.
possible invalidation:
price closes below the bid wall area and an invalidation marker appears.
---
## example 2 — bearish wall rejection
price moves up into a stable ask wall.
the panel shows:
* ask wall holding
* ask-heavy imbalance
* pressure turning negative
* ask absorption appears
* confidence is above the minimum
a trader may wait for rejection from the ask wall and a short setup marker.
possible invalidation:
price closes above the ask wall area.
---
## example 3 — bullish sweep
price moves below a bid wall or historical bid zone and then closes back above it.
the script marks a bullish sweep.
this can mean sellers pushed price below liquidity, but buyers absorbed the move and price returned above the zone.
a trader may then check:
* is pressure improving?
* is confidence strong enough?
* is the score moving toward long bias?
* is the market not in low-liquidity mode?
---
## example 4 — bearish sweep
price moves above an ask wall or historical ask zone and then closes back below it.
the script marks a bearish sweep.
this can mean buyers pushed price above liquidity, but sellers absorbed the move and price returned below the zone.
a trader may then check:
* is pressure weakening?
* is ask absorption present?
* is confidence strong enough?
* is the score moving toward short bias?
---
## example 5 — avoiding a weak signal
a long marker appears, but the panel shows:
* low liquidity regime
* weak confidence
* no stable bid wall
* no absorption
* no sweep
this is a low-quality context.
the better choice is to wait for stronger agreement.
---
## example 6 — using visual stats
enable visual stats and keep default atr target and invalidation settings.
after each confirmed setup, the panel tracks whether price reached the target, invalidation or timed out.
this is useful for studying the behavior of the signals on your market, but it is not a complete strategy backtest.
---
# suggested starting settings
## scalping
chart:
1m to 5m
settings:
* engine mode: hybrid pro
* lower timeframe: 1m
* intrabar weight: 0.55 to 0.70
* use confirmed bars: enabled
* wall threshold: 2.0 to 2.5
* min confidence: 60 to 70
* panel mode: compact or full
best use:
watch for stable walls, sweeps and absorption during active sessions.
---
## intraday
chart:
5m to 30m
settings:
* engine mode: hybrid pro
* lower timeframe: 1m to 5m
* intrabar weight: 0.45 to 0.60
* use confirmed bars: enabled
* wall stable bars: 3 to 5
* min confidence: 55 to 65
* panel mode: full
best use:
use stable walls as reaction zones and wait for score plus confidence agreement.
---
## swing or higher timeframe
chart:
1h to 4h
settings:
* engine mode: classic synthetic or hybrid pro
* lower timeframe: 5m to 15m
* intrabar weight: 0.25 to 0.45
* volume lookback: 100 to 200
* liquidity memory bars: 60 to 120
* panel mode: full
best use:
focus on larger wall zones, market regime and historical liquidity memory.
---
# practical workflow
1. open the chart and choose the market.
2. set engine mode to hybrid pro.
3. choose a lower timeframe smaller than the chart timeframe.
4. keep confirmed bars enabled.
5. check the panel regime.
6. wait for a stable wall.
7. watch bid/ask imbalance and pressure.
8. wait for absorption, sweep or a confirmed setup marker.
9. define invalidation around the wall zone.
10. use visual stats to observe signal behavior over time.
---
# limitations
this script uses synthetic calculations. it does not access real order book liquidity, real level 2 data, broker depth, or exchange resting orders.
signals may perform differently depending on symbol, timeframe, session, liquidity and volatility.
visual stats are only a simple chart-based follow-up tool. they are not a full trading strategy backtest.
the script should be combined with risk management, market structure, session context and personal testing.
---
# risk notice
this indicator is for technical analysis and education. it does not provide financial advice and does not guarantee future results. every trader is responsible for their own decisions, risk management and testing.
Indicator

Indicator

ML Liquidity Zone Classifier [PhenLabs]📊 ML Liquidity Zone Classifier
Version: PineScript™ v6
📌 Description
ML Liquidity Zone Classifier brings machine-learning-based filtering to liquidity mapping. Instead of drawing every possible order block, equal high, equal low, or volume zone, it evaluates current market conditions and only renders zones that score above a configurable confidence threshold.
The script uses a rolling k-Nearest Neighbors (k-NN) classifier built directly in Pine Script. Each potential zone is described using three normalized features: relative volume, higher-timeframe alignment, and displacement strength. Those features are compared against a rolling training set of prior bars to estimate whether the current setup resembles historically meaningful liquidity events.
The result is a cleaner liquidity tool designed to reduce chart clutter, improve selectivity, and help traders focus on zones with stronger contextual backing.
🚀 Points of Innovation
• Built-in k-NN classifier for liquidity zone confidence scoring
• Uses normalized multi-factor features instead of binary pattern logic alone
• Non-repainting delayed labeling system for training samples
• Auto higher-timeframe alignment that scales with the chart timeframe
• Zone overlap control, mitigation logic, and max-height clamping for cleaner structure
• Confidence-gated rendering so weak setups never reach the chart
🔧 Core Components
• KNN Classifier: Measures similarity between the current setup and prior labeled setups using Euclidean distance across three features
• Feature Engine: Converts volume, HTF proximity, and candle displacement into normalized 0 to 1 inputs
• Zone Detection Layer: Detects bullish and bearish order blocks, equal highs, equal lows, and high-volume nodes
• Zone Quality Gate: Filters zones by confidence, spacing, overlap, and size constraints
• Zone Lifecycle Manager: Maintains arrays for boxes and labels, prunes old zones, and removes mitigated ones
• Dashboard: Displays last detected zone, confidence score, and higher-timeframe directional bias
🔥 Key Features
• Machine-learning confidence score from 0 to 100 for every valid setup
• Automatic higher-timeframe selection based on current chart timeframe
• Support for bullish and bearish order blocks using ATR-based displacement logic
• Equal high and equal low detection using ATR-derived tolerance bands
• High-volume node detection using rolling average volume and local peak validation
• Zone deduplication to avoid stacked boxes at the same price area
• Optional mitigation that deletes broken zones after price closes through them
• Compact dashboard for live context and last-zone tracking
🎨 Visualization
• Confidence-based zone coloring with stronger opacity and border emphasis for higher-quality zones
• Labels printed directly on each zone with the zone type and confidence percentage
• Right-extended boxes so active liquidity areas remain visible into future price action
• Dashboard in the top-right corner showing Last Zone, Confidence, and HTF Bias
• Bullish zones are displayed in green tones, bearish zones in red tones, and lower-confidence zones fade toward orange or gray
📖 Usage Guidelines
KNN Classifier Settings
• K (neighbors) — Default: 5 — Controls how many historical neighbors are used when calculating confidence. Lower values react faster; higher values smooth the model.
• Training window — Default: 100 — Sets the maximum number of historical labeled samples stored in the rolling training set. Larger values add context but may slow adaptation.
HTF Alignment Settings
• Auto HTF — Default: true — Automatically selects a higher timeframe proportional to the current chart timeframe.
• Auto HTF multiplier — Default: 12.0 — Multiplies the current chart period to estimate the target higher timeframe.
• Manual HTF — Default: D — Used only when Auto HTF is disabled.
Zone Detection Settings
• Volume spike multiplier — Default: 1.5 — Minimum volume expansion required for a high-volume node.
• Order block ATR mult — Default: 1.5 — Minimum candle body size relative to ATR required to qualify as a displacement candle.
• Equal H/L tolerance — Default: 0.1 — ATR-based tolerance used to compare pivot levels for equal highs and equal lows.
Zone Quality Settings
• Min confidence to draw a zone — Default: 65 — Minimum classifier score required before a zone is rendered.
• Min bars between zones — Default: 5 — Cooldown period between newly drawn zones.
• Merge distance (ATR) — Default: 0.75 — Distance threshold used to reject overlapping or near-duplicate zones.
• Max zone height (ATR) — Default: 2.0 — Maximum vertical size of a zone before it is clamped.
• Remove zones when price breaks them — Default: true — Deletes support or resistance zones once price closes through them.
• Max visible zones — Default: 6 — Keeps only the most recent zones visible on the chart.
Advanced Settings
• ATR length — Default: 14 — Used for displacement measurement, tolerance scaling, and size normalization.
• Volume average length — Default: 20 — Rolling baseline for relative volume calculations.
• Volume node peak window — Default: 20 — Lookback used to confirm whether a bar is a true local volume peak.
• Pivot length — Default: 5 — Controls sensitivity for equal-high and equal-low pivot detection.
• Label evaluation window — Default: 10 — Number of bars waited before assigning a training label to a past setup.
• Label move threshold (ATR) — Default: 1.0 — Required future move in ATR units for a past setup to be labeled high probability.
• Show dashboard — Default: true — Enables or disables the on-chart summary table.
✅ Best Use Cases
• Traders who want fewer but higher-quality liquidity zones
• SMC and ICT-style workflows that need stronger filtering on OB and EQH/EQL logic
• Multi-timeframe traders who value HTF context in zone selection
• Intraday traders trying to avoid clutter from weak or repeated structure levels
• Quant-minded users who prefer confidence-based rendering over raw pattern detection
⚠️ Limitations
• The classifier is still a lightweight Pine implementation, not a full external ML model
• Confidence depends on the quality of recent market history inside the selected training window
• The script needs time to build its training set before meaningful zones begin to appear
• In highly abnormal volatility regimes, recent historical neighbors may be less representative
• This tool is a probability filter, not a guaranteed reversal or continuation signal
💡 What Makes This Unique
• Applies a true rolling k-NN classification process to liquidity-zone filtering inside Pine Script
• Combines market structure logic with volume, HTF context, and ATR displacement in one scoring model
• Keeps the chart clean by combining confidence gating, overlap suppression, cooldown spacing, mitigation, and pruning
• Gives traders an interpretable probability score instead of forcing all detected zones to appear equally important
🔬 How It Works
1. Feature Extraction
Each confirmed bar is converted into a three-feature vector. The script measures relative volume versus its moving average, distance to the nearest higher-timeframe OHLC level in ATR terms, and candle displacement strength based on body size versus ATR.
2. Delayed Labeling
After a configurable number of future bars passes, the script checks whether price moved far enough from the original bar. If that move exceeds the ATR-based threshold, the historical sample is labeled as high probability; otherwise it is labeled low probability.
3. KNN Confidence Scoring
When a new liquidity event appears, the script compares its feature vector against the rolling training set. It finds the nearest historical samples using Euclidean distance and converts their votes into a 0 to 100 confidence score.
4. Zone Validation
A zone is only drawn if the confidence exceeds the minimum threshold and the candidate zone does not overlap an existing one too closely. Oversized zones are clamped, repeated zones are filtered out, and only one new zone can be placed within the cooldown window.
5. Live Zone Management
Once drawn, zones extend to the right and remain active until mitigated. If price closes through a bullish zone from above or a bearish zone from below, the zone can be automatically removed to keep the display current.
Note:
This script is designed to be selective. If you use stricter confidence thresholds, larger gap settings, and mitigation enabled, you will typically see fewer but cleaner zones. Lowering the quality filters will increase signal frequency, but also increases chart noise. Indicator

MTF Volume Delta Bar Synchrony | Rainbow MatrixGENERAL OVERVIEW
MTF Volume Delta Bar Synchrony is a multi-timeframe volume percentile fusion oscillator that condenses five independent volume readings — one per Fibonacci-spaced timeframe — into a single weighted Master Line, surrounded by per-TF "ghost lines" that fade visually as they diverge from the consensus. When the five timeframes align, the rainbow becomes a solid band; when they spread apart, the disagreement becomes a visible density property of the indicator itself. A compact 7×9 MTF Legend Table surfaces every dimension simultaneously: per-TF volume percentile values, trend direction, divergence flags, Pulse magnitude ratio, and named State classification — with an antenna marker flagging the row whose timeframe matches your chart's native resolution.
Optional Delta Twin Bars project per-candle directional overlays directly onto the price chart via force_overlay=true, combining the oscillator pane and an order-flow approximation in a single indicator. A hybrid Black Swan zone detects volume climax (surge) and squeeze (drought) extremes — either as static 80/20 thresholds (classic) or as a dynamic Fibonacci-scaled channel that adapts to recent volatility. A classic price↔volume divergence engine detects Wyckoff-style "no demand" rallies and selling-climax bottoms on every timeframe and on the Master line.
Designed as a sibling to the MTF RSI Synchrony indicator. Apply both side-by-side for the complete momentum + volume picture: RSI shows where price sits in its momentum range; Volume Synchrony shows whether the move has institutional backing. Same visual signature, same canonical color zones, same Legend Table layout — instant cross-indicator readability.
WHAT IS THE THEORY BEHIND THIS INDICATOR
Most volume indicators on PulseWire operate on a single timeframe — volume bars, OBV, CVD approximations — and report raw, unbounded volume values that vary wildly across timescales. A 5-minute volume bar of 50,000 contracts is meaningless without context: is that "high" for 5-minute bars on this asset, or "low"? Compared to what window? A trader watching a 5-minute chart cannot intuitively cross-reference whether that surge corresponds to anything notable on the 4-hour view.
This indicator solves the cross-timescale comparison problem by bounding every volume reading to a 0-100 percentile rank: the same scale, regardless of timeframe, regardless of asset. The percentile answers a single question: "where does this bar's volume sit in the distribution of recent volume on this timeframe?" — a number anyone can read at a glance.
Five percentile readings are then fused via canonical Fibonacci weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15 — peak weight on the macro TF3/TF4 where institutional consolidation tends to occur) into a single weighted Master Line. The Master adapts to a self-calibrating Fibonacci channel built from its own highest/lowest values over a configurable lookback, smoothed by EMA. Channel boundaries use the brand's canonical ratios: Z-Breathing (1.50σ), Z-Alert (1.85σ anchor), Z-Exhaustion (2.75σ), Black Swan (3.85σ) — same proportions as the RSI sibling for cross-indicator consistency.
The result is a volume picture that updates in real time, accounts for five timescales simultaneously, encodes "synchrony" itself as a visible rainbow density property, and triggers as an alertable signal when extremes converge.
FEATURES
🔹 Multi-Timeframe Volume Percentile Fusion Engine
🔹 Adaptive Fibonacci Channel (Z-Breathing → Z-Alert → Z-Exhaustion → Black Swan)
🔹 Hybrid Black Swan Zones (static 80/20 or dynamic Fibonacci-scaled)
🔹 Classic Price↔Volume Divergence Detection (per-TF + Master)
🔹 MTF Legend Table (7 columns × 9 rows, multilingual)
🔹 Volume Profile Reading (Pulse magnitude + State classification — 7-tier vocabulary)
🔹 Delta Twin Bars (per-candle chart overlay with 4 display modes + live intra-bar updates)
🔹 Multilingual Interface (EN / PT / ES / RU / ZH)
🔹 Multi-Timeframe Volume Percentile Fusion Engine
What It Does
Aggregates five independent volume percentile readings — one per Fibonacci-spaced timeframe — into a single weighted Master Line. Each per-TF reading is plotted as a "ghost" line that fades by distance to the Master, so the rainbow becomes a visual representation of multi-timeframe consensus.
Method
Default timeframes are 5 / 15 / 60 / 240 / D (Trigger / Intraday / Macro 1 / Macro 2 / Base). On each timeframe, ta.percentrank(volume, length) produces a 0-100 percentile rank with lookahead=barmerge.lookahead_off for anti-repaint integrity. The five percentiles are fused via canonical Fibonacci weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15 — peak weight on TF3 and TF4 where institutional volume tends to consolidate). The Master itself is then clamped to for pane containment.
Per-TF length defaults are tuned to each timeframe's natural look-back window:
◇ TF1 (5m): 30 bars = 2.5 hours
◇ TF2 (15m): 50 bars = 12.5 hours
◇ TF3 (60m): 80 bars = 3.3 days
◇ TF4 (240m): 100 bars = 16 days
◇ TF5 (D): 150 bars = ~5 months
Set any per-TF override to 0 to inherit the global default (50). One-size-fits-all 50 bars across timeframes either lags on TF1 (16 hours of stale 5-minute history) or feels too reactive on TF5; the per-TF defaults match each horizon's natural cadence.
Why It Matters
Volume distribution is regime-dependent and timeframe-dependent. A single timeframe view can miss whether a 5-minute volume surge is the leading edge of a broader institutional move (visible on TF3/TF4) or a one-off scalper spike. The fusion engine surfaces alignment and disagreement instantly.
🔹 Adaptive Fibonacci Channel
What It Does
Renders six color-coded bands around the Master Line that adapt to its own recent volatility, using the brand's canonical Fibonacci ratios.
Method
Highest/lowest of the Master over lookback_dyn bars (default 50) are smoothed by EMA (default 10) to form dyn_up and dyn_dn. Channel bands are placed at canonical Fibonacci proportions:
◇ Z-Breathing: 1.50/1.85 ≈ 0.811 of half-channel
◇ Z-Alert: anchor at 1.85σ (the channel boundary itself)
◇ Z-Exhaustion: 2.75/1.85 ≈ 1.486
◇ Black Swan: 3.85/1.85 ≈ 2.081
All six band values are mathematically clamped to before rendering, so the rainbow stays inside the visible pane in volatile regimes (no auto-scale stretching). The algorithm itself is preserved bit-exact; only the rendered values are bounded.
Why It Matters
Static thresholds (e.g., 80/20) cannot adapt to regime changes. During a low-volatility consolidation, "70" might be a meaningful surge; during a news-driven trend, "70" might be the new baseline. The Fibonacci channel calibrates the warning levels to the asset's current regime, so the alerts stay informative regardless of market state.
🔹 Hybrid Black Swan Zones
What It Does
Flags volume climax (surge) and squeeze (drought) extremes either at static 80/20 thresholds (top 20% / bottom 20% historically) or at the dynamic Fibonacci 3.85σ band, depending on the operator's preference. Each zone is rendered as a glow line that brightens proportionally as the Master approaches.
Method
By default, Dynamic Black Swan Mode is ON for this indicator (matching the volume distribution's wider range vs canonical RSI). The Black Swan high/low values become osc_up4 / osc_dn4 — the Fibonacci 3.85σ proportion of the Master's channel. Toggle the mode OFF to revert to static 80/20 (top/bottom 20% volume thresholds — classic).
The proximity glow uses the canonical f_calc_glow pattern: transparency = 95 - (1 - dist/range) × 75, where range is the half-channel width. At zero distance, transparency = 20 (solid); at full range distance, transparency = 95 (invisible).
Why It Matters
Black Swan events on volume mark institutional climax moments — news breakouts, capitulation, distribution. The dynamic mode lets the indicator self-calibrate per asset and per regime, so a "climax" on a calm Forex pair and a "climax" on a meme stock both trigger at the appropriate statistical extremes rather than at an arbitrary 80% line.
🔹 Classic Price↔Volume Divergence Detection
What It Does
Detects regular bear divergences (price makes higher high while volume percentile pivot makes lower high — Wyckoff "no demand" rally) and regular bull divergences (price makes lower low while volume percentile pivot makes higher low — selling climax / capitulation). Runs on every individual timeframe AND on the Master line directly.
Method
For each TF, f_classic_divergence_vol(length, lookback) runs inside request.security: it detects pivot highs/lows on the per-TF volume percentile via ta.pivothigh / ta.pivotlow, captures pivot values using ta.valuewhen, and compares the current pivot vs the previous pivot. Default pivot lookback is 5 bars (matches the community standard).
Master divergence runs on the chart-TF directly (no request.security), so it always reflects the current chart resolution's pivot structure. When detected, it renders a connecting line + label between the two pivots on the indicator pane (red for bear, green for bull) and triggers the alert_divergence_native alert if enabled.
Per-TF divergence surfaces in the Legend Table's "Div" column: 🔻 for bear, 🔺 for bull, — for none. Multiple timeframes showing the same divergence direction = stronger conviction signal.
Why It Matters
Divergences between price and volume have been a cornerstone of Wyckoff/Volume Spread Analysis for decades. Most PulseWire divergence indicators run on a single timeframe — by detecting per-TF AND Master simultaneously, this indicator surfaces both fast warnings (TF1 divergence) and high-conviction confirmations (Master + multiple TFs aligning).
🔹 MTF Legend Table
What It Does
Compact 7×9 table positioned in a configurable chart corner. Surfaces every dimension of the analysis at a single glance: per-TF resolutions, volume percentile values, trend direction, divergence status, Pulse magnitude, named State classification, plus a Master row and a status row.
Method
The table is rendered via table.new(force_overlay=false) on the indicator pane (kept off the price chart for mobile readability). Per-TF cells use:
◇ Col 0: ● TF label (matches ghost line color) + 📡 antenna marker if this TF == chart's native resolution
◇ Col 1: TF resolution string ("5", "15", "60", "240", "D"...)
◇ Col 2: Volume percentile value (color-coded by zone via the thermal matrix)
◇ Col 3: Trend arrow ▲ rising / ▼ falling / ▬ flat (±0.5 percentile point deadzone to avoid flicker)
◇ Col 4: Div indicator 🔺 bull / 🔻 bear / — none
◇ Col 5: Pulse magnitude ratio (color-coded by intensity tier)
◇ Col 6: State name (multilingual EXTREME / HIGH / ELEVATED / NORMAL / LOW / COMPRESSED / SQUEEZE)
The Master row (row 7) merges cols 0-1 into "🌈 Master (~XhYm)" — the "~XhYm" suffix is the geometric weighted mean of the 5 TF resolutions (same weights as the Master volume fusion), giving you the "effective timeframe" the Master is reading. The status row (row 8) merges cols 0-6 and shows the MTF Divergence summary: Aligned / Strong Top / Strong Bottom / Moderate Top / Moderate Bottom — with background color matching the severity.
All header strings, status messages, and state names support 5 languages via the System Language input (English / Português / Español / Русский / 中文).
Why It Matters
The Legend Table compresses what would otherwise require 5 separate chart panels into a single ~150-pixel-wide compact widget. The antenna marker is especially useful on mobile: it tells you instantly which row is "your" timeframe, so you can scan up/down to see whether faster/slower TFs confirm or contradict.
🔹 Volume Profile Reading — Pulse Magnitude + State Classification
What It Does
Two complementary readings that answer different questions about volume — both surfaced as dedicated columns in the Legend Table.
Method — Pulse Column
Pulse is the ratio volume / SMA(volume, length) per TF. 1.0× = volume at the baseline; below = drought; above = elevated. Color-coded by intensity tier:
◇ < 0.5× → aqua (drought extreme)
◇ 0.5-0.8× → teal (below baseline)
◇ 0.8-1.3× → gray (typical)
◇ 1.3-2.0× → yellow (elevated)
◇ 2.0-3.5× → orange (high activity)
◇ 3.5-6.0× → red (surge)
◇ ≥ 6.0× → purple (climax extreme)
Pulse values cap display at "9.9x+" to avoid overflow in narrow cells.
Method — State Column
State classifies the percentile rank into 7 named tiers using a multilingual dictionary:
◇ ≥ 85 → EXTREME (purple zone — top 15% historically)
◇ 71-85 → HIGH (red — top 30%)
◇ 62-71 → ELEVATED (orange)
◇ 38-62 → NORMAL (yellow / green — middle 24%)
◇ 29-38 → LOW (teal)
◇ 15-29 → COMPRESSED (blue)
◇ ≤ 15 → SQUEEZE (aqua — bottom 15%)
Why It Matters
Pulse and State answer different questions about the same volume reading:
◇ Value (percentile column 2): "Where in the historical distribution?" — a ranking answer.
◇ Pulse (column 5): "How intense vs recent baseline?" — a magnitude answer.
◇ State (column 6): "What's the human-readable label?" — a vocabulary answer.
These three columns together tell a complete story. A bar can be at Percentile 60 (NORMAL state) with Pulse = 3.5x (red surge) — meaning: "this bar's volume isn't historically rare, but it's a massive jump versus what's been happening recently." That's a different signal than Percentile 95 / Pulse = 1.0x (EXTREME state but typical magnitude) — meaning: "this is a rare historical bar, but the magnitude is normal relative to recent activity." The columns disambiguate.
🔹 Delta Twin Bars (Chart Overlay)
What It Does
Renders per-candle directional bars on the price chart (via force_overlay=true) whose dimensions encode the selected volume score and whose color encodes buy/sell pressure approximation. Bridges the gap between this script's oscillator pane and the price action itself.
Method
For each candle, the bar size = candle_range × (score / 100) × user_multiplier. The score source is configurable (Master or any TF1-TF5; default TF1 Trigger for the most responsive read).
Four display modes:
◇ Fixed High: bar always projects above the candle high (regardless of direction)
◇ Fixed Low: bar always projects below the candle low
◇ Dynamic: buy candles get bar above high, sell candles get bar below low (intuitive directional reading)
◇ Dynamic Inverted (default): buy candles get bar BELOW low, sell candles get bar ABOVE high — an order book metaphor where buy pressure builds support and sell pressure presses resistance
Bar color follows the user-configured buy/sell colors (green / red by default — matching the OHLC tick rule: close > open = buy bias, close < open = sell bias). An optional toggle ("Use Master Line Color") overrides this with the Master zone color via the thermal matrix — giving rainbow-colored bars that match the pane oscillator.
Bar width is pixel-controlled (1-8, default 8) via line.new with the user-selected linewidth — visually independent of chart zoom, distinguishable from candle wicks at any chart density.
Two update modes:
◇ Live (default): the current bar's twin bar updates on every tick — score, direction, and color reflect real-time data. When the bar closes, the live line is "frozen" into the confirmed pool. One additional persistent line is used (zero pool overhead).
◇ Confirmed-only: twin bar appears only when the candle closes (useful for backtesting comparisons where intra-bar flicker is unwanted).
The last 500 bars are rendered (Pine v6 line pool limit) with rolling FIFO management — older candles fall out of the pool and lose their twin bar, but the most recent 500 stay live.
🚨 Honest tick-rule disclosure
The buy/sell direction encoding uses the OHLC tick rule — close > open = buy bias, close < open = sell bias. This is NOT order-flow tick-data delta. Pine Script v6 has no tick-by-tick data access in indicator scripts on the free tier. The OHLC approximation is what virtually every "delta" indicator on PulseWire free uses; this script discloses it transparently rather than claiming real order flow.
For most use cases (visual confirmation, trend bias, magnitude readings) the OHLC approximation captures the essential information. Traders who need true bid/ask delta should look at paid Order Flow tools or Sierra Chart / Bookmap.
Why It Matters
The Delta Twin Bars combine two analytical layers in a single indicator: the oscillator pane (Master fusion + ghost lines + Legend Table) and the chart overlay (per-candle directional reference). Most PulseWire indicators force users to choose between oscillator-only or overlay-only paradigms; this script delivers both via force_overlay=true on selectively-rendered lines, preserving full pane functionality while adding a quick visual reference directly on the price candles.
🔹 Multilingual Interface
What It Does
Translates all HUD labels, status messages, alert text, state classifications, and Legend Table headers to 5 languages: English (default), Português, Español, Русский, 中文 (Chinese). 33 multilingual keys are maintained across all 5 languages.
Method
A single language dropdown input (in the GLOBAL SETTINGS group) selects the active language. The script uses Pine v6's _l == "PT" ? ... : _l == "ES" ? ... ternary chain pattern for each translated string, evaluated once at startup. Configuration tooltips, variable names, and code comments remain in English by convention — this script is designed to be readable to developers globally.
Why It Matters
Trading is a global activity. The Rainbow Matrix product family is designed for traders worldwide; multilingual UI removes a friction point for non-English-native users without adding development overhead.
HOW TO USE
Reading the Rainbow (Pane Oscillator)
◇ Master between 30 and 70 with all 5 ghost lines solid: typical volume profile, no anomaly to flag.
◇ Master entering Z-Alert (orange / teal bands): notable volume deviation — watch for follow-through confirmation across timeframes.
◇ Master in Z-Exhaustion (red high / blue low): elevated probability of climax or drought completing.
◇ Master touches Black Swan High (purple glow): volume climax event — statistically rare top-of-distribution moment, often coincides with news catalysts, breakouts, or capitulation.
◇ Master touches Black Swan Low (aqua glow): volume drought / squeeze — extreme compression, often precedes breakouts when paired with price consolidation.
Reading the Legend Table
The antenna marker (📡) flags your chart's native timeframe. Start your read there, then scan up/down the table to see whether faster/slower TFs confirm or contradict the current volume bias. Look at the relationship between Value (where in distribution), Pulse (how intense vs baseline), and State (named tier) for each row — divergences between these three readings within a single TF are early warnings.
The status row at the bottom summarizes MTF divergence: Aligned (TFs in agreement, default), Strong Top (TF1 ≥ 70 vs TF5 ≤ 30 — fast surge with slow drought), Strong Bottom (TF1 ≤ 30 vs TF5 ≥ 70 — fast quiet with slow surge), or Moderate variants of either.
Reading the Delta Twin Bars (Chart Overlay)
Tall bars = high volume score for that candle's TF source. With Dynamic Inverted mode (default), bars projecting BELOW buy candles signal "support building"; bars projecting ABOVE sell candles signal "resistance pressing" — an order book metaphor. Switch to Dynamic mode for a more intuitive directional read (buy bars project up, sell bars hang down). Use Fixed High/Low for cleaner price action when delta-only context is needed.
Reading Divergences
Master divergence (red line + 🔻 label on the pane) = price made a higher high while Master volume percentile made a lower high — Wyckoff "no demand" rally, often precedes reversal. Master bull divergence (green + 🔺) = price made a lower low while Master volume made a higher low — selling climax, often precedes bottom.
Per-TF divergences in the Legend Table's Div column give early granular warning: a TF1 divergence might fire 5-10 candles before the Master confirms. Multiple TFs aligning on the same divergence direction = high-conviction signal.
Tactical Combinations
◇ Master Black Swan High + Strong Top divergence + Bear Master divergence simultaneously = strongest reversal signal from highs.
◇ Master Black Swan Low + Strong Bottom divergence + Bull Master divergence = strongest reversal signal from lows.
◇ Master SQUEEZE state + multiple TFs SQUEEZE state + Pulse < 0.5x = pre-breakout compression — often precedes expansion events.
◇ Pulse spikes (red / purple tier) preceding percentile shifts = often mark turning points before the percentile catches up.
◇ Pair with MTF RSI Synchrony: Aligned RSI + Aligned Volume = high-conviction setup. Bear RSI div + Bear Volume div on Master simultaneously = strongest reversal signal.
INPUTS EXPLAINED
GLOBAL SETTINGS
◇ System Language (EN / PT / ES / RU / ZH) — affects HUD and alerts only; code stays in English.
◇ Table / Labels Font Size — Tiny / Small (default) / Normal / Large.
MULTI-TIMEFRAME
◇ AI Auto-Sync TFs — when ON, auto-adjusts the 5 TFs based on chart resolution.
◇ TF1-TF5 — manual TF override (defaults: 5/15/60/240/D).
◇ Default Volume Percentile Length — global default (default 50).
◇ TF1-TF5 Length Overrides — per-TF overrides; defaults 30/50/80/100/150; set to 0 to inherit global.
ENGINE
◇ Dynamic Black Swan Mode — ON by default (Fibonacci 3.85σ adaptive). OFF = static 80/20.
◇ Dynamic Channel Lookback (default 50) and Smoothing (default 10).
◇ Divergence Pivot Lookback — default 5 (community standard).
VISUALIZATION
◇ TF1-TF5 Color + Show toggles — TF1 and TF5 visible by default; TF2/3/4 hidden (opt-in).
◇ Ghost Fade Sensitivity — default 3.5 (lines invisible at ~20 percentile points from Master).
◇ Show Master Line / Show Rainbow Fills / Show Black Swan / Show Dynamic Channel — all default ON.
◇ Show MTF Legend Table — default ON.
◇ Show Divergence Column / Pulse Column — both default ON.
◇ Show Master Divergence Chart Line — default ON.
◇ Legend Table Position — Top/Bottom × Left/Right (default Bottom Right).
◇ Show Divergence Event Markers — default OFF (reduces clutter; toggle ON to display triangles).
◇ Show Static Reference Lines — default OFF (cleaner pane on install; toggle ON for 20 / 50 / 80 guides).
ALERTS
◇ Alert on Black Swan crossings (high / low) — default ON.
◇ Alert on Strong MTF Divergence — default ON.
◇ Alert on Z-Exhaustion zone entries — default OFF (opt-in).
◇ Alert on Master Classic Divergence — default ON.
DELTA TWIN BARS
◇ Show Delta Twin Bars — default ON.
◇ Score Source — Master / TF1 (default) / TF2 / TF3 / TF4 / TF5.
◇ Display Mode — Fixed High / Fixed Low / Dynamic / Dynamic Inverted (default).
◇ Buy / Sell Colors + Transparency + Size Multiplier — fully customizable.
◇ Use Master Line Color (override) — default OFF; toggle ON for rainbow-colored bars.
◇ Bar Width (pixels) — 1-8, default 8 (bold, high-visibility).
◇ Lookback (bars) — default 500 (Pine v6 pool maximum).
◇ Live Bar (intra-bar update) — default ON; toggle OFF for confirmed-only rendering.
IMPORTANT NOTES
🔸 Pine Script v6 — uses request.security with lookahead=barmerge.lookahead_off for anti-repaint integrity. The 5 per-TF volume fetches + 5 per-TF Pulse fetches + 5 per-TF divergence fetches + 6 other security calls = 21 total request.security calls; within PulseWire's free-tier limits but noteworthy if combining with other heavy multi-TF indicators on the same chart.
🔸 Repaint behavior — historical bars use confirmed close data; the current real-time bar updates as ticks arrive (especially with Live Delta Bars enabled). The pivot-based divergence detection requires div_lookback confirmed bars before triggering — so divergence labels appear on the pivot bar in retrospect, not as live signals. This is standard pivot divergence behavior across all PulseWire divergence indicators.
🔸 Tick rule approximation — Delta Twin Bars use the OHLC tick rule (close > open = buy bias) as a direction encoder. This is NOT real order-flow tick data. Pine Script v6 has no tick data access in indicator scripts. Same approximation is used by virtually every "delta" indicator on the PulseWire free tier; this script discloses it transparently. For real bid/ask delta, use paid order flow tools.
🔸 Pine v6 line pool limit — Delta Twin Bars are bounded to 500 lines (Pine v6 hard limit). Older candles fall out of the rolling FIFO and lose their twin bar — this is a Pine engine constraint, not a bug. The current bar's live line uses ONE persistent slot reused across bars (no additional pool consumption).
🔸 Fibonacci ratios are canonical — the channel proportions (1.50 / 1.85 / 2.75 / 3.85) match the Rainbow Matrix brand standard across all sibling indicators. They are derived from the brand's design system and are not user-configurable — preserving cross-indicator visual consistency.
🔸 Master effective TF — the "~XhYm" label in the Master row is the geometric weighted mean of the 5 TF resolutions (same weights as the Master fusion: 0.15/0.20/0.25/0.25/0.15). With defaults 5/15/60/240/D, the effective TF is approximately 71 minutes (~1h11m). This tells you the "average horizon" the Master is reading.
🔸 License: MPL 2.0 (Mozilla Public License 2.0) — open source. Free to fork, modify, and republish under the same license terms.
UNIQUENESS
Three pillars differentiate this from the dozens of volume indicators already on PulseWire:
1. Multi-timeframe percentile fusion with synchrony as a visual property. Most volume tools operate on a single timeframe with raw unbounded readings. This indicator bounds every reading to a 0-100 percentile scale, fuses five timeframes via Fibonacci-proportioned weights, and expresses synchrony itself as a "rainbow density" — solid when aligned, spread-out when diverging. The disagreement between fast and slow timeframes becomes immediately readable.
2. Three complementary volume readings in one Legend Table. Value (percentile rank), Pulse (magnitude ratio), and State (named tier) answer three different questions about the same volume reading. Most indicators give you one number; this one disambiguates "rare historical event" from "extreme recent magnitude" from "elevated relative position." The combination catches signals that single-metric views miss.
3. Combined oscillator + chart overlay in a single script. Delta Twin Bars project the per-candle volume score and tick-rule direction directly onto the price chart via force_overlay=true, while the full pane oscillator (Master fusion, ghost lines, Legend Table, divergence engine, dynamic channel) continues to operate independently. Most PulseWire indicators force you to choose between oscillator-only or overlay-only paradigms; this script gives you both, with honest disclosure about the OHLC tick rule approximation.
Rainbow Matrix AI | Multi-timeframe institutional analysis tools for traders.
🌐 rainbowmatrix.ai
✉️ Contact: [email protected] Indicator

CVD Reversal Divergence (Exhaustion)Overview
The CVD Reversal Divergence (Exhaustion) indicator is designed to identify potential market reversals by analyzing the divergence between price action and Cumulative Volume Delta (CVD).
Hypothesis
This indicator is built on the "Order Flow Exhaustion" hypothesis. In efficient markets, price trends should be supported by volume. When price hits a new high but CVD fails to follow (or vice versa), it indicates that the current momentum is exhausted, often signaling a pending reversal.
Key Features
Buying Exhaustion (Red Triangle): Signals a potential downward reversal when price structure diverges from buying pressure.
Selling Exhaustion (Green Triangle): Signals a potential upward reversal when price structure diverges from selling pressure.
Pivot-Based Detection: Uses structural pivot points to filter out intraday market noise, ensuring high-quality signals.
Understanding "Pivot Lookback (Bars)"
The Pivot Lookback parameter is the most critical setting for this indicator:
What it does: It defines the number of bars required on each side of a pivot point to confirm it as a local high or low.
How to tune it:
Lower Values (e.g., 3-5): Increases sensitivity, allowing the indicator to detect smaller, localized reversals. Best for scalping.
Higher Values (e.g., 10-20): Increases filtering, ignoring minor pullbacks and focusing on major structural shifts. Best for trend trading.
How to use
This indicator works best on liquid assets like Futures (ES, NQ, Gold) and high-volume stocks.
Use it as a confirmation tool rather than a standalone entry signal. Combine it with Support/Resistance levels or Volume Profile POCs for the best results. Indicator

P&D Short Signal v4.0 [4H]═══════════════════════════════════════════════════════════
TRADINGVIEW PUBLISH — P&D Short Signal v4.0
Author: Kevko87 | Open Source
═══════════════════════════════════════════════════════════
TITLE:
P&D Short Signal v4.0 — Pump & Dump Distribution Detector
───────────────────────────────────────────────────────────
SHORT DESCRIPTION (shown in search):
───────────────────────────────────────────────────────────
Detects post-pump distribution phases on crypto futures using
OBV, RSI divergence, MFI, and Delta-Volume across 4H / 1H / Daily.
Generates Tier 1 and Tier 2 short signals with auto TP/SL levels.
───────────────────────────────────────────────────────────
FULL DESCRIPTION:
───────────────────────────────────────────────────────────
## P&D Short Signal v4.0
This indicator identifies **post-pump distribution phases** on crypto
perpetual futures, designed to catch the dump after a Pump & Dump cycle.
Built and validated on Bitget Futures over 30+ live trading sessions.
---
### How it works
The indicator uses a **multi-timeframe confluence approach**:
- **4H** — Base timeframe (OBV slope, RSI, MFI, Delta-Volume)
- **1H** — OBV confirmation
- **Daily** — Gate-keeper: coins with Daily OBV > 500M are skipped
(high OBV = genuine buying pressure = no short)
A signal fires only when multiple conditions align simultaneously,
filtering out noise and false setups.
---
### Signal Tiers
**🔴 TIER 1 — High Confidence (≥85%)**
- Daily OBV < 500M (gate-keeper passes)
- 4H OBV falling + 1H OBV falling (distribution confirmed)
- RSI > 65 AND (bearish divergence OR below MA)
- MFI > 75 AND falling for 2+ bars
- Delta-Volume negative (optional, toggleable)
**🟠 TIER 2 — Moderate Confidence (~70%)**
- Daily OBV < 500M
- 4H OBV falling
- RSI > 65
- MFI > 65 AND falling
**🔴 MFI Extreme Background Alert**
- MFI ≥ 85 and falling with valid Daily OBV
- Precursor warning — check OBV manually
---
### Auto TP / SL
On every signal, the indicator automatically plots:
- **SL**: Entry High + ATR × 3 (default)
- **TP1**: −15% | **TP2**: −25% | **TP3**: −40% | **TP4**: −60%
All levels fully adjustable via inputs.
---
### Status Table (top right)
Live dashboard showing the current state of all filters:
D-OBV · OBV 4H · OBV 1H · RSI · MFI · Delta · D-RSI · Signal · Trade
---
### Alerts
Three built-in alert conditions:
- 🔴 TIER 1 SHORT
- 🟠 TIER 2 SHORT
- ⚠️ MFI EXTREME
Set alerts via PulseWire's alert manager on any ticker.
---
### Recommended Usage
- **Market**: Crypto perpetual futures (Bitget, Bybit, Binance)
- **Timeframe**: 4H (indicator is built for 4H, do not use on other TFs)
- **Best targets**: Low-cap coins after +30–50% pumps within 24h
- **Risk management**: Always use the auto-generated SL. DCA entries
recommended for high-ATR setups.
---
### Key Filter: Daily OBV Gate
The most important filter in this system. If Daily OBV > 500M,
the move has genuine buying pressure behind it — shorting against
that is high risk. The indicator automatically skips these coins.
---
### Inputs
| Parameter | Default | Description |
|-----------|---------|-------------|
| Daily OBV Max | 500M | Skip coins above this OBV |
| OBV Slope Bars | 3 | Lookback for OBV direction |
| RSI Length | 14 | Standard RSI period |
| RSI Min for Entry | 65 | Minimum RSI for overbought |
| Divergence Lookback | 5 | Bars for price/RSI divergence |
| MFI Length | 14 | Standard MFI period |
| MFI Min Tier 1 | 75 | MFI threshold for Tier 1 |
| MFI Min Tier 2 | 65 | MFI threshold for Tier 2 |
| MFI Extreme | 85 | Background alert level |
| SL ATR Multiplier | 3.0 | Stop loss distance |
| TP1–TP4 | 15/25/40/60% | Take profit levels |
---
### Changelog
**v4.0**
- Base timeframe changed from 1H to 4H (higher win rate in backtesting)
- 5 bars on 4H = 20h = one full pump cycle captured
- Tier 1: RSI divergence OR below MA (previously required both)
- MTF structure: 4H base / 1H confirmation / Daily gate-keeper
- Status table added
---
*Open source. Use at your own risk. Not financial advice.*
*Built by Kevko87 — validated on live crypto futures trading.*
Indicator

Large Order Delta Profile [TradingIQ]Hello Traders!
🔹 Large Order Delta Profile
Large Order Delta Profile is an order-flow visualization tool designed to split delta profiles across different transaction-size categories.
That is the core idea behind the tool: instead of showing one combined volume or delta profile, it separates activity by customizable dollar-value thresholds so you can compare how smaller, medium-sized, and very large transactions behaved during the same session.
This helps traders visualize where different sizes of market participants were active, where aggressive buying or selling concentrated, and whether large-order flow agreed or disagreed with smaller transaction flow .
splits the delta profile across multiple transaction-size ranges
compares smaller, medium, and large-order activity side by side
tracks bullish and bearish delta at price levels
filters trades using customizable dollar-value thresholds
supports tick, second, and minute-based granularity
builds session-based delta profiles
🔹 What the tool shows
🔸 Transaction-size delta profiles
The main feature of this indicator is that it separates market activity into different transaction-size profiles.
Each profile represents a different dollar-value range of transactions, allowing you to compare:
smaller transaction flow
medium-sized transaction flow
large-order activity
extreme large-order activity
This makes it easier to see whether large participants were active at the same price levels as smaller participants, or whether larger transactions were concentrated in completely different areas.
🔸 Large order delta distribution
The script builds a profile showing where aggressive buying and selling activity occurred during the active session.
Instead of displaying simple volume-at-price, it separates:
bullish delta
bearish delta
net directional pressure
This helps identify where buyers or sellers were more aggressive across each transaction-size category.
🔸 Custom dollar-value filters
The indicator allows you to define multiple transaction-size filters using estimated dollar value.
Each filter creates its own profile, so you can compare activity such as:
all qualifying transactions
transactions above a larger threshold
transactions above an extreme threshold
This is useful because not all market activity carries the same context.
A small transaction imbalance and a large transaction imbalance can tell very different stories.
🔸 Delta-based directional analysis
The profile uses directional estimation to classify activity as bullish or bearish.
Depending on your selected granularity:
tick-based bid/ask estimation can be used
lower-timeframe candle direction can be used
aggressive buying and selling pressure is separated
Positive delta suggests stronger aggressive buying.
Negative delta suggests stronger aggressive selling.
This helps reveal where different transaction-size groups were actively lifting offers or hitting bids.
🔸 Session-based profiling
The indicator resets and rebuilds based on a customizable session period.
This allows profiles to adapt dynamically to:
daily sessions
custom session structures
intraday profiling
higher-timeframe segmentation
The profile continuously expands as price moves beyond existing ranges.
🔸 Adaptive profile levels
The script uses ATR-based level spacing to dynamically build profile rows.
This allows the profile structure to adapt to:
high-volatility conditions
low-volatility conditions
tight ranges
expanding markets
Instead of relying on static tick spacing, the levels automatically scale with market volatility.
🔸 Visual imbalance mapping
Profile blocks expand horizontally based on the strength of bullish or bearish delta.
This creates a quick visual representation of:
where aggressive buyers dominated
where aggressive sellers dominated
which price levels showed the strongest imbalance
where directional pressure was concentrated
how imbalance differed across transaction-size groups
Bullish pressure is displayed using bullish profile coloring.
Bearish pressure is displayed using bearish profile coloring.
Optional delta labels can also display the raw imbalance values directly on the chart.
🔹 How to read it
Each component gives a different layer of order-flow context:
Transaction-size profile → which order-size group is being shown
Bullish delta → aggressive buying pressure
Bearish delta → aggressive selling pressure
Large profile expansion → stronger directional imbalance
Thin profile areas → weaker participation
Filter ranges → separated transaction-size categories
Session profile → where activity concentrated during the session
🔹 Why this tool is useful
It gives you:
a way to compare delta across different transaction sizes
a visual map of where larger orders were active
separate profiles for smaller, medium, and larger transaction flow
context around whether large-order activity confirms or conflicts with smaller flow
session-based order-flow structure
a clearer view of where aggressive participation concentrated
🔹 Best use cases
comparing small vs large transaction behavior
tracking where large participants were most active
studying aggressive buying and selling by transaction size
analyzing directional imbalance across multiple order-size groups
identifying high-participation price zones
building session-based order-flow context
🔹 Important note
This tool estimates directional pressure using lower-timeframe or tick-based data.
That means:
delta estimation is not identical to centralized exchange order books
transaction-size filters are based on estimated dollar value
large imbalance does not guarantee continuation
profiles represent historical participation, not future certainty
market conditions can shift quickly
outputs should be used as contextual analysis, not standalone signals
🔹 Inputs you can customize
The script includes flexible controls such as:
data granularity selection
session timeframe selection
profile level granularity
multiple dollar-value transaction filters
profile offsets
bullish and bearish profile colors
delta label visibility
delta label sizing
Closing Notes
Large Order Delta Profile is built around one central idea: not all transaction sizes should be viewed the same way .
By splitting delta profiles across different dollar-value thresholds, the tool helps traders compare how smaller flow, larger flow, and extreme transaction activity behave during the same session.
Rather than asking only where volume occurred, this tool helps ask which size of activity created the imbalance, where it happened, and whether larger transaction flow told a different story from the broader market .
Thank you for checking it out! Indicator

CVD Matrix: Main Chart Signals## CVD Candles: Absorption & Engulfing Overlay
> ### ⚠️ Critical Note Before Deployment
>
>
> Because the Forex market is decentralized, **volume data is entirely feed-dependent.** For this overlay to function properly, you **must** ensure your chosen asset or currency ticker provides volume/tick volume data on PulseWire. If the broker feed lacks volume data, the Cumulative Volume Delta (CVD) engine will render flat lines or fail to calculate entirely.
> Highly recommended feeds on PulseWire that provide robust, institutional-grade volume metrics include:
> * **OANDA**
> * **FOREX.com**
> * **FXCM**
> * **ICE** (For spot and currency futures feeds)
>
>
---
### Overview
The **CVD Candles: Absorption & Engulfing Overlay** is an institutional-grade order flow and market structure toolkit designed to isolate hidden market participant activity. By pairing **Cumulative Volume Delta (CVD)** divergences with localized price pivots, this indicator filters out retail noise and exposes areas where large market players are actively absorbing aggressive order flow.
Rather than relying purely on lagging price action, this system demands explicit cross-verification between structural order flow exhaustion and a high-volume momentum breakout before printing highly actionable trade entries directly onto your main price candles.
---
### Key Mechanics & Features
### 1. Structural Order Flow Absorption (The Diamonds)
The indicator continuously monitors localized market structure using a customizable Pivot Engine. When price forms a swing high or swing low, the system evaluates the internal order flow inside a precise **CVD Window Offset**.
* **Bullish Absorption (Teal Diamond):** Occurs when price forms a higher low (or equal low), but the CVD drops to a significant lower low. This reveals aggressive sellers hammering the market, yet price refuses to drop—proving that passive institutional buy orders are completely absorbing the selling pressure.
* **Bearish Absorption (Orange Diamond):** Occurs when price forms a lower high (or equal high), but the CVD spikes to a significant higher high. This reveals aggressive buyers chasing price upward, yet price refuses to break higher—proving that passive institutional sell orders are absorbing the buying pressure.
### 2. High-Volume Momentum Confirmation (The Bull/Bear Entries)
An absorption signal alone is simply a sign of a stopping market; it requires a volatility catalyst to become a valid entry. Once an absorption diamond is confirmed, the indicator activates an internal tracking engine that stays live for a customizable **Entry Window** (e.g., 4 bars).
To trigger a **BULL ENTRY** or **BEAR ENTRY** label, the market must satisfy two strict momentum filters within that window:
* **Volume Expansion:** Current volume must exceed the previous bar's volume *and* cross above the 10-period Volume SMA, ensuring genuine institutional participation.
* **Price Engulfing:** Price must print a decisive engulfing candle or strong Marubozu close variant, confirming that the absorbing party has successfully taken control of the market and initiated the reversal.
---
### How to Trade the Overlay
* **The Setup:** Look for a **Teal** or **Orange Diamond** to print on your main chart. This signals that a major structural turning point has been identified and order flow is shifting.
* **The Execution:** Wait for the system to print a **BULL ENTRY** or **BEAR ENTRY** label. Because these labels require a volume-backed engulfing candle to fire, they mark the exact moment aggressive momentum has shifted in favor of the absorbing institution.
* **Invalidation:** If the market drifts sideways and fails to produce a high-volume engulfing breakout within your specified entry window, the tracking engine automatically resets to protect you from entering a choppy, low-liquidity environment. Indicator

Volume Waves (Buy / Sell / Delta) [footprint data]
⚠️ This indicator uses footprint data and requires PulseWire Premium plan or higher. Without footprint support the waves will not appear.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Volume Waves (Buy / Sell / Δ) is a footprint-based volume visualization that renders buy volume, sell volume and delta directly on the price chart as adaptive filled waves - no separate pane, everything stays on the candles where it belongs.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What you see
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Three layers are rendered directly on the chart:
Volume wave (gray) — total buying or selling activity scaled to recent history. Shows how significant the current bar's volume is compared to the lookback window.
Delta wave (semi-transparent lime / purple) — positive delta (buyers dominated) is lime, negative delta (sellers dominated) is purple. Rendered on top of the volume wave, always stays within its boundaries.
Extreme delta (fully opaque lime / purple) — same colors, full opacity. Appears only when both volume and imbalance cross their thresholds simultaneously. The brighter the spike stands out against the semi-transparent background — the more significant that bar was.
The waves are normalized relative to recent market activity and scaled dynamically using ATR, allowing the visualization to remain readable across different instruments and timeframes without constant manual adjustment.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Why footprint data matters
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Most "buy/sell volume" or "volume delta" indicators available on charts do not use actual trade classification. They approximate — typically by comparing the candle's close to its open and assuming the entire volume was either buying or selling, or by applying the same approximation from a lower timeframe (the accuracy does not improve from this — the method stays the same, only the scale changes).
Footprint data works differently. When supported by the broker and exchange feed, PulseWire provides bid/ask-classified executed trades where each transaction is identified as aggressive buying or selling at the moment of execution. Not calculated from price behavior, not estimated from candle shape — recorded as a fact from the exchange order book.
This distinction becomes especially important around:
high-liquidity levels and absorption zones,
breakouts and exhaustion moves,
and news-driven volatility.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Display modes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Two sides — buy and sell waves expand in opposite directions from the baseline: buy volume upward, sell volume downward. Buyer and seller dominance is immediately visible.
One side — buy and sell volume are stacked upward together as total activity. Useful when focusing on participation intensity or volatility expansion. The delta wave remains visible and colored by sign — directional information is always present.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How it is built
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Shared normalization. Buy and sell volume are both divided by the same highest total volume over the lookback window. This preserves the real proportion between them and ensures delta always reflects the correct sign and magnitude. Independently normalized sides would distort this relationship.
Adaptive ATR scaling. Wave height = normalized volume × ATR(200) × scale factor. This gives the indicator automatic adaptation across markets, stable visual proportions across timeframes, and consistent readability during volatility expansion. Quiet markets remain compact, volatile markets naturally expand. The scale factor setting provides additional manual control when needed.
Visible-area rendering. Waves are built only for bars currently visible on screen using chart.left_visible_bar_time and chart.right_visible_bar_time . The loop range accounts for the offset of the last bar from the right edge — correctly handling situations when recent bars are outside the viewport after scrolling left. When scrolling or zooming, the structure recalculates intentionally to preserve local proportionality.
Baseline positioning. The baseline can be placed manually via the position setting: top, bottom or middle of the visible range. In auto mode the indicator checks whether current price is in the upper or lower half of the visible range and positions the baseline on the opposite side — in most cases preventing overlap with candles without manual adjustment.
Extreme delta detection. A bar is marked as extreme only when two conditions are met simultaneously: total volume exceeds a configured percentile of recent history (Lookback Window
- 500 bars by default), and absolute delta exceeds a configured percentage of total bar volume. This filtering removes low-volume noise, small meaningless imbalances, and high-volume but balanced bars. Only bars where both participation and asymmetry are genuinely exceptional are highlighted. Both thresholds are independently adjustable.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How to read it
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Dominance. When buy waves consistently exceed sell waves — buyers are participating more aggressively. When sell waves dominate — sellers control the auction. The relationship becomes visible instantly without requiring footprint tables or numerical inspection.
Delta as confirmation. Price rising with positive delta means real buying pressure is behind the move. Price rising while delta weakens or turns negative suggests passive absorption may be occurring — the move may lack genuine initiative participation.
Extreme highlights. Fully opaque spikes mark bars where both participation and directional imbalance were exceptional. These bars are often structurally important and tend to stand out clearly even on dense charts — absorption, exhaustion, breakout moments.
Info label. On the last bar a small label shows buy volume, sell volume, delta value and delta as a percentage of total volume — quick numerical context without opening a separate footprint panel.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Settings
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
side — one side or two sides visualization
position — baseline placement: auto / top / bottom / middle
shift — offset between baseline and chart edge
scale factor — overall wave height multiplier
Lookback Window — normalization and percentile range
Delta % threshold — minimum imbalance percentage for extreme detection
Volume Percentile % — minimum participation percentile for extreme detection
show volume — toggle buy/sell volume waves
show delta — toggle delta overlay and extreme highlights
delta transparency — two inline values: opacity for regular delta and for extreme highlights separately
show label — toggle information label on last bar
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Notes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Footprint data required. The indicator uses request.footprint() available on PulseWire Premium or higher. Availability also depends on broker and exchange feed support.
Updates on scroll. Waves recalculate every time the visible area changes — intentionally. You always see volume structure scaled to what is currently on screen.
If you find it useful — a boost or comment is appreciated. Feedback and suggestions are always welcome.
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
