VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime

DMI 动向指标:+DI、−DI 与两线交叉

DMI 动向指标画出 +DI 与 −DI 两条线,分别显示近期价格的推进有多少是向上、有多少是向下。交易者关注的是哪一条线在上方,以及两条线在哪里交叉。本页专讲这两条线和它们的交叉:如何计算、为什么交叉只是主导权换手而不是趋势成立的证明,以及策略生成器如何在你自己的品种上验证交叉规则。趋势强度本身,请参阅 ADX 页面。

类别趋势
输出+DI 与 −DI 两条趋向线多绘制在独立副图,常与 ADX 放在一起
在 AlphaPrime 中内置的生成器指标类别主导方向过滤、交叉入场与单线拐头出场

它衡量什么

动向指标(Directional Movement Index,简称 DMI)是一组比较价格向上延伸与向下延伸的两条线。正向趋向线 +DI 在 K 线不断突破前一根高点时上升;负向趋向线 −DI 在 K 线不断跌破前一根低点时上升。J. Welles Wilder 在七十年代后期出版的著作《New Concepts in Technical Trading Systems》中提出了趋向变动的概念,同一本书也把 抛物线指标 SAR 和平均真实波幅带给了交易者。ADX 是之后再由这两条线推导出来的,所以三条线常被画在一起。

用文字说明计算方式,它是逐根 K 线往下算的。先量当根高点比前一根高点多涨了多少,再量当根低点比前一根低点多跌了多少。两者之中只保留较大的一边,而且必须是正值;另一边在这根 K 线记为零。内包 K 线既没有越过前高、也没有跌破前低,对两边都不计入。接着把向上与向下的延伸量,用 Wilder 自己那种缓慢递推的平均方式在回看周期内平滑,再各自除以同一段周期内平滑后的真实波幅。把两边都换算成真实波幅的比例,才让这两条线能在价位与最小变动价值差异很大的品种之间相互比较。

因为两条线以同一个真实波幅为基准,它们描述的是比例,而不是价格。+DI 在 −DI 之上,说明近期 K 线向上延伸得比向下多;两条线交换位置,就意味着主导权换手。两线之间的距离反映近期走势有多一边倒,距离缩小则说明领先的一方开始失去控制。这两条线没有告诉你的,是这种主导权能维持多久,而这正是 ADX 被设计来回答的问题。

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

在真实市场中的表现

DMI 最常见的误用,是把 +DI/−DI 交叉当成趋势已经确认。交叉只说明在回看周期内,一方的延伸量刚好超过另一方。它可能来自单独一根长 K 线、来自开盘跳空,或者只是领先的一方退潮、另一方几乎没动。许多交叉发生时两条线都在低位、彼此贴近,这种状态下其实没有哪一方真正在推动。把这种交叉当作趋势起点,还按趋势单的规模下单,往往恰好在趋向力量最弱的时候建立仓位。更好的读法,是把交叉当成仍需佐证的主导权换手:接下来几根 K 线两线是否拉开、ADX 是否上升、价格是否突破关键价位。

趋向力量偏弱时,两条线会相互缠绕。在平静的区间里,多数 K 线与相邻 K 线重叠,两边的延伸量都很小,平滑后的两条线逐渐靠拢,每一个小波动都能让其中一条略微领先。结果就是一连串方向交替的交叉,每一次都推翻上一次,跟着每次翻转进出的交叉系统,每一趟都回吐一点。Wilder 本人在信号上就配了止损:买入信号以信号 K 线的低点作为初始止损,卖出信号则以该 K 线的高点作为初始止损。只要这个价位守住,即使两线又交叉回去,信号仍然有效;决定出场的是止损,而不是每一次反向交叉。要求两线之间保持最小距离、交叉后再延续几根 K 线,或者加上独立的市场状态判断,是减少这类来回翻转的常见做法。

回看周期的选择,是在交叉出现得多早与交叉出现得多频繁之间取舍。周期较短,两条线对近期延伸反应快,交叉来得早,但在震荡行情中翻转更频繁。周期较长,线条更平滑,在趋势中能保持更久的分离、减少来回洗盘,代价是交叉往往在拐点之后很久才出现。由于同一个设置同时驱动两条线,它也会改变两线通常相隔多远,因此任何距离阈值都要和回看周期一起确定,不能分开设置。K 线周期同样有影响:在日内图上,一次开盘跳空就可能主导平滑结果;在日线上,两条线则移动得较慢。在你实际交易的品种与时间框架上比较几种回看周期,比直接套用教科书的默认值更有参考价值。

