通达信〖主趋势MACD〗多空博弈黄金眼顶底背离指标公式源码
你是否遇到过MACD信号模糊、背离判断困难或量价配合难以确认的困境?本指标正是为破解这些痛点而设计。它以经典MACD为核心,融合了多周期动能过滤、顶底背离自动画线、OBV量能强化以及斐波那契时间窗,构建了一套立体化的趋势追踪工具。具体功能如下:
- 红蓝双色动势线:DIF/DEA在上升段自动加粗并标红,下降段保留原色,强弱状态一目了然。
- “将死不死”擒牛信号:当DIF在高位走平且MACD柱仍维持正/负区时,图标会提示主力洗盘或诱空陷阱。
- 背离智能识别:系统自动绘制黄色(底背离)和绿色(顶背离)连线,并附文字标注,终结主观模糊判断。
- 四色“鱼”级预警:基于多周期均线偏离度(X_1~X_9),以白、红、紫、黄四色逐级增强的方式量化超买强度。
- 黄金柱辅助:当OBV与3日均线同步共振时,MACD柱强化为黄色,通过量价验证提升胜率。
在实际操作中,你可以这样运用:
1. 趋势跟踪:当DIF(绿线)上穿DEA(蓝线)且MACD红柱放大,视为多头启动信号;反之则需警惕风险。
2. 背离实战:若价格新低而DIF抬高,出现黄色“底背离”文字及连线,可分批低吸;若价格新高而DEA走弱,绿色“顶背离”提示减仓。
3. 强度分级:观察副图右端的“小鱼/红鱼/紫鱼/黄鱼”数值,数值递增代表超买加剧,配合MACD柱缩短则适合高抛。
4. 斐波那契节点:MACD由绿转红后,副图会标注数字1、2、3、5…55,对应变盘时间窗口,辅助仓位管理。
此外,该指标特别适用于日线及周线级别。在震荡市中信号可能较为密集,建议结合趋势线或成交量来过滤假信号。经典参数(12,26,9)为默认设置,也可根据个股波动率微调EMA周期。
{主趋势MACD副}DIF:EMA(CLOSE,12)-EMA(CLOSE,26),COLORGREEN;DEA:EMA(DIF,9),COLORBLUE;MACD:(DIF-DEA)*2,COLORSTICK;IF(DIF>REF(DIF,1),DIF,DRAWNULL),COLORRED,LINETHICK2;IF(DEA>REF(DEA,1),DEA,DRAWNULL),COLORRED,LINETHICK2;STICKLINE(((MACD<REF(MACD,1)) AND (MACD>0)),0,MACD,0.05,0),COLORLIBLUE,LINETHICK2;STICKLINE(((MACD>REF(MACD,1)) AND (MACD<0)),0,MACD,0.05,0),COLORFF00FF,LINETHICK2;NH:=REF(DIF,3)>=REF(DIF,2) AND REF(DIF,2)>=REF(DIF,1) AND DIF>REF(DIF,1)*1.1;NH1:=ABS((REF(DIF,1)-REF(DEA,1))/REF(DIF,1))<=0.2;DT:=REF(DIF,2)>REF(DEA,2) AND REF(DIF,1)>=REF(DEA,1) AND DIF>DEA;NLZ:=MACD>REF(MACD,1) AND DIF>0;网:=MACD>REF(MACD,1) AND DIF<0;将死不死1:=(NH1 AND NH AND DT AND NLZ);将死不死0:=(NH1 AND NH AND DT AND 网);将死不死:将死不死1 OR 将死不死0,NODRAW;DRAWICON(将死不死,DEA-0.01,38);DRAWICON(将死不死,DEA-0.03,38);DRAWICON(CROSS(DIF,DEA),DEA,9);DRAWICON(CROSS(DEA,DIF),DIF,15);AB1:=BARSLAST(REF(CROSS(DIF,DEA),1));底背离:=REF(CLOSE,AB1+1)>CLOSE AND DIF>REF(DIF,AB1+1) AND CROSS(DIF,DEA);DRAWLINE(AB1=0,DEA,底背离,DEA,0),COLORYELLOW,LINETHICK1;AB2:=BARSLAST(REF(CROSS(DEA,DIF),1));顶背离:=REF(CLOSE,AB2+1)<CLOSE AND REF(DEA,AB2+1)>DEA AND CROSS(DEA,DIF);DRAWLINE(AB2=0,DEA,顶背离,DEA,0),COLORGREEN,LINETHICK1;DRAWTEXT(底背离>0,DEA,'底背离'),COLORYELLOW;DRAWTEXT(顶背离>0,DEA,'顶背离'),COLORGREEN;VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);OBV1:=SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0);OBV2:=EMA(OBV1,3)-MA(OBV1,9);OBV3:=EMA(IF(OBV2>0,OBV2,0),3);MAC3:=MA(C,3);SHORT:=12;LONG:=26;MID:=9;STICKLINE(OBV3>REF(OBV3,1) AND MAC3>REF(MAC3,1),0,MACD,2,0),COLORYELLOW;{持币:STICKLINE((SAR(10,2,20)>=H),MACD,0,1.5,0),COLORGREEN;持股:STICKLINE((SAR(10,2,20)<=L),0,MACD,1.5,0),COLORYELLOW;}ZSC:=CROSS(DEA#WEEK,DIF#WEEK);ZSC1:=CROSS(DEA,DIF);PC:=IF(EXISTR(ZSC,7,1),0,1);PC1:=IF(EXISTR(ZSC1,7,1),0,1);Q1:=MACD<0 AND MACD>REF(MACD ,1) ANDREF(MACD ,1)<REF(MACD ,2) AND REF(MACD ,2)<REF(MACD ,3)AND REF(MACD ,3)<REF(MACD ,4);SCL:=EXISTR(CROSS(DEA,DIF),9,1);C1:=BARSLAST(REF(Q1,1));C2:=REF(MACD,C1+1)<MACD AND Q1 AND DIF<0 ;TJ:=MACD>0;T:=MACD<0;A:=LLV(MACD,50)=MACD;DRAWICON(A AND FILTERX(A,20), MACD,1);DRAWTEXT(BARSLAST(TJ)=1,MACD,'1'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=2,MACD,'2'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=3,MACD,'3'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=5,MACD,'5'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=8,MACD,'8'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=13,MACD,'13'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=21,MACD,'21'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=34,MACD,'34'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=55,MACD,'55'),COLORYELLOW;DRAWTEXT(BARSLAST(T)=1,MACD,'1'),COLORGREEN;DRAWTEXT(BARSLAST(T)=2,MACD,'2'),COLORGREEN;DRAWTEXT(BARSLAST(T)=3,MACD,'3'),COLORGREEN;DRAWTEXT(BARSLAST(T)=5,MACD,'5'),COLORGREEN;DRAWTEXT(BARSLAST(T)=8,MACD,'8'),COLORGREEN;DRAWTEXT(BARSLAST(T)=13,MACD,'13'),COLORGREEN;DRAWTEXT(BARSLAST(T)=21,MACD,'21'),COLORGREEN;DRAWTEXT(BARSLAST(T)=34,MACD,'34'),COLORGREEN;DRAWTEXT(BARSLAST(T)=55,MACD,'55'),COLORGREEN;ZBGS1:=(CLOSE-EMA(CLOSE,5))/EMA(CLOSE,5)*100;ZBGS2:=(CLOSE-EMA(CLOSE,10))/EMA(CLOSE,10)*100;ZBGS3:=(CLOSE-EMA(CLOSE,20))/EMA(CLOSE,20)*100;ZBGS4:=(CLOSE-EMA(CLOSE,60))/EMA(CLOSE,60)*100;ZBGS5:=(CLOSE-EMA(CLOSE,120))/EMA(CLOSE,120)*100;ZBGS6:=ZBGS1>1 AND ZBGS2>2 AND ZBGS3>3 AND ZBGS4>4;ZBGS7:=ZBGS1>2 AND ZBGS2>4 AND ZBGS3>6 AND ZBGS4>8;ZBGS8:=ZBGS1>3 AND ZBGS2>5 AND ZBGS3>7 AND ZBGS4>9;ZBGS9:=ZBGS1>4 AND ZBGS2>6 AND ZBGS3>8 AND ZBGS4>10 AND ZBGS5>12;ZBGS10:=BARSLASTCOUNT(ZBGS7)=1 AND CROSS(CLOSE,EMA(CLOSE,50)*1.19) AND HIGH/CLOSE<1.05;DRAWTEXT_FIX(1,0.980,20,1,', HTTP://'),COLOR333333;小鱼:BARSLASTCOUNT(ZBGS6),NODRAW,COLORWHITE;红鱼:BARSLASTCOUNT(ZBGS7),NODRAW,COLORRED;紫鱼:BARSLASTCOUNT(ZBGS8),NODRAW,COLORMAGENTA;黄鱼:BARSLASTCOUNT(ZBGS9),NODRAW,COLORYELLOW;

未来函数检测结果如下:
该公式包含未来函数:#WEEK
定制指标公式、软件请联系QQ或微信同号:88652583
输出DIF:收盘价的12日指数移动平均-收盘价的26日指数移动平均,画绿色
输出DEA:DIF的9日指数移动平均,画蓝色
输出平滑异同平均线:(DIF-DEA)*2,COLORSTICK
如果DIF>1日前的DIF,返回DIF,否则返回无效数,画红色,线宽为2
如果DEA>1日前的DEA,返回DEA,否则返回无效数,画红色,线宽为2
当满足条件((MACD<1日前的MACD)AND(MACD>0))时,在0和MACD位置之间画柱状线,宽度为0.05,0不为0则画空心柱.,画淡蓝色,线宽为2
当满足条件((MACD>1日前的MACD)AND(MACD<0))时,在0和MACD位置之间画柱状线,宽度为0.05,0不为0则画空心柱.,COLORFF00FF,线宽为2
NH赋值:3日前的DIF>=2日前的DIF AND 2日前的DIF>=1日前的DIF AND DIF>1日前的DIF*1.1
NH1赋值:(1日前的DIF-1日前的DEA)/1日前的DIF的绝对值<=0.2
DT赋值:2日前的DIF>2日前的DEA AND 1日前的DIF>=1日前的DEA AND DIF>DEA
NLZ赋值:MACD>1日前的MACD AND DIF>0
网赋值:MACD>1日前的MACD AND DIF<0
将死不死1赋值:(NH1 AND NH AND DT AND NLZ)
将死不死0赋值:(NH1 AND NH AND DT AND 网)
输出将死不死:将死不死1 OR 将死不死0,NODRAW
当满足条件将死不死时,在DEA-0.01位置画38号图标
当满足条件将死不死时,在DEA-0.03位置画38号图标
当满足条件DIF上穿DEA时,在DEA位置画9号图标
当满足条件DEA上穿DIF时,在DIF位置画15号图标
AB1赋值:上次1日前的DIF上穿DEA距今天数
底背离赋值:AB1+1日前的收盘价>收盘价 AND DIF>AB1+1日前的DIF AND DIF上穿DEA
当满足条件AB1=0时,在DEA位置画直线起点,当满足条件底背离时,在DEA位置画直线终点,0表示是否延长.,画黄色,线宽为1
AB2赋值:上次1日前的DEA上穿DIF距今天数
顶背离赋值:AB2+1日前的收盘价<收盘价 AND AB2+1日前的DEA>DEA AND DEA上穿DIF
当满足条件AB2=0时,在DEA位置画直线起点,当满足条件顶背离时,在DEA位置画直线终点,0表示是否延长.,画绿色,线宽为1
当满足条件底背离>0时,在DEA位置书写文字,画黄色
当满足条件顶背离>0时,在DEA位置书写文字,画绿色
VA赋值:如果收盘价>1日前的收盘价,返回成交量(手),否则返回-成交量(手)
OBV1赋值:如果收盘价=1日前的收盘价,返回0,否则返回VA的历史累和
OBV2赋值:OBV1的3日指数移动平均-OBV1的9日简单移动平均
OBV3赋值:如果OBV2>0,返回OBV2,否则返回0的3日指数移动平均
MAC3赋值:收盘价的3日简单移动平均
SHORT赋值:12
LONG赋值:26
MID赋值:9
当满足条件OBV3>1日前的OBV3ANDMAC3>1日前的MAC3时,在0和MACD位置之间画柱状线,宽度为2,0不为0则画空心柱.,画黄色
ZSC赋值:DEA[取周线数据]上穿DIF[取周线数据]
ZSC1赋值:DEA上穿DIF
PC赋值:如果从前7日到前1日存在ZSC,返回0,否则返回1
PC1赋值:如果从前7日到前1日存在ZSC1,返回0,否则返回1
Q1赋值:MACD<0 AND MACD>1日前的MACD ANDREF(MACD ,1)<2日前的MACD AND 2日前的MACD<3日前的MACDAND 3日前的MACD<4日前的MACD
SCL赋值:从前9日到前1日存在DEA上穿DIF
C1赋值:上次1日前的Q1距今天数
C2赋值:C1+1日前的MACDTJ赋值:MACD>0
T赋值:MACD<0
A赋值:50日内MACD的最低值=MACD
当满足条件AANDFILTERX(A,20)时,在MACD位置画1号图标
当满足条件上次TJ距今天数=1时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=2时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=3时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=5时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=8时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=13时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=21时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=34时,在MACD位置书写文字,画黄色
当满足条件上次TJ距今天数=55时,在MACD位置书写文字,画黄色
当满足条件上次T距今天数=1时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=2时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=3时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=5时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=8时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=13时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=21时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=34时,在MACD位置书写文字,画绿色
当满足条件上次T距今天数=55时,在MACD位置书写文字,画绿色
ZBGS1赋值:(收盘价-收盘价的5日指数移动平均)/收盘价的5日指数移动平均*100
ZBGS2赋值:(收盘价-收盘价的10日指数移动平均)/收盘价的10日指数移动平均*100
ZBGS3赋值:(收盘价-收盘价的20日指数移动平均)/收盘价的20日指数移动平均*100
ZBGS4赋值:(收盘价-收盘价的60日指数移动平均)/收盘价的60日指数移动平均*100
ZBGS5赋值:(收盘价-收盘价的120日指数移动平均)/收盘价的120日指数移动平均*100
ZBGS6赋值:ZBGS1>1 AND ZBGS2>2 AND ZBGS3>3 AND ZBGS4>4
ZBGS7赋值:ZBGS1>2 AND ZBGS2>4 AND ZBGS3>6 AND ZBGS4>8
ZBGS8赋值:ZBGS1>3 AND ZBGS2>5 AND ZBGS3>7 AND ZBGS4>9
ZBGS9赋值:ZBGS1>4 AND ZBGS2>6 AND ZBGS3>8 AND ZBGS4>10 AND ZBGS5>12
ZBGS10赋值:条件连续成立次数=1 AND 收盘价上穿收盘价的50日指数移动平均*1.19 AND 最高价/收盘价<1.05
当满足条件1时,在横轴0.980纵轴20位置书写文字,COLOR333333
输出小鱼:条件连续成立次数,NODRAW,画白色
输出红鱼:条件连续成立次数,NODRAW,画红色
输出紫鱼:条件连续成立次数,NODRAW,画洋红色
输出黄鱼:条件连续成立次数,NODRAW,画黄色