买还是卖,ADX(Average Directional Index,平均趋向指数)自己答不了。它过了 25,说的是眼下有一段强趋势:强的下跌趋势和强的上涨趋势,在这条线上都是高读数。
方向要看另外两条线:+DI 在 −DI 上方,趋势向上;−DI 在 +DI 上方,趋势向下。25 和 20 是指标设计者 Welles Wilder 留下的两个读数,20 以下趋势弱或者没有趋势;+DI 和 −DI 的交叉在 ADX 低于 25 时假信号最多。
1. 趋势是涨是跌要看 +DI 和 −DI 哪条在上
三条线各管一件事。按 StockCharts 的 ChartSchool 教程《Average Directional Index (ADX)》,+DI 和 −DI 量趋势方向,这两条合起来常被叫做 DMI(Directional Movement Indicator);ADX 由 +DI 与 −DI 之差的平滑平均得出,量趋势强度,不论方向。三条线一起用,才同时知道趋势往哪边走、走得有多强。
三条线不一定在同一个指标里。TradingView 帮助中心的 ADX 页说明,它的 ADX 指标自己不显示 +DI 和 −DI,要三条线一起看,可以用 Directional Movement Index(DMI)指标。这个 DMI 是 TradingView 上一个指标的名字,三条线都在里面;StockCharts 说的 DMI 只指 +DI、−DI 两条。
ADX 分不出涨跌,原因在它的上一步 DX 的算式里。TradingView 和 StockCharts 两页的公式里,DX 的全称也写作 Directional Movement Index,和 TradingView 那个三线指标同名;DX 是每根 K 线算出来的一个数,不是那个三线指标。算式是:
DX = 100 × |+DI − −DI| ÷ (+DI + −DI)
分子取的是绝对值。+DI 是 30、−DI 是 10,DX = 100 × 20 ÷ 40 = 50;两个数对调,+DI 10、−DI 30,DX 还是 50。前一种是多头占优,后一种是空头占优,DX 相同,ADX 是 DX 的平均,也就带不出方向。
教程里有一张 Nordstrom(JWN)配 14 日 ADX 的示例图:这只股票在 4 到 5 月间从强劲的上升趋势转成强劲的下跌趋势,ADX 一直留在 20 以上。
2. ADX 公式先算 +DM、−DM 和 TR,再做 14 期平滑
每根 K 线先出三个原始数。前两个是 +DM 和 −DM,TradingView 帮助中心 Average Directional Index (ADX) 页给的算式是:
- +DM:本根最高价 − 上一根最高价;
- −DM:上一根最低价 − 本根最低价。
+DM 和 −DM 每根只留一个:哪个差大留哪个,另一个记 0;留下的那个如果是负数,也记 0。整根缩在上一根高低点之内的 K 线,两个差都是负数,+DM 和 −DM 都是 0。
第三个数是 TR(True Range)。StockCharts 的教程说明,它和 ATR 真实波动幅度用的是同一种算法。TR 的取法是:本根最高到本根最低、本根最高到上一根收盘、本根最低到上一根收盘,三段距离里取最长的一段。
下面按 3 期来算,5 根 K 线就能把每一步走到 DX;Wilder 建议的周期是 14,算法相同,只是表要长得多。第 1 根没有上一根可比,只给第 2 根提供上一根的高、低、收:
| K 线序号 | 最高 | 最低 | 收盘 | 最高 − 上一根最高 | 上一根最低 − 最低 | +DM | −DM | TR |
|---|---|---|---|---|---|---|---|---|
| 1 | 2,642 | 2,638 | 2,640 | — | — | — | — | — |
| 2 | 2,646 | 2,640 | 2,644 | 4 | −2 | 4 | 0 | 6 |
| 3 | 2,648 | 2,637 | 2,647 | 2 | 3 | 0 | 3 | 11 |
| 4 | 2,653 | 2,646 | 2,651 | 5 | −9 | 5 | 0 | 7 |
| 5 | 2,655 | 2,653 | 2,654 | 2 | −7 | 2 | 0 | 4 |
第 3 根的最高、最低都越过了第 2 根,两个差都是正数,3 比 2 大,留下的是 −DM。第 5 根的最低价 2,653 也高过上一根收盘 2,651,自身高低只差 2,最高价离上一根收盘有 4,TR 记 4。
三个原始数都要做平滑,意思是让旧数据按固定比例逐期淡出。第一个值是前 N 期直接相加,之后每来一根:
新值 = 上一个值 − 上一个值 ÷ N + 本期原始数
表里 N 是 3。第 2 到第 4 根相加,+DM 合计 9,−DM 合计 3,TR 合计 24。用这样处理过的 +DM 除以处理过的 TR,再乘 100,是 +DI;−DI 同理:
- +DI = 100 × 9 ÷ 24 = 37.5,−DI = 100 × 3 ÷ 24 = 12.5;
- DX = 100 × (37.5 − 12.5) ÷ (37.5 + 12.5) = 50。
第 5 根进来走递推:+DM = 9 − 9 ÷ 3 + 2 = 8,−DM = 3 − 3 ÷ 3 + 0 = 2,TR = 24 − 24 ÷ 3 + 4 = 20。于是 +DI = 40,−DI = 10,DX = 100 × 30 ÷ 50 = 60。
ADX 是对 DX 再做一次平滑。回到 14 期:第一个 ADX 取前 14 个 DX 的平均,之后每期
ADX = (上一个 ADX × 13 + 本期 DX) ÷ 14
上一个 ADX 是 40,本期 +DI 30、−DI 20,DX = 100 × 10 ÷ 50 = 20,新的 ADX = (40 × 13 + 20) ÷ 14 ≈ 38.57。+DI 仍在 −DI 上方,ADX 却在下降,读成涨势还在、力度在减。
这样的递推一层套一层,起算点不同,读数就不同。StockCharts 的教程说,大约要 150 期数据才能得到真实的 ADX 值;只用 30 期历史数据算出来的 ADX,和用 150 期算出来的对不上,150 期以上才保持一致,复算要拿够这个数的 K 线。类似的平滑手法,Wilder 在 RSI 和 ATR 的计算里也用。
3. ADX 读数在 25 以上、20 以下和两者之间
这两个读数,TradingView 帮助中心和 StockCharts 都记在 Wilder 名下:
| 出处 | ADX 在 25 以上 | ADX 在 20 到 25 之间 | ADX 在 20 以下 |
|---|---|---|---|
| TradingView 帮助中心 | 趋势最强 | — | 趋势弱,或者价格被视为没有趋势 |
| StockCharts ChartSchool | 存在强趋势 | 看起来是一段灰色地带 | 没有趋势 |
TradingView 帮助中心把 25 以上称作潜在的买入信号,又把 ADX 说成判断趋势强度的工具,趋势往上走还是往下走都算。读数过了 25 只说明趋势强,这段趋势是涨是跌,要回到 +DI 和 −DI 上看。20 以下那一头,帮助中心的说法是可能不是进场的理想时机;市场没有跟着某个明确的趋势走,不代表价格不动,可能是正在转变,或者方向眼下还没出现。ADX 也应当和其他考察价格的指标、能帮着过滤信号和控制风险的指标合起来用。
按 StockCharts 的教程,ADX 最基本的用处是判断一个品种有没有趋势,好在趋势跟随的做法和非趋势跟随的做法之间选一种。不少技术分析者把 20 当成关键位,教程的一张示例图也用 20 代替 25 来筛信号,门槛设低一些,能出的信号更多。ADX 经过层层平滑,滞后不小。
有多慢可以代进递推式:上一个 ADX 是 15,此后 DX 连续四期都是 60,ADX 依次是 18.21、21.20、23.97、26.54,到第四期才过 25。
4. +DI 和 −DI 交叉了但 ADX 不到 25 算不算信号?
在 Wilder 自己的规则里不算。按 StockCharts 的转述,这套做法的第一个条件就是 ADX 在 25 以上,用来确认价格处在趋势之中;条件满足时,+DI 上穿 −DI 是买入信号,−DI 上穿 +DI 是卖出信号。趋势走出来以后的跟踪止损,教程提到可以用同样出自 Wilder 的抛物线 SAR 来设。
ADX 不到 25 时的交叉,按 TradingView 帮助中心的说法是假信号最多的地方:两条线的交叉可以相当频繁,太频繁的时候交易者很可能看乱,亏钱的可能也大,这类时刻就叫假信号。
原因可以在 DX 的算式里找。DX 的分子是 +DI 与 −DI 的差,ADX 低,是近一段的 DX 都小,两条线一直贴得近;贴得近的两条线,价格稍有来回就互相穿过。两条线交叉的前后,差接近 0,DX 也接近 0,又把 ADX 往下拉。
StockCharts 用 20 作门槛的那张示例图,画的是 Medco Health Solutions。图上 +DI 和 −DI 的交叉很多,有的发生在 ADX 高于 20 时,信号算数,有的不算数;2009 年 9 月的头一组来回反复,就出在一段盘整里。这类系统都会有来回反复,有很好的信号,也有坏信号,关键在于结合技术分析的其他方面。
把 ADX 门槛当过滤器也有代价。按 StockCharts 教程的说法,设了 ADX 条件,信号会变少,但这条被磨得很平的线滤掉的好信号和坏信号差不多一样多;分辨交叉信号的强弱,要到别处找佐证,成交量类指标、基本的趋势分析和图表形态都帮得上。
5. ADX 在 Wilder 手里最初的设定
ADX 指标是谁发明的?
ADX 出自 Welles Wilder。StockCharts 的教程介绍,他在 1978 年出版的《New Concepts in Technical Trading Systems》里讲了这组趋向指标,书里还收了 ATR、抛物线 SAR 和 RSI。+DI、−DI 和 ADX 三条线在他那里是一套交易系统,名字叫 Directional Movement System。
ADX 的参数 14 可以改吗?
可以改。StockCharts 的教程说明,这个参数可以按自己的分析需要调整,调整设置能提高灵敏度、多出一些信号;14 是 Wilder 建议的周期,教程的计算示例和它自家图表的默认值用的都是 14。周期管的是新旧数据的份额:周期 14 时,上一个 ADX 占 14 份里的 13 份,新的 DX 只占 1 份。
ADX 只能用在日线图上吗?
ADX 不限于日线,也不限于商品。按 TradingView 帮助中心的说法,它起初为商品的日线图设计,后来经过修改,可以用在其他市场和各种时间周期上。StockCharts 提醒,波动低的股票按 Wilder 的参数可能出不了信号,使用者大概要按品种的特点调整指标设置或信号参数。