Skip to content
全部期权指南
交易技巧 · 图表机制10 分钟阅读

Heikin-Ashi(平均K线):公式、合成价格与实际成交

了解 Heikin-Ashi K 线如何平滑价格柱,为何其 OHLC(开高低收)数值并非实际交易价格,以及如何区分视觉信号与订单执行

本指南内容区分 K 线形态与实际交易价格

简短摘要

Heikin-Ashi K 线利用常规价格柱数据,通过递归平均公式进行计算。 其平滑的实体形态有助于更直观地解读价格走势,但由此得出的开盘价、最高价、最低价和收盘价仅为图表数值,而非另一组实际交易数据。 在计算单根 K 线并观察合成影线(wick)可能出现的位置时,务必将信号逻辑与可执行价格区分开来。

区分 K 线形态与实际交易价格

标准K线(candle)记录了某一时段(bar)内的开盘价、最高价、最低价和收盘价。 Heikin-Ashi(HA)则对这些数值进行了转换:其收盘价取当前普通OHLC(开高低收)的平均值,而其开盘价则取决于前一根HA线的开盘价与收盘价。 这种递归计算减少了K线之间视觉上的剧烈波动,但也意味着HA线无法精确反映实际的交易轨迹。 TradingView将HA数值视为平均值而非实际价格,并指出在确定精确的入场和出场点位时,这些数值的精确度较低。 应将该显示方式用于呈现特定的平滑规则,而不应将这种合成数值误标为市场的最新成交价、支撑位或实际可成交价格。 {source:tradingViewHeikinAshiGuide}

基于正确输入计算各项数值

对于当前的普通K线(包含开盘价 O、最高价 H、最低价 L 和收盘价 C),应用公式 HA_Close = (O + H + L + C) / 4。 接着进行递归计算 HA_High = max(H, HA_Open, HA_Close) 和 HA_Low = min(L, HA_Open, HA_Close)(基于 HA_Open = (previous HA_Open + previous HA_Close) / 2)。 当前的收盘价计算使用当前K线的 OHLC 数据;当前的开盘价则沿用前一根 HA K线的状态。 根据常规颜色规则,看涨的 HA 实体意味着 HA_Close > HA_Open,但这并不一定意味着该普通K线本身的收盘价高于其开盘价。 该公式确定了四个派生数值;图表可能会根据前一收盘价提供单独的颜色显示,因此请注意您当前参考的是哪种颜色规则。

利用价格跳空(gap)示例识别合成影线

假设前一根 HA(平均K线)的开盘价为 100,收盘价为 102。当前 K 线(实际价格)在前一根 K 线收于 108 之后开盘于 110,最高触及 112,最低跌至 109,最终收于 111。 此时,HA 的开盘价为 (100 + 102) / 2 = 101,收盘价为 (110 + 112 + 109 + 111) / 4 = 110.5,最高价为 112,最低价为 min(109, 101, 110.5) = 101。 尽管实际 K 线的最低价仅为 109,但 HA 的影线却延伸到了 101,这是因为其递归计算出的开盘价构成了合成最低价的一部分。 因此,HA K 线曾触及 101 这一事实,并不意味着当时有订单能在该价位成交。 {source:tradingViewHeikinAshiGuide}

将该示例向后推进一步,以观察递归过程的延续。以前一根 K 线的 HA 开盘价(101)和 HA 收盘价(110.5)作为前置状态,考察下一根实际 K 线(O=114, H=116, L=113.5, C=115)。该 K 线的 HA 开盘价为 (101 + 110.5) / 2 = 105.75,HA 收盘价为 (114 + 116 + 113.5 + 115) / 4 = 114.625,且其 HA 最低价等于上述合成开盘价。该实际 K 线的交易仅发生在上述最低价与最高价之间。因此,继承而来的合成开盘价在 K 线实际最低价下方形成了一段影线;这是一个计算得出的图表数值,而非实际观测到的交易价格。 {source:tradingViewHeikinAshiGuide}

两张并列的K线图表展示了对比:一张显示常规价格柱(存在价格跳空),另一张显示平滑处理后的平均K线(Heikin-Ashi),其递归计算得出的开盘价位延伸至常规价格柱的最低价下方
经过平滑处理的K线可能会在常规价格柱的实际交易区间之外的某个虚拟价位处显示影线

将平滑处理视为一种显示上的权衡

HA(Heiken Ashi)的递归开盘价计算方式如下:每一个新的 HA 开盘价都位于前一个 HA 开盘价与前一个 HA 收盘价的中点。 因此,在其他条件不变的情况下,前一个 HA 收盘价的变化会带动下一个 HA 开盘价发生相应一半幅度的变动。 通过对当前周期的 O(开盘价)、H(最高价)、L(最低价)和 C(收盘价)取平均值来计算 HA 收盘价,可能会导致其K线实体的颜色和大小与普通K线不同。 虽然这种方式可能更容易识别同色K线的连续走势,但这种平滑处理并不能消除价格跳空、交易成本、逆向选择风险或剧烈反转的可能性。 此外,它还会改变K线的位置,有时甚至会改变K线的波动范围。 视觉形态只是对这种转换后序列的一种描述;若没有经过单独验证的规则作为依据,它本身并不能证明价格走势将延续还是反转。

