OPEN-SOURCE SCRIPT
Actualizado Value-Distribution Oscillator

Value-Distribution Oscillator
Overview
A volume-by-price value map expressed as a bounded pane oscillator. It rolls a decaying volume distribution of recent trade, finds the Point of Control (most-traded price) and the Value Area, then plots where price sits inside that value structure on a fixed −50 / +50 scale: 0 = at the POC (fair value), ±25 = the value-area edges (VAH / VAL), ±50 = stretched beyond the developed range. It is a study of acceptance and location — not a directional signal.
Why these parts are ONE tool (mashup rationale)
A volume profile is an overlay that shows where value is; it can't give you, as a single number, how far price has travelled from value or whether that travel reverts. This chains: a decaying distribution builds the map → a position transform turns price into one bounded location reading → a fade flag fires only when price is stretched into the tails and turning back → a calibration harness tests whether stretched-and-reverting readings actually return toward the POC on your instrument. Remove a part and the chain breaks: a profile is just a picture, the transform alone is just a number, the fade alone is an untested claim.
How it works
Each confirmed bar's volume is distributed across a price grid (body weighted heavier than wicks) and the whole grid decays geometrically, so the map tracks recent trade and re-anchors when price leaves its range. The POC is the heaviest level; the Value Area grows outward from the POC to the chosen volume share; the transform maps price piecewise-linearly (POC→0, VAH/VAL→±25, extremes→±50). The harness logs each stretched fade and checks a ≥ k×ATR move back toward the POC a fixed horizon later.
How to use
Read location: near 0 = fair value; the ±25 band = the edge of value; beyond ±40 = stretched into the tails, where reversion setups have context and breakouts that hold signal value migration. Then read the Edge row — fades in the tails only earn their keep if they beat the base rate. Context, never a standalone trigger.
Originality
The POC / Value-Area concept is public (credited below); the original work is the assembly — a decaying-grid distribution, the price-into-value position transform that turns a profile into a series, and the forward base-rate calibration. It's the pane-oscillator counterpart to a volume profile, not a re-skin of one.
Concept credit
Market / Volume Profile, Point of Control and Value-Area framing — J. Peter Steidlmayer and the CBOT Market Profile tradition; value-area / acceptance reading developed further by practitioners such as James Dalton. Implementation, transform and harness are this script's own.
Honesty / limitations
The distribution uses bar ranges, not exchange price-by-price prints or tick data — a probabilistic approximation. The grid decays, so it's a recent-trade view, not a session-anchored profile. Edge figures are in-sample, close-to-close, overlapping windows, no costs — descriptive context, not a backtest. Nothing here predicts direction.
Disclaimer
Research / educational only. NOT financial advice; no guarantee of profitability. Indicators describe past behaviour. Trading carries risk of loss. Test out-of-sample. The author accepts no liability.
Overview
A volume-by-price value map expressed as a bounded pane oscillator. It rolls a decaying volume distribution of recent trade, finds the Point of Control (most-traded price) and the Value Area, then plots where price sits inside that value structure on a fixed −50 / +50 scale: 0 = at the POC (fair value), ±25 = the value-area edges (VAH / VAL), ±50 = stretched beyond the developed range. It is a study of acceptance and location — not a directional signal.
Why these parts are ONE tool (mashup rationale)
A volume profile is an overlay that shows where value is; it can't give you, as a single number, how far price has travelled from value or whether that travel reverts. This chains: a decaying distribution builds the map → a position transform turns price into one bounded location reading → a fade flag fires only when price is stretched into the tails and turning back → a calibration harness tests whether stretched-and-reverting readings actually return toward the POC on your instrument. Remove a part and the chain breaks: a profile is just a picture, the transform alone is just a number, the fade alone is an untested claim.
How it works
Each confirmed bar's volume is distributed across a price grid (body weighted heavier than wicks) and the whole grid decays geometrically, so the map tracks recent trade and re-anchors when price leaves its range. The POC is the heaviest level; the Value Area grows outward from the POC to the chosen volume share; the transform maps price piecewise-linearly (POC→0, VAH/VAL→±25, extremes→±50). The harness logs each stretched fade and checks a ≥ k×ATR move back toward the POC a fixed horizon later.
How to use
Read location: near 0 = fair value; the ±25 band = the edge of value; beyond ±40 = stretched into the tails, where reversion setups have context and breakouts that hold signal value migration. Then read the Edge row — fades in the tails only earn their keep if they beat the base rate. Context, never a standalone trigger.
Originality
The POC / Value-Area concept is public (credited below); the original work is the assembly — a decaying-grid distribution, the price-into-value position transform that turns a profile into a series, and the forward base-rate calibration. It's the pane-oscillator counterpart to a volume profile, not a re-skin of one.
Concept credit
Market / Volume Profile, Point of Control and Value-Area framing — J. Peter Steidlmayer and the CBOT Market Profile tradition; value-area / acceptance reading developed further by practitioners such as James Dalton. Implementation, transform and harness are this script's own.
Honesty / limitations
The distribution uses bar ranges, not exchange price-by-price prints or tick data — a probabilistic approximation. The grid decays, so it's a recent-trade view, not a session-anchored profile. Edge figures are in-sample, close-to-close, overlapping windows, no costs — descriptive context, not a backtest. Nothing here predicts direction.
Disclaimer
Research / educational only. NOT financial advice; no guarantee of profitability. Indicators describe past behaviour. Trading carries risk of loss. Test out-of-sample. The author accepts no liability.
Notas de prensa
Value-Distribution OscillatorWhat it is. An oscillator built from where volume has actually traded — the developing point of control and value area — measuring how stretched price is from accepted value.
What's new in this update
Structure reads. The script now identifies the nearest high-volume node (an acceptance/magnet level) and the nearest low-volume node (a thin "void" that price tends to travel through quickly), relative to current price.
Profile shape classification. The distribution is labelled by shape (bottom-heavy, top-heavy, or balanced), a compact read on whether the auction looks like accumulation, distribution, or balance.
Calibration honesty layer. Event-sampling, a streak-dependence check, and a confidence floor on the measured edge are added to the forward-test, as in the rest of the suite.
How the parts work together. The oscillator tells you how far price is from value; the node and shape reads tell you what's around it — whether the next level is a magnet to lean on or a void to expect acceleration through. Used together they turn a single distance reading into a contextual one.
Reusable outputs. Nearest high/low-volume node, profile shape, the oscillator and its calibration edge are published to the Data Window for cross-script use.
Defaults & sources. Price and volume sources are configurable; bins, windows and thresholds are NIFTY-tuned.
Educational only — value area and node reads are descriptive, not predictive. Not financial advice.
Script de código abierto
Fiel al espíritu de TradingView, el creador de este script lo ha convertido en código abierto, para que los traders puedan revisar y verificar su funcionalidad. ¡Enhorabuena al autor! Aunque puede utilizarlo de forma gratuita, recuerde que cualquier republicación del código está sujeta a nuestras Normas internas.
Exención de responsabilidad
La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.
Script de código abierto
Fiel al espíritu de TradingView, el creador de este script lo ha convertido en código abierto, para que los traders puedan revisar y verificar su funcionalidad. ¡Enhorabuena al autor! Aunque puede utilizarlo de forma gratuita, recuerde que cualquier republicación del código está sujeta a nuestras Normas internas.
Exención de responsabilidad
La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.