Pine 脚本错误:为了保持一致性,应在每次计算中调用函数"sma"



我一直收到这个错误-

为了保持一致性,应在每次计算中调用函数"sma"。建议从三元运算符或作用域中提取调用。

这是我正在使用的松木脚本-

//@version=4
study(title="niceCROSS (Ichimoku Base Line & SMMA)", shorttitle="niceCROSS", overlay=true)
basePeriods = input(26, minval=1, title="Base Line Periods")
donchian(len) => avg(lowest(len), highest(len))
baseLine = donchian(basePeriods)
plot(baseLine, color=color.purple, title="Base Line")
len = input(5, minval=1, title="SMMA Length")
src1 = input(close, title="Source")
smma = 0.0
smma := na(smma[1]) ? sma(src1, len) : (smma[1] * (len - 1) + src1) / len
plot(smma, color=color.lime, title="SMMA")

如果可能的话,请帮我重写。非常感谢。

这不是一个错误,而是一个警告,所以它不会阻止您运行脚本。在这个特定的代码中,sma()函数只在图表的第一条上调用一次,因此SMA的计算一致性无关紧要,警告可以忽略。但如果你想消除错误,你可以将SMA移动到全局范围,如下所示:

<...>
sma = sma(src1, len)
smma := na(smma[1]) ? sma : (smma[1] * (len - 1) + src1) / len
plot(smma, color=color.lime, title="SMMA")

最新更新