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

请求为Trend Meter脚本添加买卖信号形态并解决study函数报错

问题与解决方案

需求说明

需要在蜡烛图下方标注买入信号(向上三角形)、上方标注卖出信号(向下三角形),触发条件:

  • 买入:所有趋势条件为绿色(MSBar1PositiveWaveTrendSignal 和 TrendBars3Positive 同时为真),且当前价格低于EMA200
  • 卖出:所有趋势条件为红色(MSBar1NegativeWaveTrendSignal 和 TrendBars3Negative 同时为真),且当前价格低于EMA200

报错原因

报错 line 12: Could not find function or function reference 'study' 是因为Pine Script v5版本已移除study()函数,替换为indicator()。若原脚本基于v4编写,需将开头的study()改为indicator(),或在编辑器中切换到Pine Script v4环境。

修正后的代码

  1. 先确保脚本开头正确声明指标(以v5为例):
indicator("Trend Meter with Signals", overlay=true)
  1. 计算EMA200及价格低于EMA200的条件:
ema200 = ta.ema(close, 200)
priceBelowEma200 = close < ema200
  1. 修正买入/卖出信号的plotshape语法(原代码中:为错误语法,需用? na控制信号显示逻辑):
// 买入信号:蜡烛下方绿色向上三角形
plotshape(MSBar1PositiveWaveTrendSignal and TrendBars3Positive and priceBelowEma200, 
     title="Buy", color=color.new(color.green, 0), location=location.belowbar, 
     style=shape.triangleup, size=size.normal)

// 卖出信号:蜡烛上方红色向下三角形
plotshape(MSBar1NegativeWaveTrendSignal and TrendBars3Negative and priceBelowEma200, 
     title="Sell", color=color.new(color.red, 0), location=location.abovebar, 
     style=shape.triangledown, size=size.normal)

注意事项

  • 需确保原脚本中的MSBar1PositiveWaveTrendSignal、TrendBars3Positive、MSBar1NegativeWaveTrendSignal、TrendBars3Negative变量已正确定义,否则会出现变量未找到的报错
  • 若使用Pine Script v4,将indicator()换回study(),ta.ema()改为ema()即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:45:46