将颜色和影线形态视为描述性特征

颜色规则和影线形态可作为描述转换结果的简明标签。 例如,一些图表分析者将下影线极短或无下影线的看涨K线称为“强势上涨K线”。 该术语仅描述了绘制出的 HA(平均K线)数值;它并不意味着买方主导了每一笔交易,也不意味着应将止损位设在 HA 低点,更不保证下一根K线会遵循同样的形态。 交易平台既可以根据 HA 收盘价与 HA 开盘价的关系来设定K线颜色,也可以通过特定选项,将收盘价与前一根K线的收盘价进行比较。 这些不同的设置会导致相同的 OHLC(开高低收)数据呈现出不同的视觉效果。 在进行趋势连贯性(runs)、类十字星实体或影线变化等统计分析之前,务必明确颜色规则和K线计算公式。

确定价格柱、交易时段及初始化规则

HA 是基于K线构建的,因此基础时间周期和交易时段决定了哪些原始 OHLC 数值参与每次计算。 基于常规交易时段生成的5分钟K线,可能与包含盘前盘后交易(延长交易时段)的K线有所不同;日线边界则取决于交易所的日历和时区。 拆股、期货合约换月、K线缺失以及历史数据是否经过调整(复权),都会改变原始输入数据。 由于 HA 算法具有递归性质,初始种子值和加载的历史数据量可能会影响早期的计算结果;虽然种子值的影响会随着反复平均计算而逐渐减弱,但在进行结果可复现性验证时,不应忽略这一因素。 请记录交易品种、交易所、时间周期、交易时段、价格调整方式、历史数据起始点以及平台采用的 HA 惯例。 在常规K线收盘之前,当前K线的数值可能会发生变化。 {source:tradingViewPineChartInformation}

区分图表信号与回测成交结果

在 Heikin-Ashi(平均K线)图表上,Pine 策略可以设定 fill_orders_on_standard_ohlc 参数。该参数默认值为 false;若设为 true,经纪商模拟器将使用标准 OHLC 数据进行模拟成交。这仅会改变模拟成交价格。基于 Heikin-Ashi 图表数值生成的信号仍将使用合成数值,且该设置不会将 Renko(砖形图)、Kagi(卡吉图)或其他非标准图表转换为标准价格图表。TradingView 提示,若不进行此设置,针对非标准图表的回测可能会使用合成 OHLC 数据进行成交,从而无法真实反映市场状况。 {source:tradingViewNonstandardChartBacktesting} {source:tradingViewPineStrategyDeclaration}

基于实际价格编写可执行规则

分两个阶段编写规则。 首先说明 HA 序列的作用:例如,HA 收盘价高于 HA 开盘价(且该 K 线已完成)可用作入场条件的过滤依据。 随后,利用实际市场价格定义订单:包括提交时间、订单类型、触发源、可接受价格、平仓条件、仓位大小、跳空(gap)处理方式及交易成本。 如果订单是基于 HA 最低价设置的止损单,应将该思路转化为基于可交易原始价格的规则,而非假设市场上存在该合成价格水平。 将该策略与常规 OHLC(开高低收)执行方式及合适的基准策略在同一时间段内进行对比;在开发过程中进行决策时,应采用按时间顺序划分的样本外测试(holdout)或步进式(walk-forward)评估方法。 图表形态更平滑并不意味着执行效果更佳或未来表现更好。

常见问题

Q1Heikin-Ashi(平均K线)价格是实际价格吗?

不是。HA的OHLC值是根据普通K线和前一个HA状态推导出来的。 标准的市场价格仍然是决定订单能否成交的基础。

Q2我可以在Heikin-Ashi最低价处设置止损单吗?

您可以编写引用该数值的策略,但HA最低价处未必发生过实际交易。 应使用实际价格来定义止损及其触发条件,并对价格缺口及执行情况进行建模。

Q3使用标准OHLC进行成交能否消除Heikin-Ashi回测中的所有偏差?

不能。虽然在支持该功能的HA策略中,它可以将模拟成交改为基于标准OHLC,但信号本身仍可能使用合成的HA数值。 这并不能预示未来的绩效或反映真实的成本。

资料来源与延伸阅读

报告问题

我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈

快速检查

读完指南后,用 3 道题检查一下

问题 1 / 3

问题 01

当前的 Heikin-Ashi(平均K线)收盘价是如何计算的?

选择答案即可查看解释

期权术语表

清楚解释从看涨、看跌和期权链到 IV、希腊字母、未平仓量与最大痛点等核心期权术语

浏览期权术语表