将 pine 脚本 v2 转换为 v3

conversion pine script v2 to v3

这是我的代码。

isBuyPlotted=isBuyPlotted[1]==true?true:nz(buySetup[MAXSIGNALDELAY+1])==9?true:false or nz(buySetup)==9?false:buySignal[1]==true  // init

buySignal=nz(buySetup[MAXSIGNALDELAY])>9-MAXSIGNALDELAY and close>nz(high[1]) and nz(close[1])>nz(open[1]) and nz(close)>nz(open) and not isBuyPlotted

我尝试将pine 2版修改为3版

isBuyPlotted=0.0
isBuyPlotted:=isBuyPlotted[1]==true?true:nz(buySetup[MAXSIGNALDELAY+1])==9?true:false or nz(buySetup)==9?false:buySignal[1]==true  // init
buySignal=0.0
buySignal:=nz(buySetup[MAXSIGNALDELAY])>9-MAXSIGNALDELAY and close>nz(high[1]) and nz(close[1])>nz(open[1]) and nz(close)>nz(open) and not isBuyPlotted

但是这个错误发生了。 变量 buySignal 声明为 float 类型。无法为其分配类型为 series[bool]

的表达式

这两个变量在原始代码中都是 bool 类型,但您已将它们声明为 float。这就是错误消息告诉您的内容。

改为:

isBuyPlotted=false
buySignal=false
isBuyPlotted:=isBuyPlotted[1]==true?true:nz(buySetup[MAXSIGNALDELAY+1])==9?true:false or nz(buySetup)==9?false:buySignal[1]==true  // init
buySignal:=nz(buySetup[MAXSIGNALDELAY])>9-MAXSIGNALDELAY and close>nz(high[1]) and nz(close[1])>nz(open[1]) and nz(close)>nz(open) and not isBuyPlotted