同时间周期不同K线设置的图表如何同步显示指标标记
可行性结论
这个需求完全可以实现,实现逻辑比你预想的还简单,你之前搜不到方案核心是搜索方向走偏了,根本不需要做两张图表之间的信号同步。
实现方案
很多人第一反应会想怎么把Heikin Ashi图表上画的标记传到普通K线图上,这是完全走歪了——TradingView不同图表窗格默认是数据隔离的,硬做跨窗格通信反而会把简单问题搞复杂,正确的做法根本不需要碰另一张Heikin Ashi图表:
- 直接在你用的1分钟常规OHLC K线图的指标里,内置Heikin Ashi的数值计算逻辑,和平台自带Heikin Ashi K线的计算规则完全对齐,不需要切换K线类型就能拿到完全一致的HA数据,核心计算代码如下:
// 计算和平台内置规则完全一致的Heikin Ashi OHLC haClose = (open + high + low + close) / 4 haOpen = na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2 haHigh = math.max(high, haOpen, haClose) haLow = math.min(low, haOpen, haClose)
- 把你之前写在Heikin Ashi图表上的信号判定逻辑原封不动迁移过来,只是把原来判定用的普通OHLC变量,全部替换成上面算出的
haOpen/haHigh/haLow/haClose,判定条件不需要做任何修改。 - 判定触发多空信号时,直接在当前常规OHLC图表的对应K线位置绘制
shape.triangleup或shape.triangledown标记即可。 - 这样生成的标记,和你在单独Heikin Ashi图表上跑出来的信号时间、位置完全一致,而且因为标记是直接画在常规OHLC图表上的,同图表加载的其他独立指标、策略都可以直接调用这些信号,不存在跨图表数据隔离的问题。
搜索不到方案的原因
你之前大概率是用「跨图表同步指标标记」「多图表信号同步」这类关键词搜索的,从思路上就默认需要在两张图表之间传数据,自然找不到对应方案——Heikin Ashi本质只是基于原始OHLC做的一套数值换算规则,不是什么必须切换K线图表才能获取的特殊数据源,直接在当前图表就能算出完全一致的结果,根本不需要做“同步”这个动作。
内容的提问来源于stack exchange,提问作者Steven Ward
相关产品推荐
相关产品推荐

