我想了解以下pinescript指标代码- https://www.tradingview.com/script/XzcIRUHv-JMA-RSX-Clone-LazyBear/
我不知道什么样的价值观像F90,F88保持变量。 他们是预定义的捷径别的东西? 他们似乎因为它们与指数曾经是数组。 例如:
f90_ = (nz(f90_[1]) == 0.0) ? 1.0 : (nz(f88[1]) <= nz(f90_[1])) ? nz(f88[1])+1 : nz(f90_[1])+1
我想了解以下pinescript指标代码- https://www.tradingview.com/script/XzcIRUHv-JMA-RSX-Clone-LazyBear/
我不知道什么样的价值观像F90,F88保持变量。 他们是预定义的捷径别的东西? 他们似乎因为它们与指数曾经是数组。 例如:
f90_ = (nz(f90_[1]) == 0.0) ? 1.0 : (nz(f88[1]) <= nz(f90_[1])) ? nz(f88[1])+1 : nz(f90_[1])+1
他们没有内置变量。
pine-script
版本1和2让您访问与变量[]
结合 nz()
即使该变量尚未宣布。 因此,下面是版本1和版本2有效:
f90_ = (nz(f90_[1]) == 0.0) ? 1.0 : (nz(f88[1]) <= nz(f90_[1])) ? nz(f88[1])+1 : nz(f90_[1])+1
如果试图在此//@version=3
,你会得到一个未声明的标识符错误。
让我们缩短了代码如下:
//@version=2
study(title="JMA RSX Clone [LazyBear]", shorttitle="RSXC_LB", overlay=false)
length=input(14)
f90_ = (nz(f90_[1]) == 0.0) ? 1.0 : (nz(f88[1]) <= nz(f90_[1])) ? nz(f88[1])+1 : nz(f90_[1])+1
f88 = (nz(f90_[1]) == 0.0) and (length-1 >= 5) ? length-1.0 : 5.0
plot(f90_, title="f90", color=orange, linewidth=4)
plot(f88, title="f88", color=red, linewidth=4)
让我们看看会发生什么f90_
和f88
的第一个栏 。
f90_ = (nz(f90_[1]) == 0.0) ? 1.0 : (nz(f88[1]) <= nz(f90_[1])) ? nz(f88[1])+1 : nz(f90_[1])+1
这里的条件是(nz(f90_[1]) == 0.0)
f90_[1]
基本上是问一个先前条的值,但是这是第一条(还记得吗?),所以没有以前的值。 所以,答案是NaN(非数字)。
现在,如果你把这个nz()
它会返回零 。 由于nz()
代替NaN值零 。
所以条件将是第一条真实的, f90_
将被分配到1.0。
让我们来看看f88
现在,再次为第一个栏 。
f88 = (nz(f90_[1]) == 0.0) and (length-1 >= 5) ? length-1.0 : 5.0
这里的第一个条件是(nz(f90_[1]) == 0.0)
这应返回true
的,因为上述同样的理由。
第二个条件是(length-1 >= 5)
这也应为默认输入(14)返回true。
那么, f88
将被分配到14-1 = 13为第一条。
我想你可以从这里继续。 尝试运行我提供的短代码,看看图表。