在松脚本中添加系列和浮动总是 returns n/a

Addition of series and float always returns n/a in pine script

基本示例

var cur_val = 0.0
cur_val:= cur_val + (close/close[1])

cur_val 将是 n/a,这是为什么?

使用 var 保存一个值并 := 将其设置为另一个值。在 运行 时间,第一个柱上的语句 (close/close[1]) returns na,因此有效计算结果为:

cur_val = 0.0 + na

var 保留值,我们将其设置为 na

避免这种情况的一种方法是删除 var,或者将 cur_val:= cur_val + (close/close[1]) 放在 if 语句的局部范围内以进行赋值有条件的新值

干杯!

我遇到了类似的问题,但没弄明白... 不起作用(下面的解决方案):

myLow() => 
    result = low
    result := low < result[1] ? low : result[1] // just infinitely copies n/a
    result

mMyLow = myLow()

plot(mMyLow)
plotchar(mMyLow, title='myLow', char='')

解决方案:使用函数 na() 检测 n/a(n/a 可能来自第一个柱)

putMyLow() => 
    result = low
    if not na(result[1])
        result := low < result[1] ? low : result[1]
    else
        low
    result

mMyLow = putMyLow()

plot(mMyLow)
plotchar(mMyLow, title='myLow', char='')