ADR% - Average Daily Range % by MikeC (AKA TheScrutiniser)

This applies a 'corrected' formula to the version created by alpine_trader (which is slightly off). It calculates the Average Daily Range (in percent) over the previous 20 periods and plots it in a chart.

I am grateful to GlinckEastwoot for the 'corrected' formula.
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Want to use this script on a chart?


Hi please how do i incorporate this script in my tradingview screener?
+40 Reply
Sammy70_ CaptainDuyi
@CaptainDuyi, did you find a way to use this ADR% in your screener? so we can filter stocks with it instead of having it on the chart?
+2 Reply
CaptainDuyi Sammy70_
@Sammy70_, No I didn’t I just use it on the charts, but if you find a way to screen for ADR directly please let me know. Thanks
TheScrutiniser CaptainDuyi
@CaptainDuyi, @Sammy70_, @CaptainDuyi, Sorry, just seen this. No, can't be used to screen.
CaptainDuyi TheScrutiniser
@TheScrutiniser, okay, is there anything you can do about it please?
I would also love to know how do I use this script for the stock screener
+8 Reply
@mezhoniss, Sorry, just seen this. No, can't be used to screen.
I'm having a hard time wrapping my head around this. If the range is the difference between highs and lows, why are you dividing them?
+1 Reply
millerrh millerrh
I played around with it a bit and this seems to make more sense to me. Thoughts?
ADR% = (sma(((dhigh-dlow)/dclose), Length))*100
+8 Reply
mktraderz millerrh
@millerrh, "it is daily range %" not "% daily range in relation to close". Your formula will get different result if : low 50 high 75 close 60 = (75-50/60)*100 = 41%; But ADR = (75/50 - 1) *100 = 50%. We want 50%, as that is the "daily range in percent" for this example.