常见用法(思路)

主导方向过滤

只顺着领先的那条线交易

不直接对交叉本身采取行动,而是看状态:+DI 在 −DI 之上时才允许做多规则,−DI 领先时才允许做空规则。这样 DMI 就成为另一个入场信号的方向过滤,例如 唐奇安通道 的突破,而不必对每一次翻转都做出反应。

交叉加确认

交叉之后还要有延续

把交叉当成候选,而不是信号。入场要等新的领先线再多上升一两根 K 线,或等价格越过交叉那根 K 线的极值。交叉后立刻反转的情况就不会变成交易,前面提到的来回洗盘因此可以去掉一大部分。

领先线转弱

领先线拐头向下时出场

持有多单时,不必等到完整交叉,直接盯住 +DI。当领先线转为下降、−DI 开始上升,说明向上的推力正在流失,可以把止损收紧。止损距离以 ATR 换算,能让它与当前的波动幅度相称。

与其他类别指标搭配

最自然的搭档是 ADX,因为它就是由这两条线计算出来的。DMI 说明哪一方领先,ADX 说明这种领先是否持续。ADX 从低位上升时出现的交叉,和 ADX 低位走平时出现的交叉,是两种不同的事件;把两者区分开,是处理前面所说交叉问题最简单的方法。

再加一个较慢的方向参考也有帮助。用 均线 的斜率决定只做哪一边,DMI 只用来在这个方向上把握入场时机,逆着斜率的交叉一律忽略。Aroon 指标 则从另一个角度提供检验:它看的是高点与低点出现得有多近,而不是 K 线延伸了多远。

避免把 DMI 和测量几乎同一件事的工具叠加使用。Vortex 指标 同样比较相邻 K 线之间的向上与向下推力,它的交叉常常和 DMI 的交叉同时出现,提供的新信息很少。把 DMI 与波动率指标或价位突破搭配,规则才会得到一个独立的第二意见,而不是回声。

在 AlphaPrime 中

在 AlphaPrime 中,DMI 是策略生成器内置的条件组,名称为“动向指标 DMI”。可调整的输入是指标周期,也就是同时驱动 +DI 与 −DI 的回看周期。有代表性的条件包括描述主导权的“+DI 高于 −DI”“+DI 低于 −DI”,描述交叉的“+DI 向上穿越 −DI”“+DI 向下穿越 −DI”,以及单看其中一条线斜率的“+DI 上升”“−DI 下降”“+DI 转为上升”。

这些条件让策略生成器去验证本页提出的问题,而不是先假设答案。它可以把交叉用作入场、把主导状态用作另一个入场信号的过滤,或把领先线拐头用作出场,并把每一种用法与其他指标类别的规则组合。GPU 并行回测所有候选组合;你可以设置样本外检验门槛,筛出在从未见过的数据上依然站得住的组合,而不是只在某一段趋势行情里有效的组合,那正是交叉规则最容易显得比实际更好的时候。

通过验证的组合可以导出为交易平台的策略代码,DMI 条件会和其他入场与出场规则一起完整写出,你可以阅读逻辑、模拟运行,再决定是否实际交易。

常见问题

DMI 和 ADX 有什么不同?

DMI 是 +DI 与 −DI 这一组趋向线,告诉你哪一方延伸得更多。ADX 则由两条线之间的差距相对于两者总和的比例推导、再经过一次平滑,衡量的是这种领先有多持续,不区分方向。许多交易者用 DMI 看方向、用 ADX 看强度。

+DI 向上穿越 −DI,是否意味着上升趋势已经开始?

仅凭交叉还不能这么说。它只表示在回看周期内,向上延伸刚刚超过向下延伸。在区间行情里,这种情况会反复出现,后面却没有趋势跟上。等两条线拉开、等 ADX 上升,或等价格越过交叉那根 K 线的高点,才让这个交叉有足够的背景再采取行动。

用 DMI 做的策略能在交易平台上运行吗?

可以。由 DMI 条件组成的组合通过样本外验证后,会导出为交易平台的策略代码,你可以在平台上查看条件、模拟运行,再决定是否上线。