Hola.
Pues claro… Hay muchas posibilidades.
Por ejemplo, partiendo de la propia definicion de las bandas de bollinger:
N=50
x=2 //multiplicador desviacion
sma=average[N](close)
desviacion=x*STD[N](close)
up100=sma+desviacion
up61=sma+0.618*desviacion
up50=sma+0.5*desviacion
up38=sma+0.382*desviacion
dw100=sma-desviacion
dw61=sma-0.618*desviacion
dw50=sma-0.5*desviacion
dw38=sma-0.382*desviacion
return sma as "SMA"coloured("blue")style(line,3), up100 as "up100"coloured("red")style(line,2),dw100 as "dw100"coloured("green")style(line,2),up61 as "up61"coloured("red")style(dottedline,1),dw61 as "dw61"coloured("green")style(dottedline,1),up50 as "up50"coloured("red")style(dottedline2,1),dw50 as "dw50"coloured("green")style(dottedline2,1),up38 as "up38"coloured("red")style(dottedline3,1),dw38 as "dw38"coloured("green")style(dottedline3,1)
Si en lugar de esto ponemos un canal de Donchian entonces podemos hacer lo siguiente:
N=50
lmax=highest[N](high)
lmin=lowest[N](low)
ptmedio=(lmax+lmin)/2
up0=lmax
up61=lmax-0.618*(lmax-ptmedio)
up50=lmax-0.5*(lmax-ptmedio)
up38=lmax-0.382*(lmax-ptmedio)
dw0=lmin
dw61=lmin+0.618*(ptmedio-lmin)
dw50=lmin+0.5*(ptmedio-lmin)
dw38=lmin+0.382*(ptmedio-lmin)
return ptmedio as "SMA"coloured("blue")style(line,3), up0 as "up0"coloured("red")style(line,2),dw0 as "dw0"coloured("green")style(line,2),up61 as "up61"coloured("red")style(dottedline,1),dw61 as "dw61"coloured("green")style(dottedline,1),up50 as "up50"coloured("red")style(dottedline2,1),dw50 as "dw50"coloured("green")style(dottedline2,1),up38 as "up38"coloured("red")style(dottedline3,1),dw38 as "dw38"coloured("green")style(dottedline3,1)