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)
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.