Pine script 松树脚本语言非常奇怪的行为?

Pine script 松树脚本语言非常奇怪的行为?,pine-script,Pine Script,我的程序中有一个简单的脚本不起作用: eurgbp = security("EURGBP",tf,src,lookahead=barmerge.lookahead_on) var float EUR = 0 // >>>>>>>>>>>>>>>>>> Incremento % calc_incrP(src) => (100*(src-src[1])/src[1]

我的程序中有一个简单的脚本不起作用:

eurgbp = security("EURGBP",tf,src,lookahead=barmerge.lookahead_on)
var float EUR = 0

// >>>>>>>>>>>>>>>>>> Incremento %
calc_incrP(src) => (100*(src-src[1])/src[1])
if (mode == MO8)
    var float ROC_eur = 0
    ROC_eur := ROC_eur + calc_incrP(eurgbp) 
    EUR := ROC_eur
该程序无法计算“calc_incrP(欧元-英镑)”。即使用“roc(欧元英镑,1)”替换,我也总是得到“n.d.”

如果我替换:

    ROC_eur := ROC_eur + calc_incrP(eurgbp) 
与:

它起作用了

我不能继续我的计划来解决这个问题,在我看来,这个问题真的很荒谬。。怎么了

谢谢
Piero

在第一个栏上,没有
src[1]
因此它将返回
na

任何使用
na
的计算都将导致
na

您将其分配给
ROC\u eur
,因此它将始终是
na

试试这个:

calc_incrP(src) => na(src[1]) ? 0 : 100 * change(src) / src[1]
编辑1
这很有效

calc_incrP(src) => nz(100 * change(src) / src[1])

有趣的是,我用你的函数做了测试,但它总是返回n.d…你能编辑你的问题以包含整个脚本吗?这样我们可以更好地进行调查。完成后,不起作用的部分是“MO8=“%Increment”“其他一切都起作用搜索“//>>>>>>>>>>>>>>>>>>>Incremento%”行..在我的答案中添加了编辑1部分,具有工作功能。
calc_incrP(src) => nz(100 * change(src) / src[1])