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])
if (mode == MO8)
var float ROC_eur = 0
ROC_eur := ROC_eur + calc_incrP(eurgbp) 
EUR := ROC_eur

程序无法计算&;calc_incrP (eur gbp)&;甚至用"roc (eurgbp, 1)"我总是得到" nd .">

如果我替换:

ROC_eur := ROC_eur + calc_incrP(eurgbp) 

:

ROC_eur := ROC_eur + 0.001        //0.001 for example, it works with any number

它. .我无法继续我的程序,因为这个问题在我看来实在是太荒谬了。怎么了?

谢谢的皮耶罗

在第一个栏中,没有src[1],因此它将返回na
任何计算na都会得到na
您将其分配给ROC_eur,因此将始终是na

试试这个:

calc_incrP(src) => na(src[1]) ? 0 : 100 * change(src) / src[1]

编辑1
可以了。

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

最新更新