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

如何用Pine Script实现多时间框架下相同长度EMA指标同屏展示

Pine Script 同参数多时间框架EMA实现方案

要实现同一参数的EMA在不同时间框架独立计算,核心是将EMA计算逻辑嵌入跨时间框架数据请求request.security()的内部,不要在当前图表周期完成计算后再做时间框架转换,否则所有EMA都会绑定当前图表的周期。


完整可运行代码

//@version=5
indicator("多时间框架同参数EMA", overlay=true)

// 公共参数设置
ema_len = input.int(20, title="EMA长度", minval=1)
bar_merge_setting = barmerge.lookahead_off // 禁用未来数据,避免信号漂移

// 各时间框架20EMA计算
ema_current = ta.ema(close, ema_len) // 当前图表周期(示例为1分钟)EMA
ema_10min = request.security(syminfo.tickerid, "10", ta.ema(close, ema_len), bar_merge_setting)
ema_60min = request.security(syminfo.tickerid, "60", ta.ema(close, ema_len), bar_merge_setting)
ema_240min = request.security(syminfo.tickerid, "240", ta.ema(close, ema_len), bar_merge_setting)
ema_1d = request.security(syminfo.tickerid, "D", ta.ema(close, ema_len), bar_merge_setting)
ema_1w = request.security(syminfo.tickerid, "W", ta.ema(close, ema_len), bar_merge_setting)

// 绘制指标线
plot(ema_current, color=color.new(color.blue, 0), title="1分钟EMA20", linewidth=2)
plot(ema_10min, color=color.new(color.green, 0), title="10分钟EMA20", linewidth=2)
plot(ema_60min, color=color.new(color.yellow, 0), title="60分钟EMA20", linewidth=2)
plot(ema_240min, color=color.new(color.orange, 0), title="240分钟EMA20", linewidth=2)
plot(ema_1d, color=color.new(color.red, 0), title="日线EMA20", linewidth=2)
plot(ema_1w, color=color.new(color.purple, 0), title="周线EMA20", linewidth=2)

注意事项

  • 时间框架参数遵循Pine Script规范:纯数字代表分钟(如"10"=10分钟),加后缀H代表小时、D代表日线、W代表周线、M代表月线,按需调整即可
  • 高时间框架的EMA在1分钟图表上显示为阶梯状是正常现象:高周期EMA值在对应周期的所有1分钟K线上保持一致,直到高周期K线走完才会更新数值
  • 若不需要某个时间框架的EMA,直接删除对应计算和绘图代码即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:15:03