quiero que en este indicado dentro de la tendencia de la psar me dibuje la linea en el maximo que ha echo la bbup es decir el maximo numero que ha tocado y el minimo de la bbdown es decir el minimo numero que ha tocado el bbdown pero dentro de la tendencia de la psar, tengo este codigo pero no me lo hace correctamente. Un saludo
DEFPARAM DrawOnLastBarOnly = true
ema20 = ExponentialAverage[20](close)
dev = 2 // Cantidad de desviaciones
avg = ExponentialAverage[20](close) // Media
bbup = avg + std[20](close) * dev // Banda superior
bbdown = avg - std[20](close) * dev // Banda inferior
if intradaybarindex = 0 then
maxbbup = bbup
minbbdown = bbdown
else
maxbbup = max(bbup, maxbbup)
minbbdown = min(bbdown, minbbdown)
endif
psar = SAR[0.02, 0.02, 0.2]
C1 = close > psar
C2 = close < psar
if C2 and not C2[1] then
CONTADOR = 1
TENDENCIAANTERIOR = 1
elsif C1 and not C1[1] then
CUENTA = 1
TENDENCIAANTERIOR = -1
elsif TENDENCIAANTERIOR = 1 then
CONTADOR = CONTADOR[1] + 1
elsif TENDENCIAANTERIOR = -1 then
CUENTA = CUENTA[1] + 1
endif
if C2 then
if CONTADOR > 1 then
PE1 = HIGHEST[CONTADOR](maxbbup)
else
PE1 = maxbbup
endif
endif
if C1 then
if CUENTA > 1 then
PE1 = LOWEST[CUENTA](minbbdown)
else
PE1 = minbbdown
endif
endif
DRAWSEGMENT(barindex + 3, PE1, barindex[3], PE1) COLOURED(0, 0, 0) STYLE(dottedline, 2)
psar3 = SAR[0.02, 0.02, 0.2]
C13 = close > psar3
C23 = close < psar3
dev3 = 2
avg3 = ExponentialAverage[20](close)
bbup3 = avg3 + std[20](close) * dev3
bbdown3 = avg3 - std[20](close) * dev3
if C13 and not C13[1] then
CONTADOR3 = 1
TENDENCIAANTERIOR3 = 1
elsif C23 and not C23[1] then
CUENTA3 = 1
TENDENCIAANTERIOR3 = -1
elsif TENDENCIAANTERIOR3 = 1 then
CONTADOR3 = CONTADOR3[1] + 1
elsif TENDENCIAANTERIOR3 = -1 then
CUENTA3 = CUENTA3[1] + 1
endif
if C13 then
if CONTADOR3 > 1 then
PE13 = HIGHEST[CONTADOR3](maxbbup)
else
PE13 = maxbbup
endif
endif
if C23 then
if CUENTA3 > 1 then
PE13 = LOWEST[CUENTA3](minbbdown)
else
PE13 = minbbdown
endif
endif
DRAWSEGMENT(barindex + 3, PE13, barindex[3], PE13) COLOURED(0, 0, 0) STYLE(dottedline, 2)
RETURN
Buenas. Aquí tienes:
//DEFPARAM DrawOnLastBarOnly = true
//--------Bollinger----------------------------//
ema20 = ExponentialAverage[20](close)
dev = 2 // Cantidad de desviaciones
avg = ExponentialAverage[20](close) // Media
bbup = avg + std[20](close) * dev // Banda superior
bbdown = avg - std[20](close) * dev // Banda inferior
//--------Parabolic Sar------------------------//
psar = SAR[0.02, 0.02, 0.2]
if close> psar then
r=0
g=255
bbmaxdw=highest[countDW+1](bbup)
barsbbmaxdw=barssince(bbup=bbmaxdw)
bbmindw=lowest[countDW+1](bbdown)
barsbbmindw=barssince(bbdown=bbmindw)
if r<>r[1] then
drawsegment(barindex[max(0,barsbbmaxdw)],bbmaxdw,barindex,bbmaxdw)coloured("red")
drawsegment(barindex[max(0,barsbbmindw)],bbmindw,barindex,bbmindw)coloured("red")
endif
countUp=countUp+1
countDw=0
else
r=255
g=0
bbmaxdw=bbmaxdw
bbmax=highest[countUp+1](bbup)
barsbbmax=barssince(bbup=bbmax)
bbmin=lowest[countUp+1](bbdown)
barsbbmin=barssince(bbdown=bbmin)
if r<>r[1] then
drawsegment(barindex[max(0,barsbbmax)],bbmax,barindex,bbmax)coloured("green")
drawsegment(barindex[max(0,barsbbmin)],bbmin,barindex,bbmin)coloured("green")
endif
countUp=0
countDw=countDw+1
endif
//---------------------------------------------//
RETURN psar as "PSAR" coloured(r,g,0)style(point,2), bbup as "Bollinger Up" coloured("fuchsia"),bbdown as "Bollinger Down" coloured("fuchsia")
Buenos dias Ivan he visto el codigo y no lo entiendo muy bien lo unico que quiero es una linea que me señale el numero maximo que me ha hecho la bbup aunque luego no se quede ahi ya que se va moviendo la vela pero quiero eso que me señale el numero maximo y se quede ahi la linea dibujada en la vela actual para poder verlo todo el rato y que lo acumule ese numero hasta que se acabe la tendencia de la sar y lo mismo con la bbdown
//DEFPARAM DrawOnLastBarOnly = true
//--------Bollinger----------------------------//
ema20 = ExponentialAverage[20](close)
dev = 2 // Cantidad de desviaciones
avg = ExponentialAverage[20](close) // Media
bbup = avg + std[20](close) * dev // Banda superior
bbdown = avg - std[20](close) * dev // Banda inferior
//--------Parabolic Sar------------------------//
psar = SAR[0.02, 0.02, 0.2]
if close>psar then
r=0
g=255
bbmaxdw=highest[countDW+1](bbup)
barsbbmaxdw=barssince(bbup=bbmaxdw)
bbmindw=lowest[countDW+1](bbdown)
barsbbmindw=barssince(bbdown=bbmindw)
if r<>r[1] then
drawsegment(barindex[max(0,barsbbmaxdw)],bbmaxdw,barindex,bbmaxdw)coloured("red")
drawsegment(barindex[max(0,barsbbmindw)],bbmindw,barindex,bbmindw)coloured("red")
endif
countUp=countUp+1
countDw=0
if islastbarupdate then
bbmaxdw=highest[countUp](bbup)
bbmindw=lowest[countUp](bbdown)
drawsegment(barindex[countUp],bbmaxdw,barindex+5,bbmaxdw)coloured("green")
drawsegment(barindex[countUp],bbmindw,barindex+5,bbmindw)coloured("green")
endif
else
r=255
g=0
bbmaxdw=bbmaxdw
bbmax=highest[countUp+1](bbup)
barsbbmax=barssince(bbup=bbmax)
bbmin=lowest[countUp+1](bbdown)
barsbbmin=barssince(bbdown=bbmin)
if r<>r[1] then
drawsegment(barindex[max(0,barsbbmax)],bbmax,barindex,bbmax)coloured("green")
drawsegment(barindex[max(0,barsbbmin)],bbmin,barindex,bbmin)coloured("green")
endif
countUp=0
countDw=countDw+1
if islastbarupdate then
bbmaxdw=highest[countDw](bbup)
bbmindw=lowest[countDw](bbdown)
drawsegment(barindex[countDw],bbmaxdw,barindex+5,bbmaxdw)coloured("red")
drawsegment(barindex[countDw],bbmindw,barindex+5,bbmindw)coloured("red")
endif
endif
//---------------------------------------------//
RETURN psar as "PSAR" coloured(r,g,0)style(point,2), bbup as "Bollinger Up" coloured("fuchsia"),bbdown as "Bollinger Down" coloured("fuchsia")
Falta que se quede en el maximo aunque luego no cierre en ese precio la vela ya que como puedes ver las imagenes ha echo la bbup un maximo superior pero se ha movido la vela y ha bajado la linea del maximo y quiero que señale maximo de la bbup y minimo bbdown siempre aunque luego no cierre ahi las bandas. Adjunto fotos para que lo compruebes
Falta que se quede en el maximo aunque luego no cierre en ese precio la vela ya que como puedes ver las imagenes ha echo la bbup un maximo superior pero se ha movido la vela y ha bajado la linea del maximo y quiero que señale maximo de la bbup y minimo bbdown siempre aunque luego no cierre ahi las bandas. Adjunto fotos para que lo compruebes
Buenos dias alguien sabe sobre este tema ya que no lo consigo sacar de ninguna manera. Un saludo