为了保持一致性,应在每次计算时调用函数'ta.rsi'。建议从此范围中提取调用



我不太明白这个警告有什么问题。。。

第105行:为了一致性,应该在每次计算中调用函数"ta.crossover"。建议从此作用域提取调用。

第91行:为了一致性,应该在每次计算中调用函数"ta.rsi"。建议从此作用域提取调用。

第92行:为了一致性,每次计算都应该调用函数"ta.sma"。建议从此作用域提取调用。

第92行:为了一致性,应该在每次计算中调用函数"ta.stoch"。建议从此作用域提取调用。

第93行:为了一致性,应该在每次计算中调用函数"ta.sma"。建议从此作用域提取调用。

第94行:为了一致性,应该在每次计算中调用函数"ta.crossover"。建议从此作用域提取调用。

第97行:为了一致性,应该在每次计算中调用函数"ta.sma"。建议从此作用域提取调用。

第98行:为了一致性,应该在每次计算中调用函数"ta.stdev"。建议从此作用域提取调用。

这是我收到警告的部分:

如果haClose>haOpen和outema>超过

lookbackInput = input.int(50, "Lookback in bars", minval = 1, maxval = 4999)
smoothK = input.int(3, "K", minval=1, group="STOCH RSI")

smoothD=input.int(3,"D",minval=1,group="STOCH RSI"(

lengthRSI=input.int(14,"RSI长度",minval=1,group="STOCH RSI"(

lengthStoch=input.int(14,"随机长度",minval=1,group="STOCH RSI"(

对于i=0到lookbackInput by 1

rsi1 = ta.rsi(close[i], lengthRSI)        //line 91 warning
k = ta.sma (ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma (k, smoothD)
if ta.crossover (k, d) and (d < Lowerline)

断裂对于j=0到10乘1

basis := ta.sma(close[j], lengthBB)
dev := mult * ta.stdev(close[j], lengthBB)
lower := basis - dev

haClose:=(开[j]+高[j]+低[j]=关[j](/4haOpen:=浮动(na(

haOpen:=na(haOpen[j+1](?(打开[j]+关闭[j](/2:(nz(haOpen[j+1](+nz(ha close[j+1]((/2

haHigh := math.max(high[j], math.max(haOpen, haClose))

haLow:=math.min(low[j],math.min,haOpen,haClose(

if ta.crossover (haLow, lower)

LONG:=true//第105行警告

plotshape(长,style=shape.triangleup,location=location.belowbar,size=size.small,color=color.green(

我只是不太明白这个警告以及如何纠正它?

Pine函数中使用的系列变量的历史记录是通过对函数的每次连续调用创建的。

当您在本地作用域中调用此函数时,就会破坏该系列变量的历史一致性。请看这个。

为了解决这个问题,您可以在全局范围内执行这些函数。

最新更新