我用Pine Script在TradingView中出现了“end of line without continuation”的错误。

10
我正在Pine Script中使用此代码,但遇到了“mismatched input 'a' expecting 'end of line without line continuation'”错误。
如何使用此函数代码修复该错误?
val(s) =>
     if s != s[1] 
     a = s-s[1]
     if s = s[1]
     a
    a
1个回答

10

当TradingView Pine代码存在缩进错误时,会出现'end of line without continuation' error

查看您的代码(并假设将其复制到StackOverflow中),确实存在缩进问题:

val(s) =>
     if s != s[1] 
     a = s-s[1]
     if s = s[1]
     a
    a

此代码存在两个缩进问题:

  • 函数的前4行缩进了5个空格(或1个制表符加一个空格)。但是在TradingView Pine中,函数代码行需要缩进4个空格(或1个制表符)。
  • if语句后面的两行没有缩进。但它们确实需要缩进:缩进4个空格(或1个制表符或其倍数)。

当我们解决这两个问题之后,代码变为:

val(s) =>
    if s != s[1] 
        a = s-s[1]
    if s == s[1]
        a
    a

(请注意,我在这里还用==运算符替换了=赋值运算符以表示相等。)
上面的代码也会触发'未声明的标识符'错误,因为a变量在函数中被使用之前被声明。我不确定您是否希望修复此问题,或者您发布的函数代码只是更大函数的一部分。
但是,如果您还想修复“未声明的标识符”错误,可以将函数代码更改为:
val(s) =>
    a = 0.0
    if s != s[1] 
        a := s-s[1]
    if s == s[1]
        a
    a

亲爱的,当 s == s[1] 时,我得到了 0,所以当 s != s[1] 时,我可以得到 a 的最后一个值。 - Bassel Alahmad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接