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

请求修改EMA 150指标代码:EMA线穿K线时添加圆形标记

EMA与K线交叉的标记实现方案

要实现EMA线穿过K线时添加圆形标记,核心是判断EMA从K线价格区间(low到high)的一侧穿越到另一侧的瞬间,具体代码如下:

study(title="EMA 150 with Cross Markers", overlay=true)

// 计算150周期EMA
longer = ema(close, 150)
// 获取前一根K线对应的EMA值
longer_prev = longer[1]

// 判断EMA完全穿过K线的两种情况
cross_up = (longer_prev < low[1] and longer > high)  // EMA从K线下方穿到上方
cross_down = (longer_prev > high[1] and longer < low)  // EMA从K线上方穿到下方

// 绘制EMA线
plot(longer, color = aqua)

// 在交叉位置绘制圆形标记
plotshape(cross_up, title="Cross Up", location=location.belowbar, color=color.green, style=shape.circle, size=size.small)
plotshape(cross_down, title="Cross Down", location=location.abovebar, color=color.red, style=shape.circle, size=size.small)

关键逻辑说明:

  • longer_prev = longer[1]:通过索引获取前一根K线的EMA值,用于对比当前EMA的位置变化。
  • 交叉条件:判断EMA是否从K线区间的一侧完全进入另一侧,确保捕捉到“穿过”的瞬间而非EMA停留在K线区间内的情况。
  • plotshape:根据交叉方向绘制不同颜色的圆形标记,上穿标记在K线下方(绿色),下穿标记在K线上方(红色)。

如果需要捕捉EMA穿过K线实体(而非完全穿越整个K线)的场景,可替换交叉条件为:

// 穿过K线实体的上穿
cross_up_body = (longer_prev < close[1] and longer > open)
// 穿过K线实体的下穿
cross_down_body = (longer_prev > open[1] and longer < close)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:57:16