如何从版本2转换到版本,而不会在pinescript中出现未清除的标识符错误



尝试从版本2转换到版本时在pine脚本中出现未声明的标识符错误。线路如下

src= close 
length1= 35 
length2= 20
siglength= 10 
ebc= false
calc_csf(src, length) => 
sm = 2.0/length
csf=(src - csf[1]) * sm + csf[1]
csf
i=(src/nz(src[1], src))*100

然而,它给了我

line 258: Undeclared identifier 'csf'

使用下面答案中的建议,我将其更改为低于

src= close 
length1= 35 
length2= 20
siglength= 10 
ebc= false

calc_csf(src, length) => 
sm = 2.0/length
csf = 0
csf := (src - nz(csf[1])) * sm + nz(csf[1])
csf
i=(src/nz(src[1], src))*100

然而,我得到了

Processing script...
Variable 'csf' was declared with 'series[integer]' type. Cannot assign it expression of type 'series[float]'.

我该如何解决这个问题?

如果没有更多的上下文,很难准确说出需要什么。你可以试试这个,但要确保你将结果与以前版本的输出进行比较:

csf = 0.
csf := (src - nz(csf[1])) * sm + nz(csf[1])

如果这不起作用,请发布更多上下文。

最新更新