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

Bas*_*mad 5 tradingview-api pine-script

我在Pine Script中使用此代码,但收到“输入不匹配'a'期望'行尾无连续行'”错误。

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

val(s) =>
     if s != s[1] 
     a = s-s[1]
     if s = s[1]
     a
    a
Run Code Online (Sandbox Code Playgroud)

Jur*_*ura 5

“行尾没有延续”的错误发生时,有一个在TradingView松代码的缩进错误。

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

val(s) =>
     if s != s[1] 
     a = s-s[1]
     if s = s[1]
     a
    a
Run Code Online (Sandbox Code Playgroud)

这段代码有两个缩进问题:

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

当我们修复这两点时,代码变为:

val(s) =>
    if s != s[1] 
        a = s-s[1]
    if s == s[1]
        a
    a
Run Code Online (Sandbox Code Playgroud)

(请注意,我还在此处用相等=运算符替换了赋值运算==符。)


由于变量的原因,上面的代码还会触发“未声明的标识符”错误a:它在您的函数中声明之前使用。我不确定您是否也想要修复,或者您发布的功能代码只是更大功能的一部分。

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

val(s) =>
    a = 0.0
    if s != s[1] 
        a := s-s[1]
    if s == s[1]
        a
    a
Run Code Online (Sandbox Code Playgroud)