增强版MACD背离副图指标:源码解析与实战应用
2026/9/6 14:54:17 网站建设 项目流程

简介:这是一份通达信副图指标公式源码文档,面向使用通达信软件进行股票技术分析的投资者与量化爱好者。它针对经典MACD指标进行增强,引入DIFF、DEA、MACD2、KDJ类判断等多层次信号,通过JC、SC交叉逻辑识别多头与空头背离,并利用高低点连线、顶底背离文字标记和风险警示,辅助用户捕捉买卖点,适合希望把MACD实战判断落到具体公式上的用户。资源为单个doc文件,约250KB,内含完整指标源码与逻辑说明,可直接复制到通达信公式编辑器中使用;文档保留了MACD、DIFF、DEA等基础指标的原理讲解,对公式语法不熟悉的读者也能按图索骥。预览可见SJ周期调整、MACD背离画线、DRAWTEXT顶底背离提示等关键代码段,方便拆解背离检测与风险预警的构造方法。已有1186人学习/下载。读者拿到后既能直接部署副图指标,也能通过源码学习背离识别、条件选股和画线标记的实现思路,便于按自身交易习惯修改参数或扩展信号。 MACD这个指标,用的人很多,但真正能靠它稳定判断买卖点的没几个。原因很简单:原版MACD只有金叉死叉和红绿柱,行情一震荡,信号满天飞,今天金叉明天就死叉,等你跟进往往就是接盘。我去年花了不少时间整理了一套增强版MACD背离副图指标,把顶背离、底背离、金叉死叉、动能衰竭这几个信号全部用公式写死,直接标在副图上。这篇文章就把完整源码、背后的识别逻辑、安装步骤和实战中踩过的坑都拆开讲清楚,给还在跟MACD死磕的朋友做个参考。

1. 这个增强版MACD背离副图,到底增强在哪

先说核心功能。这套副图指标是在原版MACD基础上,用通达信公式语言做了三层增强:第一层是自动画出DIF和DEA线,保留金叉死叉的基础信号;第二层是把顶背离和底背离用图标和文字直接标注出来,不用再肉眼对比K线高低点和MACD柱的对应关系;第三层是额外显示动能柱的面积变化,用来辅助判断背离信号是否有效。

很多人在网上找过背离指标,下载下来装上发现要么信号太少、要么乱标一气。这套指标的思路不一样,它把背离识别分成“极值确认”和“动能验证”两步走:先用转折函数确认最近两个波峰或者波谷的位置,再对比这两个位置对应的价格和DIF值,只有价格创新高但DIF没创新高,才标记为顶背离,反过来就是底背离。这样能过滤掉大量因为均线粘合产生的假背离,信号数量少但质量高。

适合谁用?如果你已经看了一段时间MACD,知道金叉死叉怎么用、但总在背离判断上拿不准,或者你想在副图上同时看到多种信号减少切换图表的次数,这套指标就很合适。刚接触通达信公式编辑的新手也能用,源码直接复制粘贴就能跑起来,后面每个函数我都做了注释。

多说一句,任何指标都只是辅助工具,不能指望它百分百准确。背离信号出现后,还要结合成交量和整体趋势综合判断,这一点我们留到后面实战部分细说。

2. 背离识别核心逻辑:价格与DIF的错位才是关键

2.1 顶背离和底背离的定义拆解

先复习一下最基础的定义。顶背离发生在股价上涨的末端:股价创出新高,但MACD的DIF值没有同步创出新高,说明上攻动能已经衰竭,接下来大概率要回调甚至反转。底背离则相反,股价创出新低,但DIF没有创新低,说明抛压在减弱,往往是见底回升的先行信号。

这里有一点特别关键:背离对比的“高点”和“低点”,不是随便找两根K线的最高最低价,而是要对比“同一个趋势级别内”的波峰或波谷。如果在一轮下跌中,反抽的高点一个比一个低,拿这些反弹高点去跟前面主升浪的高点对比,那全是指标钝化,没有参考意义。

所以代码里用了ZIG转向的思路,按百分比确认转折点。只有价格从低点回升超过设定幅度,才确认前一个低点成立。这个“确认过程”天然会过滤掉小级别的波动,保证你对比的确实是两个同级别的极值点。

2.2 为什么对比DIF而不是对比MACD柱

市面上很多简化版背离指标,对比的是MACD红绿柱的面积或者高度。实际上MACD柱=2×(DIF-DEA),它包含了DIF与DEA的相对关系,反应更灵敏,但灵敏也带来了噪音,尤其在零轴附近,柱子翻来翻去,很难判断面积大小。

相比之下,DIF本身就是快慢线的差值,它的位置高低直接反映趋势动能,用来做背离对比更稳定。这套指标在顶背离和底背离的判断中统一使用DIF值做对比,只在辅助判断时参考柱子面积。实操下来,DIF对比的假信号确实比柱子对比少很多。

