我有一个用版本2编写的pinescript。我正在尝试将其转换为版本4。 在版本2中,我有类似下面的内容。我正在做的是声明两个变量persistent_bull和persistent_bear。
在脚本中完成一些工作之后,我用值初始化了此变量。 我检查是否印有牛市。如果已经打印出一头牛,我将变量persistent_bear = 0和persistent_bull = 0设为零。反之亦然。
在印刷标志时,我会检查并显示。
我在将其转换为版本4时遇到问题。请问有人可以为我正确转换吗?
persistent_bull = nz(persistent_bull[1],0)
persistent_bear = nz(persistent_bear[1],0)
bull = ....certain condition ....
bear = ....certain condition ....
if bull
persistent_bull := 1
persistent_bear := 0
if bear
persistent_bull := 0
persistent_bear := 1
plotshape( bull and (persistent_bull[1] != 1 or bear), style=shape.labelup, location=location.belowbar, color=colorBuy, text="Buy", textcolor=#000000, transp=0)
plotshape( bear and (persistent_bear[1] != 1 or bull), style=shape.labeldown, color=colorSell, text="Sell", location=location.abovebar, textcolor =#ffffff, transp=0)
答案 0 :(得分:1)
将前两行替换为:
var persistent_bull = 0
var persistent_bear = 0
答案 1 :(得分:1)
从pine版本3开始,必须在实际使用变量之前对其进行定义。因此,通过设置一些值来定义它们:
persistent_bull = 0
persistent_bear = 0
然后从上一个柱线值更改其值。请注意,此处使用:=
运算符而不是=
persistent_bull := nz(persistent_bull[1],0)
persistent_bear := nz(persistent_bear[1],0)
Luc的命题简短而简洁,但是需要对代码进行一些其他更改(例如,在if bull
/ if bear
语句之前绘制形状)