把 ADX 读成看涨或看跌
它是一个没有正负号的强度度量。暴跌途中的高读数,和暴涨途中的高读数一样高,这正是它总要与带方向的东西搭配使用的原因。
ADX 指标在 0 到 100 的刻度上衡量趋势的强度,但不指明方向。EA 把它当作行情状态过滤器:趋势策略等待高读数,均值回归策略等待低读数。
亦称:ADX, Average Directional Movement Index, DMI
更新于
一个数字,告诉你市场朝一个方向走得有多强,却不告诉你是哪个方向。数值低意味着它没有特别往哪儿去;数值高意味着它正在往某处去,而方向的正负号必须从别处取得。
大多数 EA 失败,并不是因为入场逻辑本身错了,而是因为那套逻辑在一种行情里正确、在另一种行情里错误。ADX 是让策略对「自己此刻身处哪一种行情」形成判断的最廉价方式,这也正是它作为过滤器出现的次数远多于作为信号出现的原因。
| 设置项 | 常见取值 | 备注 |
|---|---|---|
| 周期 | 14 | 约定俗成的默认值。周期越短反应越快,穿越阈值也越频繁,而且是双向都更频繁。 |
| 趋势阈值 | 20–25 | 高于此处便启用趋势跟随逻辑。确切数值并不如它相对于相邻数值的稳定性重要。 |
| 区间阈值 | 低于 20 | 网格与均值回归 EA 通常要求满足这一条件之后才开仓。 |
| 强趋势 | 高于 40 | 在这里,逆趋势入场和均值回归入场通常会被完全封锁。 |
| 读取的时间周期 | 入场周期或更高一级 | 读取更高一级的周期会给出更慢、更稳的状态信号,代价是反应更迟。 |
一条入场规则,两个状态过滤器,条件正好相反。规则本身不变;变的是它被允许触发的时机。
状态过滤器可测量的效果,通常是更小的回撤而不是更大的利润——它移除的是亏损,而不是添加盈利。
计算 if (adx[1] < TrendThreshold) return; // 趋势 EA 在区间行情里什么都不做
结果 一套在自己从来都不擅长的条件下选择弃权的策略
评判一个过滤器,要看它移除了什么。正确的比较,是同一套策略在同一段窗口上开启与关闭过滤器的两次运行,并且既要读净结果也要读回撤。
| 区间 | 含义 |
|---|---|
| ADX 低于 20 | 没有有效趋势。趋势跟随入场在这里的期望值最差,突破信号也大多失败。 |
| ADX 20–40 | 确有一段真实趋势正在进行。这是趋势逻辑通常的工作区间。 |
| ADX 高于 40 | 强趋势,而且往往已进入后段。趋势入场依然有效;逆趋势与网格策略此刻最危险。 |
| 按回测最佳值调出来的阈值 | 一个被拟合出来的参数。在相信它之前,先检查相邻的阈值是否给出相近的结果。 |
ADX 的 `/indicators` 页面讲的是计算方法与看图方式;本词条讲的则是它作为 EA 状态过滤器的用法。
它是一个没有正负号的强度度量。暴跌途中的高读数,和暴涨途中的高读数一样高,这正是它总要与带方向的东西搭配使用的原因。
如果 ADX 绝大部分时间都在阈值附近徘徊,过滤器就会不停切换,策略的行为将由噪声决定。阈值只有在被少次而果断地穿越时才是有用的。
任何过滤器都会移除成交,包括那些盈利的成交。检验标准在于它移除的亏损是否多于移除的盈利——而这是一次测量,不是一个假设。
ADX 在设计上被平滑了两次。缩短周期只会让它在两个方向上都更频繁地穿越阈值,通常带来的是来回打脸而不是更早的入场。