2.3 信号确认机制:如何减少未来函数的干扰

通达信公式里用TROUGHBARS、PEAKBARS这类转折函数,自带一点未来函数的属性,这也是很多人忌讳的地方。要解释清楚:这类函数在盘中会随着新K线出现重新计算之前的转折点,但只要一根K线收盘后确认了转折,这个转折点就不会再变。

因此我在源码里加了参数控制,默认用5%的转向幅度,幅度越大、转折越迟确认,信号越稳定,但发现信号的位置也越靠后。想更早看到信号,可以把参数调小到3%,但假信号会同步增加。这个取舍没有标准答案,我自己习惯用5%,因为宁可晚一步也要保证方向判断大概率正确。

3. 完整源码与逐段解析

下面是完整源码,纯通达信语法,副图指标,直接新建技术指标公式粘贴即可。

3.1 新建指标并粘贴源码

通达信里按Ctrl+F打开公式管理器,选择“技术指标公式”下的“其他类型”,点新建,公式名称填“MACD背离增强版”,画图方法选“副图”,然后粘贴下面的代码:

{===MACD背离买卖点提示副图指标===} DIF:EMA(CLOSE,12)-EMA(CLOSE,26),COLORWHITE; DEA:EMA(DIF,9),COLORYELLOW; MACD:(DIF-DEA)*2,COLORSTICK; {参数区} N:=5;{ZIG转向百分比,数值越小信号越灵敏} {===底背离识别===} T1:=TROUGHBARS(2,N,1);{最近一个波谷到当前的周期数} T2:=TROUGHBARS(2,N,2);{第二个波谷到当前的周期数} PRICE1:=REF(LOW,T1);{第一个波谷的价格} PRICE2:=REF(LOW,T2);{第二个波谷的价格} DIF1:=REF(DIF,T1);{第一个波谷对应的DIF} DIF2:=REF(DIF,T2);{第二个波谷对应的DIF} 底背离:=T1>0 AND PRICE1<PRICE2 AND DIF1>DIF2; {===顶背离识别===} P1:=PEAKBARS(1,N,1);{最近一个波峰到当前的周期数} P2:=PEAKBARS(1,N,2);{第二个波峰到当前的周期数} HPRICE1:=REF(HIGH,P1);{第一个波峰的价格} HPRICE2:=REF(HIGH,P2);{第二个波峰的价格} HDIF1:=REF(DIF,P1);{第一个波峰对应的DIF} HDIF2:=REF(DIF,P2);{第二个波峰对应的DIF} 顶背离:=P1>0 AND HPRICE1>HPRICE2 AND HDIF1<HDIF2; {===金叉死叉===} JC:=CROSS(DIF,DEA); SC:=CROSS(DEA,DIF); {===画图输出===} DRAWICON(底背离,LOW,1); DRAWTEXT(底背离,LOW,'底背离'),COLORRED; DRAWICON(顶背离,HIGH,2); DRAWTEXT(顶背离,HIGH,'顶背离'),COLORGREEN; DRAWICON(JC,DIF,3); DRAWTEXT(SC,DIF,'死叉'),COLOR00FF00; STICKLINE(底背离,LOW,LOW*0.98,3,0),COLORRED; STICKLINE(顶背离,HIGH,HIGH*1.02,3,0),COLOR00FF00;

粘贴完成后点确定,然后到K线图界面输入“MACD背离增强版”这个名称,就能在副图区域看到效果。

3.2 关键代码逐行说明

TROUGHBARS和PEAKBARS是这套指标的核心函数。TROUGHBARS(2,N,1)的意思是:用最低价确认波谷,转向幅度为N%,取最近一个波谷到当前K线的距离。括号里第一个参数2代表取最低价,1代表取最近那个转折点,2就是往前数第二个。这里选2而不是1,是因为1是趋势起点,2才是当前可对比的极值。

底背离的条件拆开看就是三句话:当前有一个已经确认的波谷;这个波谷的价格比上一个波谷更低;但这个波谷对应的DIF比上一个波谷更高。价格新低、DIF抬高,动能已经跟不上价格了,这就是标准的底背离。顶背离反过来,价格新高、DIF降低,动能透支。

画图函数里,DRAWICON用于在指定位置画图标,1号图标是一个向上的箭头,2号是向下的箭头,3号是个小圆点。DRAWTEXT直接写字。STICKLINE画的是粗柱线,用于把背离信号对应的高低点位置框出来,开盘后一眼就能扫到。

3.3 参数调整方法

指标里只有一个参数N,控制ZIG转向的百分比。N越小,转折点确认得越快,信号越早,但噪音越大;N越大,信号越可靠,但位置越晚。用日线操作,5是相对均衡的值;如果是15分钟、30分钟这类短周期,建议把N调到3或4,不然一天出不了几个信号;如果是周线级别,可以调到7到8,只抓大级别背离。

