首页 > 解决方案 > 如何从版本 2 转换为版本而不会在 pinescript 中出现未清除的 indentiier 错误?

问题描述

尝试从版本 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]'.

我该如何解决?

标签: pine-script

解决方案


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

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

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


推荐阅读