VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime

HalfTrend 半趋势指标:守住上一个波段位置的阶梯式趋势线

HalfTrend 在价格图上画出一条阶梯状的线。上涨段中,它守住这段行情一路守住的最高波段低点,只有当近期 K 线的低点抬高到它上方时才上移一阶;下跌段中,它守住最低的波段高点,一阶一阶往下移。只有当 K 线整体、而不是单根影线,已经穿过这个守住的位置,并且有收盘价确认时,这条线才会翻转;线的周围还画有一条按近期波动计算的通道。本页说明它如何构建、与 超级趋势线 有何不同、期货交易者如何使用它,以及策略生成器如何在你自己的品种上测试它。

类别趋势
又称Half Trend
输出一条阶梯线,外加围绕它的通道画在价格图上
在 AlphaPrime 中内置的生成器指标类别翻转、阶梯、波段与通道条件

它衡量什么

HalfTrend 是一条趋势跟踪线,它由价格结构画出,而不是由收盘价的均值算出。它一次只说明一件事:市场处在上涨段还是下跌段,以及这一段行情到目前为止守住的位置在哪里。这个指标的起源没有清楚的文献记载,它以免费分享的脚本形式在看盘社区中流传开来,本页按照一个广为流传的公开版本来说明。

这个公开版本的计算可以拆成几个简单步骤。它先回看一段较短的区间,称为振幅,记下区间内的最高价、最低价,以及高点的简单平均和低点的简单平均。趋势向上时,它持续记录这些近期最低价中最高的那一个;这个守住的位置就是那条线,所以线只能上移或持平,不会下移。趋势要翻空,必须在同一根 K 线上同时发生两件事:近期高点的平均已经跌破守住的位置,而且收盘价低于前一根 K 线的低点。此时线不会跳动,而是停在原来的位置,价格此时已落到线的下方;接着整个过程反过来运作:守住近期最高价中最低的那一个,只有当近期低点的平均站上它、并且收盘价突破前一根 K 线的高点时才翻多。线的周围画有一条通道,通道与线的距离,是在一段较长区间内测得的平均真实波幅的一半,再乘以一个选定的倍数。

这带来两个结果。第一,线与价格的距离由结构决定,而不是由波动决定:在稳定的上涨段中,它紧贴在最近一个守住的低点下方,只有当市场做出更高的低点时才会移动。第二,翻转需要的不只是触碰。一根影线刺穿线,甚至一根收盘价站到线的另一侧,只要区间平均仍在趋势那一侧,都不足以翻转。通道则把这段走势换算成波动的尺度。当价格穿过守住位置的幅度超过通道宽度,说明相对于这个品种近期的波动,这次突破足够大,规则也可以要求先出现这种更大的突破再采取行动。

概念示意图(非真实行情数据)

在真实市场中的表现

与 超级趋势线 相比,区别在于波动从哪里进入。超级趋势线把线放在离 K 线中点若干倍 ATR 的位置,所以波动突然放大后,线会拉开,离价格更远。HalfTrend 的线则不管波动如何变化,都停在上一个守住的波段极值上,波动只决定围绕它的通道宽度。在干净的趋势里,这会形成一层一层的平台,中间以单个台阶相连,每一层平台都是市场守住的一个更高低点或更低高点。回调只要守在平台之上,判读就不变;而且翻转还要求区间平均一起穿越,所以短暂的急拉急跌刺穿线,通常不会结束这一段行情。

参数如何设置,重点主要在振幅。区间较短,平均值反应较快,线上移下移更频繁、翻转也更早,代价是有更多在几根 K 线内就反转回来的翻转。区间较长,守住的位置和平均值都变慢,线能跟住更长的波段,但翻转前回吐的幅度也更大。在公开版本中,通道的设置改变的是通道有多宽,而不是线何时翻转。所以想靠加宽通道来减少假信号,翻转的位置其实完全不会变,移动的只有以通道为基准的止损或过滤条件。更有意义的做法,是看翻转频率和波段长度在不同历史区段里是否保持一致,而不是挑一张图上看起来最干净的那组设置。

常见的误读有两种。第一种,是把每一次翻转都当成反转。在来回震荡的横盘行情里,高点平均和低点平均都在守住的位置附近徘徊,线翻过去又翻回来,图上满是交替出现的买入、卖出箭头。每一次翻转只代表守住的位置被小幅突破,并不标示顶部或底部;在区间里把每次翻转都当作新的进场,结果就是一连串小幅的来回打脸。统计近期翻转次数,或另外加一个横盘过滤,是常见的处理方式。第二种,是认为这条线会改写自己过去的位置。广为流传的公开版本只读取当根和之前的 K 线,不会用到之后的 K 线,翻转条件也包含收盘价,所以 K 线还在走的时候,翻转可能先出现,如果收盘没有确认又会消失。一旦 K 线收盘,那根 K 线上的翻转和线的位置就固定下来。用已收盘的 K 线判读信号,回测也用同样方式,问题就不存在了;看起来像重绘的现象,其实只是盘中那根 K 线还没走完。

