Here is the code. I’m still learning so please excuse the poor coding skills.
I basically pull statistics from a SQL database and then hard code them into the indicator (which I will update weekly.)
//PRC_TSR_DailyRange_display | indicator
//11.12.2018
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//translated from MT4 version
defparam drawonlastbaronly=true
if day<>day[1] then
startbar=barindex
endif
HIDaily1 = dhigh(0)
LOWDaily1 =dlow(0)
TodayRange=dhigh(0)-dlow(0)
if(Open[0]> 8000 AND Open[0]< 14000) THEN //DAX
avr = 126
averagerangedown = HIDaily1 - avr
averagerangeup = LOWDaily1 + avr
tickbufferup = +5
tickbufferdown = +5
ELSIF(Open[0]> 18000 AND Open[0]< 30000) THEN //YM Wall Street
avr = 300
averagerangedown = HIDaily1 - avr
averagerangeup = LOWDaily1 + avr
tickbufferup = +6
tickbufferdown = +6
ELSIF(Open[0]> 1000 AND Open[0]< 4000) THEN //SP500
avr = 30
averagerangedown = HIDaily1 - avr
averagerangeup = LOWDaily1 + avr
tickbufferup = +2
tickbufferdown = +2
ELSIF(Open[0]> 5000 AND Open[0]< 10000) THEN //nasdaq
avr = 103
averagerangedown = HIDaily1 - avr
averagerangeup = LOWDaily1 + avr
tickbufferup = +2
tickbufferdown = +2
ELSE
result = result
ENDIF
//Line segments
drawsegment(startbar,averagerangedown,barindex,averagerangedown) coloured(124,252,0)
drawsegment(startbar,averagerangeup,barindex,averagerangeup) coloured(124,252,0)
drawsegment(startbar,HIDaily1,barindex,HIDaily1) coloured(124,252,0)
drawsegment(startbar,LOWDaily1,barindex,LOWDaily1) coloured(124,252,0)
//Text on chart
drawtext("Range #TodayRange#",barindex,LOWDaily1-tickbufferdown,Dialog,Bold,14) coloured(124,252,0)
drawtext("Average range #avr#",barindex,averagerangedown - tickbufferdown,Dialog,Bold,14) coloured(124,252,0)
drawtext("Average range #avr#",barindex,averagerangeup + tickbufferup,Dialog,Bold,14) coloured(124,252,0)
RETURN