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

Pine Script策略报错求助:'strategy'输入不匹配问题排查

交易策略代码报错修复:MFI超卖+200EMA开仓策略

问题说明

编写的交易策略逻辑为:当MFI处于超卖区间(<20)且收盘价高于200周期EMA时开多仓;当MFI脱离超卖区间或收盘价跌破200EMA时平仓。但代码运行报错:第2行:输入'strategy'不匹配,预期'无续行符的行尾'。

报错原因

Pine Script v5对代码缩进有严格要求,if语句块内的执行代码必须缩进(通常为4个空格)。原代码中strategy.entry和strategy.close未缩进,导致语法解析器混乱,错误提示指向了无关的第2行。

修复后的完整代码

//@version=5
strategy("MFI Oversold Above 200 EMA")
// MFI超卖判断
mfi = money_flow_index(14)
oversold = mfi < 20
// 200周期EMA
ema200 = ema(close, 200)
// 开多仓条件:MFI超卖且收盘价在200EMA上方
if oversold and close > ema200
    strategy.entry("Long", strategy.long)
// 平仓条件:MFI脱离超卖区间或收盘价跌破200EMA
if not oversold or close < ema200
    strategy.close("Long")
// 绘制MFI指标
plot(mfi, title="MFI", color=color.yellow)
// 绘制200EMA
plot(ema200, title="200 EMA", color=color.blue)
// 绘制开仓信号
plot(oversold and close > ema200, title="Buy", style=plot.style_cross,
     color=color.green, linewidth=3)
// 绘制平仓信号
plot(not oversold or close < ema200, title="Sell", style=plot.style_cross,
     color=color.red, linewidth=3)

关键修复点

  • 给if语句块内的strategy.entry和strategy.close添加了4个空格的缩进,符合Pine Script v5的语法规范。
  • 错误提示指向第2行是解析器的误判,实际问题出在未缩进的代码块上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:50:32