← 返回文章库

同一行情ADX数值不同:Wilder平滑与EMA逐步复算

2026-10-23 · L3

同一段行情的ADX不相同,先核对平滑系数与种子。本实验周期均写三期,但Wilder更新权重为三分之一,EMA权重为二分之一;在相同输入和相同第一层初始均值下,末行ADX分别约二十八点七零与四十点四六。周期标签相同,并不代表递推公式相同。本文比较算法,不根据指标数值给出买卖含义。

什么条件被固定,什么条件被改变?

全部开高低收是合成价格,单位统一为元。第一根作为前一日比较基准,开十、高十一、低九、收十。后十根列在下表,开盘价只保留作完整行情说明,不进入方向变动和真实波幅公式。两组共同采用前三个有效原始值的算术均值作为第一层平滑种子;各自前三个有效DX的均值作为ADX种子;这一层种子会因前面DX已经不同而不同。只改变两层递推采用的更新权重。

这个初始化专门服务于受控比较,不宣称与任何商业软件或开源库默认完全一致。对照真实实现时,还需检查首个有效输出位置、是否使用求和种子、预热长度与相等方向的处理。本文的两组都从同一个起点出发,才能将后续差异定位到权重变化,而非起点不同。

原始TR和方向变动怎样产生?

每根TR取当日高减低、当日高与前收之差的绝对值、当日低与前收之差的绝对值三者最大。向上变动为当高减前高,向下变动为前低减当低;仅保留较大且为正的一侧,另一侧为零,相等时两侧都零。不能把同一根内的上下波动同时全部计入方向变动。

序号开高低收TR正DM负DM
210121011210
311131012310
41212.59.5103.000.5
5101189301.5
69128.5113.510
711141013420
81313.511122.500
91212.59103.502
1010139.5123.50.50
1112141113310

二到四根的原始TR为二、三、三,种子均值为二点六六六七;正方向种子为三分之二,负方向种子为六分之一。两个算法在种子处完全相同,随后面对第五根较大的负向变动,EMA给新值更高权重,于是从这里开始出现不同的中间序列。

从平滑量到ADX的完整链条是什么?

先把平滑正负DM分别除以平滑TR,再乘一百得到两个方向比值;DX为两者差的绝对值除以两者和,再乘一百。两边公用的TR因子可在这个比值里约去,程序仍保留TR列,便于检查第一层计算。第一层不足三项时输出缺失,不拿零补齐;DX形成三项后才建立ADX种子。

序号W平滑TRW正DMW负DMW的DXEMA的DXW的ADXEMA的ADX后者减前者
2未形成未形成未形成未形成未形成未形成未形成未形成
3未形成未形成未形成未形成未形成未形成未形成未形成
42.6666670.6666670.16666760.00000060.000000未形成未形成未形成
52.7777780.4444440.61111115.78947442.857143未形成未形成未形成
63.0185190.6296300.40740721.42857123.07692332.40601541.9780229.572007
73.3456791.0864200.27160560.00000072.97297341.60401057.47549715.871487
83.0637860.7242800.18107060.00000072.97297347.73600765.22423517.488229
93.2091910.4828530.78738023.97408251.87969939.81536558.55196718.736602
103.3061270.4885690.5249203.58673611.60221027.73915535.0770897.337933
113.2040850.6590460.34994730.63444145.84450428.70425140.46079611.756546

W列表示本文Wilder权重方案。首个ADX出现在第六根,已经不是第一根价格的时点。表格给出两组DX及最终差额,内部保留完整小数,不在每一步先舍入。最后一行的差距不是图表缩放问题,因为中间DX已经发生变化;只把某条线乘常数,无法让每一行重新对齐。

更快的平滑是不是一定更准确?

不是。它只是对新数据赋予不同权重,回答了不同的平滑问题。EMA在变化后更快移动,也可能对短暂变化更敏感;不能用一次构造样本的高低认定哪种算法预测更准。本文没有检验预测能力,也没有交易收益、成本或风险统计。

把所有价格整体平移相同常数,高低差及与前收差应保持,方向变动和TR不变;将价格整体乘一个正数,这些价格量同比例放大,方向比值和ADX则应保持。这样的单位条件变化是独立排错方法:如果把元换成分后ADX也扩大一百倍,问题在单位处理,不是行情突然增强。

两个平台对不上时,从哪一行开始查?

按原始高低收、前收、原始TR与DM、平滑种子、有效输出位置、递推权重依次比较。最早不同的一层往往比末行差多少更有诊断意义。若原始数据已经不同,就不应继续把差额全归因于Wilder和EMA;复权、缺失行、时区与未收盘价格都可能先改变输入。

还要区分「显示为零」与「尚未形成」。未形成的窗口没有足够数据,若被软件用零填充,下一层平滑种子也会被改变。保存缺失状态,等有效序列满足数量后再初始化,才能复现本表。若真实软件另有约定,应记录那一约定,而不是拿本文条件去强迫它匹配。

TA-Lib固定版本源码可用于阅读相关实现,本文没有调用该库运行本例,复算来自公开列明的自定算法。相关夏普工具只涉及它界面提供的基础统计,不能用于计算本文ADX或代替逐层核对。数值一致性检验也不代表指标能预测未来。

比较过程中怎样避免把求和种子与均值种子混起来?

方向比值的分子分母若始终采用同一倍率,部分比例计算可以约去这个倍率,但后续更新必须与种子形式配套。用均值种子却套求和更新,会让新原始量权重不一致;用求和种子却套均值更新也同样会改变路径。对照时先写出递推式,而不是只记住一个平滑名称。

本文两方案都采用均值状态,更新明确是旧状态乘一减权重,加新原始值乘权重。若对方采用求和状态,应先转换为相同状态量再比较,不要在数值相差周期倍数时立即判错。这个区别只涉及表示形式,是否等价要逐行检查更新关系。

另一个检查是方向量都为零时如何处理DX。本文约定分母为零则返回零,再按已说明规则平滑,不把它当成足够数据之前的缺失。缺失与真实零的区分会影响第一次ADX种子,因此也应写进实验配置。

在哪里继续核对基础概念?

概念背景见本站已有文章;相关基础核算工具提供其界面列明的计算。本文扩展实验依靠上面的独立输入和表格复现,不把全部情景视为工具已有功能。

道积君编辑组|AI辅助起草,构造算例经程序复算。本文数据、价格及规则假设均为教学构造,不是实盘或历史记录;仅用于投资教育,不推荐具体产品,不提供交易信号,不预测或保证收益。

来源核对:TA-Lib v0.6.4 ADX源码。核对日:2026-10-23。来源用于公式和概念比对,本文自定实验不冒称第三方软件运行结果;真实产品适用条件需查相应有效文件。

复算资料

本篇编号为DJ051。可下载Python核算脚本(文本)与完整输入输出JSON,对照文中表格复算。脚本文件改存为.py后可用Python运行;数据均为构造教学样本。

这个页面有问题?

提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。