This ProBuilder code snippet demonstrates how to plot the last specified number of levels of the Donchian Channel, using a 500-period lookback. The lines are extended across the chart to visually represent the upper and lower bounds of the channel dynamically as they change.
defparam drawonlastbaronly=true
maxlines = 20 //how many lines to plot?
hh= DonchianChannelUp[500]
ll= DonchianChannelDown[500]
if hh<>hh[1] then
$hh[hhi]=hh
hhi=hhi+1
endif
if ll<>ll[1] then
$ll[lli]=ll
lli=lli+1
endif
if islastbarupdate then
count=0
for i = max(hhi,lli) downto 0 do
if isset($hh[i]) then
drawhline($hh[i]) coloured(0,200,0)
endif
if isset($ll[i]) then
drawhline($ll[i]) coloured(200,0,0)
endif
count=count+1
if count>=maxlines then
break
endif
next
endif
return
The code snippet above is structured to dynamically track and display the upper and lower bounds of the Donchian Channel over the last 500 periods, but only plots the most recent changes up to a specified number of lines. Here’s a step-by-step breakdown:
defparam drawonlastbaronly=true ensures that drawing commands are executed only on the last bar update to optimize performance.maxlines sets the maximum number of lines to display, limiting the number of historical channel levels shown.hh and ll store the current upper and lower values of the Donchian Channel with a period of 500.$hh and $ll, indexed by hhi and lli respectively, which are incremented upon each change.maxlines) is reached.coloured(0,200,0)) and lower bounds are colored red (coloured(200,0,0)), providing a clear visual distinction.This approach is useful for traders or analysts who want to visualize significant levels of support and resistance over a given period, helping to identify potential breakout or reversal points.
Check out this related content for more information:
https://www.prorealcode.com/topic/visual-level-indicator/#post-156751
Visit Link