如果你的通达信版本比较旧,不支持TROUGHBARS或者PEAKBARS,可以把底部两个STICKLINE相关的行删除,信号识别不受影响,只是少了标记柱线。

4. 安装后的实战使用方法

4.1 信号怎么搭配使用

信号优先级从高到低我自己的排序是:顶背离/底背离大于死叉/金叉。金叉死叉在震荡行情里频繁出现,单独用来操作很容易被反复打脸。但背离信号出现频率低,一旦出现,对应的上涨或下跌概率明显更高。

底背离出现后,不要立刻满仓。我常用的做法是等两个确认条件:第一,底背离出现后DIF开始向上拐头,说明动能确实转向;第二,价格站上5日均线。两个条件同时满足再考虑进场,止损就放在底背离那个波谷的最低价下方。顶背离反之,出现后如果DIF拐头向下,减仓或者清仓为主。

4.2 多周期联合验证

日线级别出现底背离,但周线还在死叉状态,这种逆周期的信号成功率会大打折扣。我建议至少做双周期验证:先用周线看方向,周线MACD在零轴上方还是下方、有没有背离,再用日线或者60分钟找具体进场点。举个例子,周线底背离确认后,日线一旦金叉,这个位置的成功率就比单看日线高不少。这套副图指标可以直接切换到周线使用,函数不限定周期,这是通达信公式的好处。

4.3 不同板块和个股的适配差异

弹性大的小盘股,背离信号出现得频繁,但假信号也多,需要把N值调大一点。大盘蓝筹和指数,走势相对规整,N=5默认参数就很好用。次新股因为上市时间短,前期没有足够的K线形成波峰波谷,前两三个月基本不会出背离信号,不用觉得指标坏了,这是正常的。

5. 常见问题与排查技巧实录

5.1 为什么我粘贴源码后提示错误

九成情况是符号问题。通达信公式编辑器只认英文半角符号,从网页复制代码时,很容易把逗号、括号、分号带成中文全角,哪怕只是一个全角逗号,整个公式就编译不过。粘贴后先按Ctrl+F在编辑器里检查一遍,重点看括号是不是半角,代码里有没有多出的空格。另外,公式名称不支持下划线以外的特殊字符,这个也容易踩坑。

还有一类情况是函数版本不支持。TROUGHBARS和PEAKBARS是通达信老牌函数,一般版本都带,但如果你的券商定制版精简过函数库,可以换用趋势型里的ZIG配合BARSLAST来替代,或者升级到标准版通达信。

5.2 信号出现后行情已经走了一段,是不是滞后

确实会有滞后,这是任何背离指标的通病,因为背离本身就需要“右侧确认”。ZIG转向函数要等价格实际涨跌超过N%才会确认之前的波峰波谷,所以信号发现的位置天然偏右侧。应对的办法就是上面说的多周期共振:大级别先判断方向,小级别找相对早的介入点。另外,不要等背离信号一出现就追涨杀跌,背离是预警,不是发令枪。

5.3 震荡行情里信号太多怎么办

指标参数N没调对是最常见的原因。默认5%的转向幅度在窄幅震荡中会被频繁触发,连续出现背离信号。试着把N改到8或者10,转折确认的难度提高后,小波动就会被过滤掉。另一种做法是叠加一条60日均线,只操作价格在60日均线上方的底背离或者下方的顶背离,震荡市的假信号能过滤掉一半以上。

5.4 想把选股信号做成预警公式能不能直接用

副图指标不能直接用于条件选股,但可以把核心选股逻辑抽出来,新建一个条件选股公式。这里给一个最简单的底背离选股写法,也是筛选“最近一根K线刚出现底背离”的股票:

DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIF,9); N:=5; T1:=TROUGHBARS(2,N,1); T2:=TROUGHBARS(2,N,2); PRICE1:=REF(LOW,T1); PRICE2:=REF(LOW,T2); DIF1:=REF(DIF,T1); DIF2:=REF(DIF,T2); 选股:T1>0 AND PRICE1<PRICE2 AND DIF1>DIF2;

这个选股公式在每天收盘后跑一遍,把当天出现底背离的股票筛出来,第二天再人工结合量能去过滤,比盘中实时盯盘省力很多。

写在最后的一点经验

把背离判断从“看感觉”变成“看规则”,是这套指标最大的价值。以前我判断背离全靠肉眼对比K线高低点和MACD柱面积,行情一走快就看不过来,经常把能量衰竭当成背离。现在公式把每次背离都量化、标记,判断标准统一了,复盘时也能回看每一个信号的成色。

最后分享一个小技巧:副图指标的背离信号,配合主图里的黄金分割或者布林带使用,效果比单独看副图好得多。背离告诉你方向可能反转,位置工具告诉你反转的大概空间,两者叠加,胜率能再上一个台阶。这套指标我已经用了大半年,不是万能的,但在趋势转折点的提醒上,确实帮我躲过了几次大回撤。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询