Pine Script添加布林带警报报side effects相关错误如何解决
错误原因
- 你的
indicator声明中保留了多时间帧相关参数timeframe=""和timeframe_gaps=true,只要启用了多时间帧配置,Pine Script就会禁止脚本使用带副作用的函数,alert()就属于这类函数,这是报错的直接原因。你之前只删除timeframe参数但保留timeframe_gaps的操作无法解决问题,需要两个参数都删掉。 - 你原来的触发条件
ta.crossover(volume,lower)是判断成交量上穿布林带下轨,和你需求的「价格上穿布林带下轨」不符,需要将第一个参数替换为close。
修复后完整代码
//@version=5 indicator(shorttitle="BB_WMA", title="Bollinger Bands WMA", overlay=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.wma(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)) //Buy Alert BAlert = ta.crossover(close,lower) if BAlert alert("Buy", alert.freq_once_per_bar)
内容的提问来源于stack exchange,提问作者Muyrakitan
相关产品推荐
相关产品推荐

