我在Pine Script中遇到了TradingView的“行尾没有延续”错误

时间:2018-08-07 10:19:30

标签: tradingview-api pine-script

我在Pine Script中使用此代码,但出现“输入不匹配'a',期望'行尾没有行连续''错误。

如何使用此功能代码解决该错误?

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

1 个答案:

答案 0 :(得分:3)

在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个Tab加一个空格)。但是,在TradingView Pine中,函数的代码行需要缩进4个空格(或1个制表符)。
  • if语句后的两行未缩进。但它们确实必须是:具有4个空格(或1个制表符)或其倍数。

修复了这两点后,代码将变为:

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

(请注意,这里我还用=运算符将==赋值运算符替换为相等。)


上面的代码还由于a变量而触发了'undeclared identifier' error:它在之前中使用,在函数中声明。我不确定您是否还希望修复该问题,或者您发布的功能代码只是更大功能的一部分。

但是,如果您还想修复“未声明的标识符”错误,则可以将功能代码更改为:

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