What it does

Measures how strong a move is by combining chart range expansion versus ATR with aggregate volume expansion versus its own SMA, then plots a smoothed VWRE line, a signal EMA, and the raw VWRE histogram.

Calculations

1) Compute normalized range as max(High – Low, mintick floor) / ATR using the selected ATR Length.
2) Compute normalized volume as total / SMA(total, Volume SMA Length).
3) Build Raw VWRE as normalized range × normalized volume when both inputs are valid.
4) Smooth Raw VWRE with SMA for the main line, then apply an EMA to that smoothed line for the signal.

Unique story it tells

It measures whether price is expanding with unusually strong range and unusually strong participation at the same time, relative to their own recent baselines.

How it identifies tops/bottoms

It does not include built-in top/bottom markers or reversal labels. Instead, it highlights expansion intensity around a neutral 1.0 line, so very elevated readings can mark climactic conditions that may accompany tops or bottoms, but price direction still decides which one you are dealing with.

Story it tells when indicator is rising

Rising means the combination of relative range and relative volume is increasing, so the move is becoming more expansive and forceful than before.

Story it tells when indicator is falling

Falling means the combination of relative range and relative volume is cooling, so the move is becoming less expansive and less forceful than before.

Story it tells when indicator is neutral

Neutral usually means VWRE is holding near 1.0, which suggests range and participation are both close to their recent normal relationship.

What it means when indicator is rising + price is rising

Bullish expansion: price is moving higher while range and participation are expanding relative to their recent baselines.

What it means when indicator is rising + price is falling

Bearish expansion: price is moving lower while range and participation are expanding relative to their recent baselines.

What it means when indicator is falling + price is rising

Upward move losing force: price is still rising, but the expansion in range and participation is cooling.

What it means when indicator is falling + price is falling

Downward move losing force: price is still falling, but the expansion in range and participation is cooling.

Unique features and settings

Adjustable settings
Market Type — limits the calculation to Spot, Perps, or Both.
Mode — builds the input using Base Units or USD Turnover before the VWRE math is applied.
ATR Length — sets the chart ATR lookback used for range normalization.
Volume SMA Length — sets the SMA lookback used to normalize the final aggregate total.
VWRE Length (SMA) — sets the SMA length used to smooth Raw VWRE into the main VWRE line.
Signal EMA Length — sets the EMA length used for the signal line.
Show Debug Table — displays the full per-venue audit table for the active routed asset.
Font Size — changes the debug table text size.
Location — moves the debug table on the chart.

Hardcoded settings
Final launch venue map — uses the suite’s finalized routed spot and perpetual venue lists as the aggregate source.
Spot/perp interpretation metadata — defines whether each venue contributes as Base, Quote, or Contracts.
Contract mode metadata — defines how contract-based rows convert before they enter the aggregate.
Contract Sizes — apply stored multipliers to perpetual rows that use contract counts.
Data-defense behavior — keeps venue-ignore protection enabled when repeated bad data appears.
Bad-bar threshold — removes a venue’s used contribution after 5 consecutive bad bars.
BASE_ONLY enforcement — forces Base Units internally on supported non-USD or index-like charts.
FALLBACK behavior — switches to the chart’s own volume on unsupported-base charts.
Market-type total-selection — uses explicit Spot / Perps / Both logic to choose the active total.
Debug fetch behavior — may widen active routed fetch scope to show the full venue map, while still reusing each venue fetch once and keeping Used and % Share honest.
Range source — always uses the chart bar’s high-low range for the range term.
ATR normalization source — always normalizes range with chart ATR.
Volume normalization source — always normalizes the final aggregate total with SMA(total).
Zero-range protection — uses a mintick floor in the range term so flat bars do not break the formula.
Input-validity rule — only builds Raw VWRE when both normalized range and normalized volume are valid.
Raw VWRE construction — always builds Raw VWRE as normalized range × normalized volume.
Main smoothing type — always smooths Raw VWRE with SMA.
Signal type — always builds the signal line as an EMA of the smoothed VWRE line.
Neutral reference line — always shows a dotted 1.0 line.
Raw display rule — always plots Raw VWRE as a histogram.

Notes specific to this script

This script is non-directional by formula, because it uses absolute range expansion and relative volume expansion rather than bullish-versus-bearish flow. The main VWRE line is an SMA of Raw VWRE, and the signal is an EMA of that smoothed line, not of the raw histogram. There is no shared Moving Average section in this script; the only smoothing controls are the indicator-specific VWRE SMA and signal EMA settings. There is no reset or cumulative state here. Readiness comes from ATR and SMA validity rather than from a separate hard first-valid-bar gate, so Raw VWRE stays unavailable until both normalized inputs are valid, and the smoothed line and signal need additional warmup on top of that.