OPEN-SOURCE SCRIPT
업데이트됨 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.
릴리즈 노트
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.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.