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

Pine Script交易脚本报错:Mismatched input 'if' expecting 'end of line...'

问题诊断与修复

你这段Pine Script代码的报错原因很明确:

  • 最后一个分支的语法错误:else 后面不能直接跟条件判断,必须用 else if 来定义新的条件分支
  • 另外你写的 crossunder(CrossToPlotD, CrossToPlotD) 逻辑完全无效——同一个变量不可能和自身发生下穿,这明显是笔误,应该是想判断 CrossToPlotD 下穿 CrossToPlotN

修复后的代码如下:

if ((CrossToPlotN > 40) and (CrossToPlotD < -40))
    strategy.entry("Buy", strategy.long)
else if ((CrossToPlotN < -40) and (CrossToPlotD > 40))
    strategy.entry("Sell", strategy.short)
else if (crossunder(CrossToPlotN, CrossToPlotD))
    strategy.close("CloseBuy", strategy.long)
else if (crossunder(CrossToPlotD, CrossToPlotN))
    strategy.close("CloseShort", strategy.short)
补充提示
  • Pine Script的条件分支规则:if 开头,后续分支必须用 else if,else 只能作为没有条件的兜底分支
  • 使用 crossunder/crossover 时注意参数顺序,crossunder(a, b) 指的是a从上方下穿b,别搞反变量位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:55:20