6

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

如何使用此功能代码修复该错误?

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

1 回答 1

6

当TradingView Pine 代码中存在缩进错误时,会发生“没有继续的行结束”错误。

查看您的代码(并假设将其复制到 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 个 Tab)。
  • 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
于 2018-08-07T16:58:21.830 回答