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

如何在Heikin Ashi图表上获取普通蜡烛图的真实高低点数值

解决代码

你需要通过security函数拉取独立于当前Heikin Ashi图表的原生K线数据,就能得到普通蜡烛的真实高低点。同时你提供的原始代码存在变量命名冲突、未定义变量的语法问题,以下是修复后可直接运行的完整代码:

//@version=4
study(title="ORB15 带5分钟普通K线高低点", shorttitle="ORB15_5mHL", overlay=true)

// 输入项设置
show_15m_orb_high = input(true, title="显示15分钟开盘区间高点")
show_15m_orb_low = input(true, title="显示15分钟开盘区间低点")
show_5m_regular_high = input(true, title="显示5分钟普通K线真实高点")
show_5m_regular_low = input(true, title="显示5分钟普通K线真实低点")

// 自定义函数:判断是否为指定周期的新K线
is_newbar(res) => change(time(res)) != 0 

// 获取指定周期的独立数据(不受当前Heikin Ashi图表影响)
fetch_data(res, src) => security(syminfo.tickerid, res, src, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)

// 15分钟ORB区间计算
daily_newbar = is_newbar('D')
orb_15_high = valuewhen(daily_newbar, fetch_data('15', high), 0)
orb_15_low = valuewhen(daily_newbar, fetch_data('15', low), 0)

// 5分钟普通K线真实高低点获取
[regular_5m_high, regular_5m_low] = fetch_data('5', [high, low])

// 绘制15分钟ORB区间
p_orb_high = plot(show_15m_orb_high ? orb_15_high : na, color = #009900, linewidth=2, title="15分钟ORB高点")
p_orb_low = plot(show_15m_orb_low ? orb_15_low : na, color = #ff0000, linewidth=2, title="15分钟ORB低点")
fill(p_orb_high, p_orb_low, color = color.new(color.white, 97), title="ORB区间填充")

// 绘制5分钟普通K线真实高低点
plot(show_5m_regular_high ? regular_5m_high : na, color = color.new(color.blue, 0), linewidth=1, title="5分钟普通K高点", style=plot.style_circles)
plot(show_5m_regular_low ? regular_5m_low : na, color = color.new(color.orange, 0), linewidth=1, title="5分钟普通K低点", style=plot.style_circles)

关键调整说明

  • 核心功能通过security函数的lookahead和gaps参数实现,直接拉取对应周期的原生蜡烛数据,完全不受当前Heikin Ashi图表的数值影响
  • 修复了原代码中变量重名、未定义变量的语法错误,可直接复制使用
  • 5分钟普通K线高低点默认用圆点标注,你可以修改style、linewidth参数调整显示样式
  • 完全保留了你原有15分钟ORB区间的绘制和填充逻辑,兼容原有需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:09:03