es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Codificando las Bandas de Bollinger Dobles en Pine Script

Estoy intentando codificar un script de Double Bollinger Bands en tradingview con pine-script tanto para la desviación estándar 1 como para la 2. Aunque el script en sí no genera ningún error durante el guardado y la adición al gráfico, tampoco está funcionando porque la opción de segunda desviación estándar no funciona o se mantiene sin funcionar. Mi código es el siguiente:

//@version=5
indicator(shorttitle="DBB", title="Double Bollinger Bands", overlay=true, timeframe="", timeframe_gaps=true)
length = input.int(20, minval=1)
src = input(close,title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

// BB
length_BB = input.int(20, minval=1)
src_BB = input(close, title="Source")
mult_BB = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis_BB = ta.sma(src_BB, length_BB)
dev_BB = mult * ta.stdev(src_BB, length_BB)
upper_BB = basis_BB + dev_BB
lower_BB = basis_BB - dev_BB
offset_BB = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis_BB, "Basis_BB", color=#FF6D00, offset = offset_BB)
p1_BB = plot(upper_BB, "Upper_BB", color=#2962FF, offset = offset_BB)
p2_BB = plot(lower_BB, "Lower_BB", color=#2962FF, offset = offset_BB)
fill(p1_BB, p2_BB, title = "Background", color=color.rgb(33, 150, 243, 95))

Por favor, ayúdame a resolver este problema. Gracias y saludos.

Tags:  

Answer

  1. Avatar for davy.ai

    Posible solución:

    Al examinar el código, parece que hay un error tipográfico en el cálculo de dev_BB para la segunda Banda de Bollinger. En lugar de utilizar mult_BB, aún utiliza mult. Esto podría ser la razón por la cual la opción de segunda desviación estándar no funciona correctamente.

    Para solucionar esto, simplemente cambie esta línea:

    dev_BB = mult * ta.stdev(src_BB, length_BB)
    

    A:

    dev_BB = mult_BB * ta.stdev(src_BB, length_BB)
    

    Después de esta modificación, ambas Bandas de Bollinger deberían funcionar con sus respectivas desviaciones estándar.

Comments are closed.