You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何出现"Syntax error at input '('"语法错误?如何解决?

解决Pine Script语法错误"Syntax error at input '('"

错误原因

你的代码存在两个核心问题:

  1. strategy.entry参数未指定名称:函数调用的第三个参数直接写了strategy.equity/close,但Pine Script要求必须明确参数名(比如qty或size),编译器无法识别无名称参数的用途,进而触发括号位置的语法错误。
  2. if语句逻辑结构混乱:两个并列的if没有合理嵌套,会导致逻辑不符合预期——你应该是想在longEntry条件满足且无持仓时才开仓,而非两个独立判断。

修正后的代码

//@version=5
strategy("Fix Example", overlay=true)

// 替换为你实际的longEntry判断条件
longEntry = close > ta.sma(close, 20)

if longEntry
    if strategy.position_size == 0
        // 明确指定qty参数,定义开仓数量
        strategy.entry(id = "Long", direction = strategy.long, qty = strategy.equity / close)

关键修正说明

  • 给持仓量参数添加qty =前缀,让编译器正确识别该参数的作用,解决语法解析错误。
  • 将第二个if缩进嵌套在第一个if内部,确保开仓逻辑符合“条件满足且无持仓”的预期。
  • 补充版本声明//@version=5,避免版本兼容问题。

内容的提问来源于stack exchange,提问作者Eduardo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:45:56