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

Pine Script v4策略运行提示未声明标识符'buy'、'sell'错误如何处理

错误原因
  • 代码中plot(Buy, color=color.green)、plot(Sell, color=color.red)调用的Buy、Sell属于未提前声明定义的变量,因此触发未声明标识符报错
  • strategy.entry()的第一个参数仅为订单名称字符串,和后续plot调用的变量无关联,系统无法通过订单名称匹配到对应变量
  • 代码存在冗余:重复写了两次完全相同的plot语句,属于无效代码
修复方案

需要先将多空触发条件提取为独立的布尔变量,再将变量传入plot相关函数即可,修复后的完整代码如下:

//@version=4 
strategy("Sagargy1") 
fast=20
slow=50 
fastMA= ema(close, fast) 
slowMA= ema(close, slow)
// 定义多空触发条件变量
buyCondition = close > close[1] and fastMA > slowMA and close > vwap
sellCondition = close < close[1] and fastMA < slowMA and close < vwap

strategy.entry("Buy", strategy.long, when=buyCondition) 
strategy.entry("Sell", strategy.short, 10, when=sellCondition) 
// 绘制信号(用plotshape在K线上下标注更直观,也可替换为普通plot)
plotshape(buyCondition, title="做多信号", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellCondition, title="做空信号", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

如果需要保留原来的线式绘制逻辑,可以将绘图部分替换为:

plot(buyCondition ? 1 : na, color=color.green)
plot(sellCondition ? 1 : na, color=color.red)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:27:03