用松木书写的双布林带编码



我正试图在tradingview中为标准偏差1和2用pine脚本编写一个Double Bollinger Bands脚本。尽管脚本本身在保存并添加到图表中的过程中不会产生任何错误。但它既不起作用,因为第二个标准差选项不起作用或保持不起作用。我的代码如下-

//@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))

请帮我解决这个问题。谢谢&当做

您有mult_BB输入,但它未使用。相反,在devdev_BB中都使用mult输入。因此,两对波段都乘以相同的数字,并且它们返回相同的值,并且在图表上重叠,即使为每个波段指定不同的乘数也是如此。更换以下部件应修复此问题:

Before:
dev_BB = mult * ta.stdev(src_BB, length_BB)
After:
dev_BB = mult_BB * ta.stdev(src_BB, length_BB)

最新更新