Price Volume Rank Node
Rolling Price-Volume Pattern Classification Score
Overview
The Price Volume Rank Node classifies each bar according to the price-volume relationship pattern and accumulates a rolling score. The four patterns reflect the classic Wyckoff volume interpretation: price up on high volume (+2, strongest bullish), price up on low volume (+1, weak bullish), price down on high volume (−2, strongest bearish), and price down on low volume (−1, weak bearish).
The rolling sum of these scores over the look-back period quantifies the net price-volume momentum over that window. Positive values indicate bullish price-volume patterns are dominating; negative values indicate bearish patterns. The bounded range of [−2×period, +2×period] makes thresholding straightforward.
Algorithm
Parameters
| Parameter | Default | Description |
|---|---|---|
| period | 14 | Rolling window for summing per-bar classification scores |
Inputs & Outputs
| Slot | Direction | Type | Description |
|---|---|---|---|
| input | Input | OHLCV | Standard OHLCV price and volume data |
| values | Output | (number | null)[] | Rolling PVR score (range −2×period to +2×period) |
| timestamps | Output | number[] | Unix timestamps aligned to input |
Use Cases
Trend Strength Confirmation
A sustained high positive PVR score confirms that upward price moves are backed by rising volume — strong bullish price-volume confirmation. When PVR is rising alongside price, the trend is supported by volume participation and is more likely to continue.
Divergence-Based Reversals
When price makes a new high but PVR forms a lower peak, the recent price advance is being driven by lower-quality volume patterns (+1 instead of +2 bars). This deteriorating price-volume structure often precedes trend exhaustion and reversal.
Breakout Validation
A breakout accompanied by several consecutive +2 bars (price up on higher volume) drives PVR to high positive readings — confirming genuine breakout momentum. A breakout accompanied mostly by +1 bars (low volume) yields subdued PVR, signaling a potential false breakout.
Tips & Best Practices
Normalize by Period for Comparison
To compare PVR across different period settings, divide the output by (2 × period) to normalize to a −1 to +1 range. This makes PVR with period=14 directly comparable to PVR with period=21, enabling multi-period confluence analysis.
Volume Comparison is Relative, Not Absolute
The classification compares each bar's volume to the previous bar's volume — not to any absolute threshold. This makes the indicator self-adapting to regime changes in average volume (e.g., pre/post earnings) without needing recalibration. However, it means an above-average volume day followed by another above-average day is still classified as "volume down" if the second bar is smaller.
Combine with OBV for Cumulative View
PVR provides a rolling window view of recent price-volume quality, while OBV provides a cumulative view of total money flow. Use PVR for timing entries (recent pattern strength) and OBV for assessing the overall accumulation/distribution trend.