Pine Script问题:Donchian Channel叠加Bollinger Bands时后者不显示如何修复
Pine Script 指标叠加修复方案
错误原因
- Pine Script v5无
plot_bb、fill_bb内置方法,你误用了自定义命名的函数,直接使用通用的plot()、fill()函数即可完成布林带绘制 - 布林带绘图时错误调用了唐奇安通道的上下轨变量
upper、lower,没有使用你定义的布林带专属上下轨变量upper_bb、lower_bb - 两组指标的
length、basis变量重名,虽然不会直接报错但容易引发逻辑混淆,建议区分命名
修复后完整代码
//@version=5 indicator(title="Donchian + BB Combo", shorttitle="DC+BB", overlay=true, timeframe="", timeframe_gaps=true) // 唐奇安通道参数与计算 dc_length = input.int(20, minval=1, title="Donchian Length") dc_lower = ta.lowest(dc_length) dc_upper = ta.highest(dc_length) dc_basis = math.avg(dc_upper, dc_lower) // 绘制唐奇安通道 plot(dc_basis, "DC Basis", color=#FF6D00) u = plot(dc_upper, "DC Upper", color=#2962FF) l = plot(dc_lower, "DC Lower", color=#2962FF) fill(u, l, color=color.rgb(33, 150, 243, 95), title="DC Background") // 布林带参数与计算 bb_length = input.int(20, minval=1, title="BB Length") src = input(close, title="BB Source") mult = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev") bb_basis = ta.sma(src, bb_length) dev = mult * ta.stdev(src, bb_length) upper_bb = bb_basis + dev lower_bb = bb_basis - dev offset = input.int(0, "BB Offset", minval = -500, maxval = 500) // 绘制布林带 plot(bb_basis, "BB Basis", color=#E91E63, offset = offset) p1 = plot(upper_bb, "BB Upper", color=#F44336, offset = offset) p2 = plot(lower_bb, "BB Lower", color=#F44336, offset = offset) fill(p1, p2, title = "BB Background", color=color.rgb(244, 67, 54, 90))
注:已调整布林带的颜色参数,和唐奇安通道做了视觉区分,可根据需求自行修改色值。
内容的提问来源于stack exchange,提问作者Krishnendu Bhattacharyya
相关产品推荐
相关产品推荐

