OPEN-SOURCE SCRIPT
True Range Percentage MACD

True Range Percentage MACD (TR% MACD) is a volatility-oscillator that measures relative range movement and applies MACD logic to identify volatility momentum cycles.
What it measures
True Range (TR) captures intrabar range plus gap effects.
This script converts TR into a percentage of price:
TR%=TR×100 / ∣Sourcet−1∣
(Source defaults to HL2 and uses the prior bar value for normalization; a minimum tick guard is applied to avoid division by zero.)
Smoothing
TR% can be smoothed using a selectable moving average type (EMA, SMA, RMA, VWMA, WMA, ALMA, SWMA, HMA, or NONE) and a dedicated smoothing length. This helps control noise before MACD processing.
MACD on volatility
The indicator then computes:
MACD = MA(TR%)fast − MA(TR%)slow
Signal = MA(MACD)signal
Histogram = MACD − Signal
Interpretation
This is not a price-trend MACD—it's a volatility momentum MACD:
Rising histogram often indicates increasing relative volatility (range expansion accelerating).
Falling histogram often indicates volatility cooling (range expansion decelerating / contracting).
Crossovers can help time transitions between quiet and active regimes, and complement trend systems (e.g., filter breakouts to periods of rising volatility).
Visuals & alerts
Histogram uses a 4-state coloring (positive/negative + rising/falling).
Optional plot shows smoothed TR%.
Built-in alerts:
histogram rising→falling and falling→rising state flips
MACD crossing Signal (up/down)
MACD crossing zero (up/down)
What it measures
True Range (TR) captures intrabar range plus gap effects.
This script converts TR into a percentage of price:
TR%=TR×100 / ∣Sourcet−1∣
(Source defaults to HL2 and uses the prior bar value for normalization; a minimum tick guard is applied to avoid division by zero.)
Smoothing
TR% can be smoothed using a selectable moving average type (EMA, SMA, RMA, VWMA, WMA, ALMA, SWMA, HMA, or NONE) and a dedicated smoothing length. This helps control noise before MACD processing.
MACD on volatility
The indicator then computes:
MACD = MA(TR%)fast − MA(TR%)slow
Signal = MA(MACD)signal
Histogram = MACD − Signal
Interpretation
This is not a price-trend MACD—it's a volatility momentum MACD:
Rising histogram often indicates increasing relative volatility (range expansion accelerating).
Falling histogram often indicates volatility cooling (range expansion decelerating / contracting).
Crossovers can help time transitions between quiet and active regimes, and complement trend systems (e.g., filter breakouts to periods of rising volatility).
Visuals & alerts
Histogram uses a 4-state coloring (positive/negative + rising/falling).
Optional plot shows smoothed TR%.
Built-in alerts:
histogram rising→falling and falling→rising state flips
MACD crossing Signal (up/down)
MACD crossing zero (up/down)
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.