Pine script 应在每次计算时调用该函数以确保一致性。建议从三元运算符或范围中提取调用

Pine script 应在每次计算时调用该函数以确保一致性。建议从三元运算符或范围中提取调用,pine-script,Pine Script,我在pine脚本中遇到一个错误:-为了一致性,每次计算都应该调用函数“#f2”。建议从三元运算符或范围中提取调用。 这是函数:-方差(src,p)=>p==1?0:Sma(src*src,p)-pow(Sma(src,p),2) 操作时间序列数据的函数不应位于if语句或三元语句中。只需将函数作为单独的变量移出: Variance(src,p) => sma_a = sma(src*src,p) sma_b = sma(src,p) return = p == 1

我在pine脚本中遇到一个错误:-为了一致性,每次计算都应该调用函数“#f2”。建议从三元运算符或范围中提取调用。 这是函数:-方差(src,p)=>p==1?0:Sma(src*src,p)-pow(Sma(src,p),2)


操作时间序列数据的函数不应位于if语句或三元语句中。只需将函数作为单独的变量移出:


Variance(src,p) => 
    sma_a = sma(src*src,p)
    sma_b = sma(src,p)
    return = p == 1 ? 0 : sma_a - pow(sma_b,2)
    return
这假设您在if或三元函数或其他范围之外调用函数。 如果没有,则为函数设置一个变量:

variance = Variance(a,b)

然后根据需要在逻辑中使用该变量。

它解决了错误,但脚本无法运行。请给出完整的代码。请告诉我为什么使用“return”两次我不理解请回答我无法给出完整的代码我没有编写代码。只是告诉你如何解决它。Return是一个可以命名任何内容的变量。把它放在函数的底部表示函数返回的就是这个结果。谢谢,我知道了
variance = Variance(a,b)