我在使用 Pine 脚本时遇到 TradingView 的“行尾没有继续”错误

问题描述 投票:0回答:2

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

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

val(s) =>
     if s != s[1] 
     a = s-s[1]
     if s = s[1]
     a
    a
pine-script
2个回答
11
投票

当 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 个 Tab)或其倍数。
  • 当我们修复这两点时,代码将变为:

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

不匹配的输入“行尾没有行继续”需要“)”

0
投票

© www.soinside.com 2019 - 2024. All rights reserved.