This version of the renko indicator for prorealtime, adds the Volume information to allow or not the construction of new brick.
I introduced several “experimental” parameters to adapt the indicator to the displayed instrument.
Renko bricks can be built using a fixed point size defined by the “boxsize” parameter, a new brick will be built only if the volume of exchanges has been at least greater than the “volumesize” parameter since the last brick .
These settings being very strict, I added an automatic feature for a more convenient adaptation to each instrument and timeframe. Thus, the parameters “autoRenko” and “autoVolume” allow a more ‘user friendly’ approach:
_ autoRenko means automatic renko brick size based on 2 time ATR periods.
_ autoVolume means automatic volume size to allow new brick or not (override the “volumesize” setting), based on average of Volumes.
It is possible or not to “paint” the background of the graph according to the trend identified by the reversal of the bricks (parameter ‘showBG’).
This indicator is experimental and I invite you to discuss it in case you have ideas for improvement or concrete use in this topic of the forum: New Renko System
//PRC_Renko Bricks Volumes | indicator
//19.02.2018
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
// https://www.prorealcode.com/topic/new-renko-system/
//---settings
transparency=50 //brick colours alpha
wicksize=1 //width of wicks
boxsize=20 //renko bricks size in points/pips
volumesize=1000 //volume size setting to allow new brick
showBG=1 //background color (true/false)
autoRenko=1 //automatic renko brick size based on 2 time ATR periods
autoVolume=0 //automatic volume size to allow new brick or not (override the "volumesize" setting) based on average of volume instead of fixed value
//---end of settings
if autoRenko=1 then
size=averagetruerange[14]*2
else
once size=boxsize*pointsize
endif
if autoVolume then
volumesize=average[1000](volume)*10
endif
once upbox = close
once downbox = close - (boxsize*pointsize)
once lowwick = close*100
volumesum = volumesum+volume
IF close > upbox + size and volumesum-lastvolume>=volumesize THEN
lastvolume = volumesum
upbox = upbox + size
downbox = downbox + size
r=0
g=200
begin=barindex
highwick=close
wickbar=barindex-round((barindex-begin[1])/2)
ELSIF close < downbox - size and volumesum-lastvolume>=volumesize THEN
lastvolume = volumesum
upbox = upbox - size
downbox = downbox - size
r=200
g=0
begin=barindex
wickbar=barindex-round((barindex-begin[1])/2)
ENDIF
//saving current high/low
highwick=max(high,highwick)
lowwick=min(low,lowwick)
//compute wicks at each new contrarian brick
if r>0 and r[1]=0 then
//new red brick
drawrectangle(wickbar,highwick,wickbar+wicksize,upbox[1]) coloured(r[1],g[1],0)
lowwick=low*100
highwick=0
endif
if r=0 and r[1]>0 then
//new green brick
drawrectangle(wickbar,lowwick,wickbar+wicksize,downbox[1]) coloured(r[1],g[1],0)
lowwick=low*100
highwick=0
endif
//compute wicks at each new same brick
if r>0 and r[1]>0 and lastdrawn<>wickbar then
//new red brick
if highwick>upbox[1] then
drawrectangle(wickbar,highwick,wickbar+wicksize,upbox[1]) coloured(r[1],g[1],0)
endif
lastdrawn=wickbar
lowwick=low*100
highwick=0
endif
if r=0 and r[1]=0 and lastdrawn<>wickbar then
//new green brick
if lowwick<downbox[1] then
drawrectangle(wickbar,lowwick,wickbar+wicksize,downbox[1]) coloured(r[1],g[1],0)
endif
lastdrawn=wickbar
lowwick=low*100
highwick=0
endif
//draw renko candlesticks
drawcandle(upbox,upbox,downbox,downbox)coloured(r,g,0,min(transparency,255))
if showBG then
backgroundcolor(r,g,0,min(transparency,255))
endif
RETURN