通达信〖新MACD〗断趋势反转的高效抄底逃顶指标源码
『新MACD』副图,精准抄底逃顶!顶底背离升级版
公式介绍
新MACD副图是**通达信优化版MACD指标**,基于传统12、26日EMA均线计算DIFF、DEA核心线,创新叠加**红绿柱面积统计、顶底背离自动识别**功能,精准区分底积背离、底柱背离、顶积背离、顶柱背离四大信号,搭配可视化图标、文字标注和强弱评分,解决传统MACD信号滞后问题,是**短线波段交易、精准判断趋势反转**的高效副图指标,无未来函数,信号稳定不漂移。
MACD周期规律
背离高低点所引发的运行周期有个大概的时间参考,通常是24-30倍的关系,以背离产生的时间点为准开始计算。
1分钟背离后运行时间为半小时左右
5分钟背离后运行时间为半天左右
15分钟背离后运行时间为1.5天左右
30分钟背离后运行时间为3天左右
60分钟背离后运行时间为6天左右
120分钟背离后运行时间为12天左右
日线背离后运行时间为24天左右
周线背离后运行时间为两三个月左右
月线背离后运行时间为两三年左右
5分钟级别MACD双线上零轴则15分钟级别MACD零轴下方金叉
15分钟级别MACD双线上零轴则30分钟级别MACD零轴下方金叉
60分钟级别MACD双线上零轴则日线级别MACD零轴下方金叉
使用方法
1. 导入公式:打开通达信软件,进入公式管理器-副图公式-新建,粘贴源码保存,命名为新MACD副图;
2. 核心信号:出现**底背离图标+积背/柱背文字**,为波段抄底信号;出现**顶背离图标+积背/柱背文字**,为波段逃顶信号;
3. 辅助判断:红柱走强、绿柱走弱对应趋势上行,反之趋势下行,结合25日均线过滤信号,准确率更高;
4. 适用场景:**A股全品种通用**,短线、波段操作均可参考,搭配主图指标使用效果更佳。
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26) COLORFF00FF;DEA1:=EMA(DIFF,9) COLORFF0000;MACD:(DIFF-DEA1)*2 NODRAW;
STICKLINE(MACD>0 AND MACD>REF(MACD,1),0,MACD,2,0) COLOR0000FF;STICKLINE(MACD>0 AND MACD<REF(MACD,1),0,MACD,2,1) COLOR0000FF;STICKLINE(MACD>0 AND MACD>REF(MACD,1) AND REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4) AND REF(MACD,1)>0 AND REF(MACD,2)>0 AND REF(MACD,3)>0 AND REF(MACD,4)>0,0,MACD,2,0) COLORFF00FF;STICKLINE(MACD<0 AND MACD>REF(MACD,1),0,MACD,2,0) COLOR008000;STICKLINE(MACD<0 AND MACD<REF(MACD,1),0,MACD,2,1) COLOR008000;
DIF:EMA(CLOSE,12)-EMA(CLOSE,26) COLORFF00FF;DEA:EMA(DIFF,9) COLORFF0000;
HRULER:=CONST(IF(ISLASTBAR,HHV(MAX(ABS(DIFF),ABS(DEA)),90),0)),NODRAW;
绿柱面积:=IF(MACD<0,SUM(MACD,BARSLAST(MACD>0)),0);红柱面积:=IF(MACD>0,SUM(MACD,BARSLAST(MACD<0)),0);本次最低绿柱:=IF(MACD<0,LLV(MACD,BARSLAST(MACD>0)),0);本次最高红柱:=IF(MACD>0,HHV(MACD,BARSLAST(MACD<0)),0);本次最低价:=LLV(L,BARSLAST(MACD>0)),NODRAW;本次最高价:=HHV(H,BARSLAST(MACD<0));
X1:=IF(MACD<0,BARSLAST(CROSS(DIFF,DEA)),0),NODRAW;前次绿柱面积:=REF(绿柱面积,X1+1),NODRAW;前次最低价:=REF(本次最低价,X1+1),NODRAW;前次最低绿柱:=REF(本次最低绿柱,X1+1);
Y1:=IF((绿柱面积<0 AND ABS(绿柱面积)<ABS(前次绿柱面积) AND 本次最低价<前次最低价),1,0),NODRAW;Y11:=IF((绿柱面积<0 AND ABS(本次最低绿柱)<ABS(前次最低绿柱) AND 本次最低价<前次最低价),1,0),NODRAW;
RS1:=MACD<0 AND REF(MACD,1)<0 AND 本次最低价<前次最低价 AND ABS(绿柱面积)<ABS(前次绿柱面积) AND ABS(MACD)<ABS(REF(MACD,1));UP3:=RS1 AND UPNDAY(MACD,3);
STEP1:=IF(UP3,(MACD-REF(MACD,1))*0.45+(MACD-REF(MACD,2))*0.17+(MACD-REF(MACD,3))*0.07,0);N1:=IF(UP3,ABS(MACD)/ABS(STEP1),0),NODRAW;补充绿柱面积:=IF(UP3,IF(N1>1,(N1-1)*MACD/2,0),0);
Y1补:=IF((绿柱面积<0 AND ABS(绿柱面积+补充绿柱面积)<ABS(前次绿柱面积) AND 本次最低价<前次最低价),1,0);
底积将背:=IF(UP3,Y1补,0),NODRAW;底柱将背:=IF(UP3,Y11,0),NODRAW;底积背离:=IF(CROSS(DIFF,DEA),REF(Y1,1),0),NODRAW;底柱背离:=IF(CROSS(DIFF,DEA),REF(Y11,1),0),NODRAW;底背离:底积背离 AND 底柱背离,NODRAW;
底背程度:=IF(底积将背 OR 底积背离,ABS(前次绿柱面积)/ABS(绿柱面积+补充绿柱面积)*前次最低价/本次最低价,0),NODRAW;底柱程度:=IF(底柱将背 OR 底柱背离,ABS(前次最低绿柱)/ABS(本次最低绿柱)*前次最低价/本次最低价,0),NODRAW;
PT:=MIN(DIFF,DEA)-HRULER/20;PT1:=MAX(DIFF,DEA)+HRULER/20;
DRAWBAND(DIFF,RGB(200,50,55),DEA,RGB(50,100,10));
STICKLINE(底积将背,PT,PT-MIN(底背程度,5)*HRULER/(4*5),2,0),COLORD33AE9;DRAWICON(底积将背,PT-MIN(底背程度,5)*HRULER/(4*5)-HRULER/20,38),COLORYELLOW;
STICKLINE(底柱将背,PT1,PT1+MIN(底柱程度,5)*HRULER/(4*5),2,0),COLORD33AE9;DRAWICON(底柱将背,PT1+MIN(底柱程度,5)*HRULER/(4*5)+HRULER/10,1),COLORYELLOW;
DRAWTEXT(底柱背离,PT1+HRULER/8,' 柱背'),COLOR00FFFF;STICKLINE(底柱背离,PT1,PT1+MIN(底柱程度,5)*HRULER/(4*5),3,0),COLOR0000FF;DRAWICON(底柱背离,PT1+MIN(底柱程度,5)*HRULER/(4*5)+HRULER/10,34),COLORYELLOW;
DRAWTEXT(底积背离,PT-HRULER/8,' 积背'),COLOR00FFFF;STICKLINE(底积背离,PT,PT-MIN(底背程度,5)*HRULER/(4*5),3,0),COLOR0000FF;DRAWICON(底积背离,PT-MIN(底背程度,5)*HRULER/(4*5)-HRULER/20,23),COLORYELLOW;
D_SCORE:=IF(底积背离 AND 底柱背离,100,IF(底积背离 OR 底柱背离,80,IF(底积将背 AND 底柱将背,90,IF(底积将背 OR 底柱将背,70,0))));DT_SOCRE:=IF(D_SCORE>0,D_SCORE,IF(REF(D_SCORE,1)>0,REF(D_SCORE,1)*0.8,IF(REF(D_SCORE,2)>0,REF(D_SCORE,2)*0.6,IF(REF(D_SCORE,3)>0,REF(D_SCORE,3)*0.4,IF(REF(D_SCORE,4)>0,REF(D_SCORE,4)*0.2,0))))),NODRAW;
X2:=IF(MACD>0,BARSLAST(CROSS(DEA,DIFF)),0);前次红柱面积:=REF(红柱面积,X2+1);前次最高价:=REF(本次最高价,X2+1);前次最高红柱:=REF(本次最高红柱,X2+1);
Y2:=IF((红柱面积>0 AND 红柱面积<前次红柱面积 AND 本次最高价>前次最高价),1,0);Y22:=IF((红柱面积>0 AND ABS(本次最高红柱)<ABS(前次最高红柱) AND 本次最高价>前次最高价),1,0),NODRAW;
RS2:=MACD>0 AND REF(MACD,1)>0 AND C>前次最高价 AND ABS(红柱面积)<ABS(前次红柱面积) AND ABS(MACD)<ABS(REF(MACD,1));DOWN3:=RS2 AND DOWNNDAY(MACD,3);
STEP2:=IF(DOWN3,(MACD-REF(MACD,1))*0.45+(MACD-REF(MACD,2))*0.17+(MACD-REF(MACD,3))*0.07,0);N2:=IF(DOWN3,ABS(MACD)/ABS(STEP2),0),NODRAW;补充红柱面积:=IF(DOWN3,IF(N2>1,(N2-1)*MACD/2,0),0);
Y2补:=IF((红柱面积>0 AND ABS(红柱面积+补充红柱面积)<ABS(前次红柱面积) AND 本次最高价>前次最高价),1,0);wwwZBGScom:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));顶积将背:=IF(DOWN3,Y2补,0),NODRAW;顶柱将背:=IF(DOWN3,Y22,0),NODRAW;顶积背离:=IF(CROSS(DEA,DIFF),REF(Y2,1),0),NODRAW;顶柱背离:=IF(CROSS(DEA,DIFF),REF(Y22,1),0),NODRAW;顶背离:顶积背离 AND 顶柱背离,NODRAW;
顶背程度:=IF(顶积将背 OR 顶积背离,ABS(前次红柱面积)/ABS(红柱面积+补充红柱面积)*本次最高价/前次最高价,0),NODRAW;顶柱程度:=IF(顶柱将背 OR 顶柱背离,ABS(前次最高红柱)/ABS(本次最高红柱)*本次最高价/前次最高价,0),NODRAW;
STICKLINE(顶积将背,PT,PT-MIN(顶背程度,5)*HRULER/(4*5),2,0),COLORFFFF00;DRAWICON(顶积将背,PT-MIN(顶背程度,5)*HRULER/(4*5)-HRULER/20,39),COLORYELLOW;
STICKLINE(顶柱将背,PT1,PT1+MIN(顶柱程度,5)*HRULER/(4*5),2,0),COLORFFFF00;DRAWICON(顶柱将背,PT1+MIN(顶柱程度,5)*HRULER/(4*5)+HRULER/10,2),COLORYELLOW;
DRAWTEXT(顶柱背离,PT1+HRULER/8,' 柱背'),COLOR00FFFF;STICKLINE(顶柱背离,PT1,PT1+MIN(顶柱程度,5)*HRULER/(4*5),2,0),COLOR00FF00;DRAWICON(顶柱背离,PT1+MIN(顶柱程度,5)*HRULER/(4*5)+HRULER/10,35),COLORYELLOW;
DRAWTEXT(顶积背离,PT-HRULER/8,' 积背'),COLOR00FFFF;STICKLINE(顶积背离,PT,PT-MIN(顶背程度,5)*HRULER/(4*5),2,0),COLOR00FF00;DRAWICON(顶积背离,PT-MIN(顶背程度,5)*HRULER/(4*5)-HRULER/20,45),COLORYELLOW;
NOTEXTSDIFF:DIFF,COLORWHITE;NOTEXTSDEA:DEA,COLORYELLOW;NOTEXTMACDDRAW:MACD,COLORSTICK;
STICKLINE(MACD>0 AND MACD>REF(MACD,1) AND C>MA(C,25) AND REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4),0,MACD,2,0) COLORFF00FF;

