MACD柱子为什么差一倍:柱值乘2与不乘2的核对
如果DIF和DEA都一致,柱子恰好差一倍,可能只是一个输出差值,另一个输出两倍差值。本例末行差值柱约负零点一零三八零三,二倍柱约负零点二零七六零五。乘二不新增价格信息,也不改变正负号或零点。若两条线本身已不同,就不能仅用显示倍数解释全部差异。
为了比较柱值,必须先固定哪几条线?
本文使用合成收盘价十、十一、九、十二、十三、十、十一,快周期二、慢周期四、信号周期三,特意选短周期便于展开。两条价格EMA都以第一项收盘十初始化,更新权重分别为三分之二与五分之二。DIF等于快EMA减慢EMA;信号线DEA以首个DIF零初始化,后续更新权重二分之一。
这些是本文明确规定的初始化与参数,不对应某个平台默认设置,也不把短周期示范替换成常见长周期后继续沿用结果。柱值比较必须建立在线值已经一致的前提上,不能用倍数去掩盖EMA起点、预热长度或收盘字段不同。
七个价格怎样产生两种柱值?
EMA更新统一写成「上期值加权重乘本期价格与上期值之差」。按顺序更新快慢线,得到DIF,再更新DEA,最后算柱值。差值柱为DIF−DEA,二倍柱为2×(DIF−DEA),括号不能漏。
| 序号 | 收盘 | 快EMA | 慢EMA | DIF | DEA | 差值柱 | 二倍柱 |
|---|---|---|---|---|---|---|---|
| 1 | 10 | 10.000000 | 10.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 2 | 11 | 10.666667 | 10.400000 | 0.266667 | 0.133333 | 0.133333 | 0.266667 |
| 3 | 9 | 9.555556 | 9.840000 | -0.284444 | -0.075556 | -0.208889 | -0.417778 |
| 4 | 12 | 11.185185 | 10.704000 | 0.481185 | 0.202815 | 0.278370 | 0.556741 |
| 5 | 13 | 12.395062 | 11.622400 | 0.772662 | 0.487738 | 0.284923 | 0.569847 |
| 6 | 10 | 10.798354 | 10.973440 | -0.175086 | 0.156326 | -0.331412 | -0.662824 |
| 7 | 11 | 10.932785 | 10.984064 | -0.051279 | 0.052523 | -0.103803 | -0.207605 |
第一行两条EMA同为十,DIF与DEA均为零,两种柱都是零;此处不能拿二倍柱除差值柱检验倍率,因为分母零。后续非零行则可逐行验证二倍关系。第三行与第六行负柱也应按同样倍数扩大,不能只对正数乘二、负数保持原样。
乘二究竟改变什么,保持什么?
改变的是纵轴数值与单位尺度。若以一个固定绝对阈值判断柱高,阈值也应按同一比例换算,否则已经不是同一条件。保持的是符号、精确零点、任意两根柱的大小次序,以及在同一尺度内的相对倍数。本文不讨论这些特征怎样用于交易,只说明显示变换的数学性质。
截图里还可能采用自动纵轴缩放,即使数值差一倍,视觉柱高也几乎一样;反过来,数值一样而纵轴范围不同,柱高也可能看着不同。核验必须导出数值和列定义,不能以像素高度作为唯一依据。显示颜色也属于界面约定,不能用颜色猜公式是否乘二。
如果差额不是严格一倍,应当查哪里?
先对齐每行时间戳与价格,再比较快慢EMA。若两条EMA第一行已经不同,检查种子;如果前面一致、后面分叉,检查是否新价格或更新权重不同。快慢线一致而DEA不同,则查信号周期、种子与是否把信号线写成简单均线。只有DIF和DEA逐行一致,剩下才是柱定义和显示精度问题。
还要核对差值方向。DEA−DIF与DIF−DEA相反,并不只是乘二。把快慢周期写反同样会改变DIF符号。若某实现把百分比归一化后再画柱,尺度可能与价格水平相关,不能继续用固定两倍解释。列名清晰,比用同一个MACD标签笼统指整套输出更方便排错。
舍入后看到接近零的柱,能否判断线已经相等?
不能仅凭显示为零。完整差值可能是一个很小的正数或负数,缩成两位后都显示零。若先对DIF和DEA分别舍入再相减,还可能与先相减最后舍入不同。本文所有列都保留未舍入值计算,只在表格显示六位,避免让格式处理改变递推链。
若业务需要判断数值接近,应声明容差与价格单位。把价格从元换成分,DIF、DEA和柱值都同比例放大,容差也要相应换算;不能把绝对数值变大误读成多了新的行情信息。零价格差的边界与非零小数误差应该分别记录,避免所有接近零都被归为初始化异常。
版本核对与复现报告应该怎样写?
注明输入价格、周期、权重、首值、信号线更新顺序、柱公式及输出精度。引用开源实现时写清版本,运行测试时才记录实际调用参数与结果。本文没有调用第三方指标库,标准库程序直接复算上述定义,因此可以用作理解显示倍数的独立实验,不能冒称复现了某个软件的全部默认行为。
读者可以先用这七个价格复算,再替换自己的数据,观察最早偏离的中间量。相关夏普工具不计算MACD柱;柱值尺度统一也不是交易策略通过验证。确认算法一致只是数据研究的一步,不保证后续使用方式有效。
从二倍柱反推原始差值,有什么局限?
在未舍入、仅乘二的条件下除以二即可恢复差值,但不能单凭差值恢复DIF与DEA两条线,因为许多线值组合都可以产生同一个差。若导出文件只留柱值,事后无法检查问题究竟出在快慢线还是信号线。应保留三列中间量,而不是认为柱子相同就证明全部算法相同。
若柱值已经截成整数,除二也无法找回丢失的小数精度。图表上的历史数字还可能在重新加载后采用更多预热数据而变化,须保存当时的数据起点和版本。显示倍率是这篇受控实验的唯一变化,真实差异若来自预热,不能套一个倍数就结束核对。
向外提供数据时,列名可直接标记差值柱或二倍差值柱,同时附单位。以后换图表库时让呈现层选择尺度,底层保留完整差值,就能减少某处已经乘二、另一处又乘一次造成的四倍错误。
在哪里继续核对基础概念?
概念背景见本站已有文章;相关基础核算工具提供其界面列明的计算。本文扩展实验依靠上面的独立输入和表格复现,不把全部情景视为工具已有功能。
道积君编辑组|AI辅助起草,构造算例经程序复算。本文数据、价格及规则假设均为教学构造,不是实盘或历史记录;仅用于投资教育,不推荐具体产品,不提供交易信号,不预测或保证收益。
来源核对:TA-Lib v0.6.4源码目录。核对日:2026-10-23。来源用于公式和概念比对,本文自定实验不冒称第三方软件运行结果;真实产品适用条件需查相应有效文件。
复算资料
本篇编号为DJ054。可下载Python核算脚本(文本)与完整输入输出JSON,对照文中表格复算。脚本文件改存为.py后可用Python运行;数据均为构造教学样本。