常见用法(思路)

翻转信号

在确认后的翻转处进场

在收盘确认翻多的那根 K 线做多(此时线已在价格下方),在收盘确认翻空的那根 K 线做空。由于翻转本身已经要求区间平均和收盘价一致,单根影线的急拉急跌会被忽略;不过仍建议另外确认市场确实处于趋势中。

平台止损

把止损放在阶梯平台上

由其他规则进场之后,用这条线作为止损。它只在市场做出新的守住低点或高点时才移动,所以止损位于真实的结构下方,而不是固定距离;平坦的区段也显示出趋势在哪里经受过考验。

通道突破

要求突破到通道外侧

想要更严格的判读,可以只在收盘价穿过线另一侧的通道时才行动,或在上涨段的收盘跌破下通道时离场。要求走势超过一段按波动放大的距离,能过滤掉只是勉强穿过守住位置的翻转。

与其他类别指标搭配

HalfTrend 标出当前是哪一段行情,但不告诉你市场到底有没有趋势。震荡指数 或 ADX 可以决定它的翻转何时值得关注:市场有秩序、有方向时采用,横向漂移时先搁置,而横向漂移正是这条线来回翻转的时候。

由于它的线来自波段结构、通道来自 ATR,HalfTrend 很适合搭配以不同方式构建趋势的工具。赫尔移动平均线 提供平滑的斜率,可以确认线的方向,这个组合出现在社区分享的脚本中。唐奇安通道 突破可以负责进场时机,HalfTrend 则负责多空方向和离场。

把它和 超级趋势线 或 抛物线 SAR 叠在一起,增加的信息比看起来少:三者都是会换边的跟踪线,在大多数 K 线上判断一致。不过在同一个品种上比较它们仍然值得,因为可以看出这个市场更适合以结构为基准的跟踪、以波动为基准的跟踪,还是会加速的跟踪。

在 AlphaPrime 中

在 AlphaPrime 中,HalfTrend 是策略生成器的内置指标类别之一,在条件积木目录中列于「半趋势 HalfTrend」分组。可以调整的输入有:指标周期,也就是上面说明的振幅区间;ATR 长度,决定通道的宽度;以及通道偏离倍数,以半个 ATR 为单位设定通道离线多远。部分条件另有自己的设置,例如 K 线根数、上移次数或统计区间。

条件类型涵盖线本身、波段和通道。HalfTrend 买进信号(翻多)和 HalfTrend 卖出信号(翻空)标出翻转;HalfTrend 向上趋势和 HalfTrend 向下趋势表示状态;收盘高于或低于 HalfTrend 线或上下通道,读取价格所在的位置。另一些条件读取阶梯本身,例如 HalfTrend 线上移一阶、HalfTrend 线连续持平 N 根,以及 HalfTrend 向上段比上一段长。本页谈到的问题也都有对应的条件:HalfTrend 向上收盘跌破下通道、收盘上穿 HalfTrend 线但未翻多、HalfTrend 翻多条件就绪(收盘未确认),以及直接衡量来回震荡程度的 HalfTrend 近 W 根翻转至少 N 次。

策略生成器把这些条件与动量、波动、成交量、时段等类别交叉组合,在 GPU 上并行回测,再做样本外检验。你可以设定样本外检验门槛,筛出在没见过的数据上依然站得住的组合。通过检验的组合可以导出为交易平台可用的策略代码,供你查看内容,并继续在模拟环境中测试。

常见问题

HalfTrend 会不会重绘?

以已收盘的 K 线来看不会。广为流传的公开版本只读取当根和之前的 K 线,不会用到之后的 K 线,翻转也要收盘价确认,所以翻转可能在盘中那根 K 线上出现,又在收盘前消失。K 线收盘之后,线和那根 K 线上的翻转就不会再变。判读和测试都以已收盘的 K 线为准即可。

HalfTrend 参数怎么设?

没有一组设置适合所有品种。振幅决定线移动和翻转的速度:区间较短翻得更早、更频繁,区间较长能跟住更长的波段、反应更慢。通道设置只改变通道宽度,不影响翻转。比较几组设置在不同市场阶段的表现,保留样本外表现仍然相似的那几组。

HalfTrend 和超级趋势线有什么区别?

两者都是会换边的跟踪线。超级趋势线 把线放在离 K 线中点一段波动距离的位置,所以间距随 ATR 放大缩小。HalfTrend 守住上一个波段低点或高点,只有当区间平均穿过这个位置、并且收盘价跌破前一根 K 线低点(或突破前一根高点)时才翻转;波动只决定线周围的通道。