来函数检测结果如下:
该公式没有未来函数
定制、编写指标公式请联系QQ或微信同号:88652583
DIFF赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均 COLORFF00FF
DEA1赋值:DIFF的9日指数移动平均 COLORFF0000
输出平滑异同平均线:(DIFF-DEA1)*2 NODRAW
当满足条件MACD>0ANDMACD>1日前的MACD时,在0和MACD位置之间画柱状线,宽度为2,0不为0则画空心柱. COLOR0000FF
当满足条件MACD>0ANDMACD<1日前的MACD时,在0和MACD位置之间画柱状线,宽度为2,1不为0则画空心柱. COLOR0000FF
当满足条件MACD>0ANDMACD>1日前的MACDANDREF(MACD,1)<2日前的MACDANDREF(MACD,2)<3日前的MACDANDREF(MACD,3)<4日前的MACDANDREF(MACD,1)>0ANDREF(MACD,2)>0ANDREF(MACD,3)>0ANDREF(M时,在CD,4)>0和0位置之间画柱状线,宽度为MACD,2不为0则画空心柱. COLORFF00FF
当满足条件MACD<0ANDMACD>1日前的MACD时,在0和MACD位置之间画柱状线,宽度为2,0不为0则画空心柱. COLOR008000
当满足条件MACD<0ANDMACD<1日前的MACD时,在0和MACD位置之间画柱状线,宽度为2,1不为0则画空心柱. COLOR008000
输出DIF:收盘价的12日指数移动平均-收盘价的26日指数移动平均 COLORFF00FF
输出DEA:DIFF的9日指数移动平均 COLORFF0000
HRULER赋值:如果是否最后一个周期,返回90日内DIFF的绝对值和DEA的绝对值的较大值的最高值,否则返回0的最后一日取值设为常数,NODRAW
绿柱面积赋值:如果MACD<0,返回MACD的上次MACD>0距今天数日累和,否则返回0
红柱面积赋值:如果MACD>0,返回MACD的上次MACD<0距今天数日累和,否则返回0
本次最低绿柱赋值:如果MACD<0,返回上次MACD>0距今天数日内MACD的最低值,否则返回0
本次最高红柱赋值:如果MACD>0,返回上次MACD<0距今天数日内MACD的最高值,否则返回0
本次最低价赋值:上次MACD>0距今天数日内最低价的最低值,NODRAW
本次最高价赋值:上次MACD<0距今天数日内最高价的最高值
X1赋值:如果MACD<0,返回上次DIFF上穿DEA距今天数,否则返回0,NODRAW
前次绿柱面积赋值:X1+1日前的绿柱面积,NODRAW
前次最低价赋值:X1+1日前的本次最低价,NODRAW
前次最低绿柱赋值:X1+1日前的本次最低绿柱
Y1赋值:如果(绿柱面积<0ANDABS(绿柱面积)<前次绿柱面积的绝对值AND本次最低价<前次最低价),返回1,否则返回0,NODRAW
Y11赋值:如果(绿柱面积<0ANDABS(本次最低绿柱)<前次最低绿柱的绝对值AND本次最低价<前次最低价),返回1,否则返回0,NODRAW
RS1赋值:MACD<0 AND 1日前的MACD<0 AND 本次最低价<前次最低价 AND 绿柱面积的绝对值<前次绿柱面积的绝对值 AND MACD的绝对值<1日前的MACD的绝对值
UP3赋值:RS1 AND 最近3日MACD连涨
STEP1赋值:如果UP3,返回(MACD-1日前的MACD)*0.45+(MACD-2日前的MACD)*0.17+(MACD-3日前的MACD)*0.07,否则返回0
N1赋值:如果UP3,返回MACD的绝对值/STEP1的绝对值,否则返回0,NODRAW
补充绿柱面积赋值:如果UP3,返回如果N1>1,返回(N1-1)*MACD/2,否则返回0,否则返回0
Y1补赋值:如果(绿柱面积<0ANDABS(绿柱面积+补充绿柱面积)<前次绿柱面积的绝对值AND本次最低价<前次最低价),返回1,否则返回0
底积将背赋值:如果UP3,返回Y1补,否则返回0,NODRAW
底柱将背赋值:如果UP3,返回Y11,否则返回0,NODRAW
底积背离赋值:如果DIFF上穿DEA,返回1日前的Y1,否则返回0,NODRAW
底柱背离赋值:如果DIFF上穿DEA,返回1日前的Y11,否则返回0,NODRAW
输出底背离:底积背离 AND 底柱背离,NODRAW
底背程度赋值:如果底积将背OR底积背离,返回前次绿柱面积的绝对值/绿柱面积+补充绿柱面积的绝对值*前次最低价/本次最低价,否则返回0,NODRAW
底柱程度赋值:如果底柱将背OR底柱背离,返回前次最低绿柱的绝对值/本次最低绿柱的绝对值*前次最低价/本次最低价,否则返回0,NODRAW
PT赋值:DIFF和DEA的较小值-HRULER/20
PT1赋值:DIFF和DEA的较大值+HRULER/20
画带状线
当满足条件底积将背时,在PT和PT-底背程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLORD33AE9
当满足条件底积将背时,在PT-底背程度和5的较小值*HRULER/(4*5)-HRULER/20位置画38号图标,画黄色
当满足条件底柱将背时,在PT1和PT1+底柱程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLORD33AE9
当满足条件底柱将背时,在PT1+底柱程度和5的较小值*HRULER/(4*5)+HRULER/10位置画1号图标,画黄色
当满足条件底柱背离时,在PT1+HRULER/8位置书写文字,COLOR00FFFF
当满足条件底柱背离时,在PT1和PT1+底柱程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为3,0不为0则画空心柱.,COLOR0000FF
当满足条件底柱背离时,在PT1+底柱程度和5的较小值*HRULER/(4*5)+HRULER/10位置画34号图标,画黄色
当满足条件底积背离时,在PT-HRULER/8位置书写文字,COLOR00FFFF
当满足条件底积背离时,在PT和PT-底背程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为3,0不为0则画空心柱.,COLOR0000FF
当满足条件底积背离时,在PT-底背程度和5的较小值*HRULER/(4*5)-HRULER/20位置画23号图标,画黄色
D_SCORE赋值:如果底积背离AND底柱背离,返回100,否则返回如果底积背离OR底柱背离,返回80,否则返回如果底积将背AND底柱将背,返回90,否则返回如果底积将背OR底柱将背,返回70,否则返回0
DT_SOCRE赋值:如果D_SCORE>0,返回D_SCORE,否则返回如果1日前的D_SCORE>0,返回1日前的D_SCORE*0.8,否则返回如果2日前的D_SCORE>0,返回2日前的D_SCORE*0.6,否则返回如果3日前的D_SCORE>0,返回3日前的D_SCORE*0.4,否则返回如果4日前的D_SCORE>0,返回4日前的D_SCORE*0.2,否则返回0,NODRAW
X2赋值:如果MACD>0,返回上次DEA上穿DIFF距今天数,否则返回0
前次红柱面积赋值:X2+1日前的红柱面积
前次最高价赋值:X2+1日前的本次最高价
前次最高红柱赋值:X2+1日前的本次最高红柱
Y2赋值:如果(红柱面积>0AND红柱面积<前次红柱面积AND本次最高价>前次最高价),返回1,否则返回0
Y22赋值:如果(红柱面积>0ANDABS(本次最高红柱)<前次最高红柱的绝对值AND本次最高价>前次最高价),返回1,否则返回0,NODRAW
RS2赋值:MACD>0 AND 1日前的MACD>0 AND 收盘价>前次最高价 AND 红柱面积的绝对值<前次红柱面积的绝对值 AND MACD的绝对值<1日前的MACD的绝对值
DOWN3赋值:RS2 AND 最近3日MACD连跌
STEP2赋值:如果DOWN3,返回(MACD-1日前的MACD)*0.45+(MACD-2日前的MACD)*0.17+(MACD-3日前的MACD)*0.07,否则返回0
N2赋值:如果DOWN3,返回MACD的绝对值/STEP2的绝对值,否则返回0,NODRAW
补充红柱面积赋值:如果DOWN3,返回如果N2>1,返回(N2-1)*MACD/2,否则返回0,否则返回0
Y2补赋值:如果(红柱面积>0ANDABS(红柱面积+补充红柱面积)<前次红柱面积的绝对值AND本次最高价>前次最高价),返回1,否则返回0
WWWZBGSCOM赋值:成交量(手)/((最高价-最低价)*2-收盘价-开盘价的绝对值)
顶积将背赋值:如果DOWN3,返回Y2补,否则返回0,NODRAW
顶柱将背赋值:如果DOWN3,返回Y22,否则返回0,NODRAW
顶积背离赋值:如果DEA上穿DIFF,返回1日前的Y2,否则返回0,NODRAW
顶柱背离赋值:如果DEA上穿DIFF,返回1日前的Y22,否则返回0,NODRAW
输出顶背离:顶积背离 AND 顶柱背离,NODRAW
顶背程度赋值:如果顶积将背OR顶积背离,返回前次红柱面积的绝对值/红柱面积+补充红柱面积的绝对值*本次最高价/前次最高价,否则返回0,NODRAW
顶柱程度赋值:如果顶柱将背OR顶柱背离,返回前次最高红柱的绝对值/本次最高红柱的绝对值*本次最高价/前次最高价,否则返回0,NODRAW
当满足条件顶积将背时,在PT和PT-顶背程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLORFFFF00
当满足条件顶积将背时,在PT-顶背程度和5的较小值*HRULER/(4*5)-HRULER/20位置画39号图标,画黄色
当满足条件顶柱将背时,在PT1和PT1+顶柱程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLORFFFF00
当满足条件顶柱将背时,在PT1+顶柱程度和5的较小值*HRULER/(4*5)+HRULER/10位置画2号图标,画黄色
当满足条件顶柱背离时,在PT1+HRULER/8位置书写文字,COLOR00FFFF
当满足条件顶柱背离时,在PT1和PT1+顶柱程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLOR00FF00
当满足条件顶柱背离时,在PT1+顶柱程度和5的较小值*HRULER/(4*5)+HRULER/10位置画35号图标,画黄色
当满足条件顶积背离时,在PT-HRULER/8位置书写文字,COLOR00FFFF
当满足条件顶积背离时,在PT和PT-顶背程度和5的较小值*HRULER/(4*5)位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLOR00FF00
当满足条件顶积背离时,在PT-顶背程度和5的较小值*HRULER/(4*5)-HRULER/20位置画45号图标,画黄色
输出NOTEXTSDIFF:DIFF,画白色
输出NOTEXTSDEA:DEA,画黄色
输出NOTEXTMACDDRAW:MACD,COLORSTICK
当满足条件MACD>0ANDMACD>1日前的MACDANDC>收盘价的25日简单移动平均ANDREF(MACD,1)<2日前的MACDANDREF(MACD,2)<3日前的MACDANDREF(MACD,3)<4日前的MACD时,在0和MACD位置之间画柱状线,宽度为2,0不为0则画空心柱. COLORFF00FF