优化MACD结合斐波那契和各种顶底背离副图指标
其实MACD的精华就8个字:买小卖小,缩头缩脚。一个单独的MACD并不能说明多大问题,但各种优化的的指标结合共振就有一定意义了。
各种背离信号和文字颜色是一致的。空心柱为背离信号。MACD二次金叉会文字提示
{MACD的精华就8个字:买小卖小,缩头缩脚。小指的是,红绿柱的堆而言,
缩头缩脚是指红绿柱的长短而言。当股价一波比一波高时,反而红柱的堆,
一堆比一堆小,证明产生了顶背离现象,应该及时卖出;当股价一波比一波低时,
反而绿柱的堆一堆比一堆小,证明产生了底背离,应该买进。买点在绿堆小时,
一根比一根短买进,也就是说缩脚时买进。当红堆小时,红柱一根比一根短时,
叫缩头,卖出。这里的 大 和 小 是指MACD中的大绿柱,小绿柱,
和大红柱,小红柱。而在操作时图中的DIF和MACD两条白色和黄色的曲线,
一般是视而不见的,我们只注重红绿柱的变化。}
{在牛市行情里,该指标准确率更高!我对MACD的理解是,当股票下跌时,
将MACD设置为三个步骤来操作:
买入法则:
1)当.MACD绿柱由长缩短时可以考虑买1/3;
2).当DIFF由下降转平或调头向上时再买1/3;
3).当DIFF由下向上上穿DEA(即金叉)时就可以全仓买进了(也就是剩下1/3买进);
当股票上升到一定的幅度时,卖出法则:
4).当MACD柱由长红开始缩短时,可以考虑卖出1/3;
5)当DIFF由上升开始走平或向下时,再卖出1/3;
6).当DIFF下穿DEA(即死叉)时,就将剩下的1/3全仓卖出!}
{本指标使用了快速MACD系统,比系统自带灵敏度更高,且结合和KDJ,RSI指标中的顶底背离}
{MACD}
DIFF:EMA(DCLOSE,12)-EMA(DCLOSE,26);
DEA:EMA(DIFF,9);
MACD:=(DIFF-DEA)*2;
{STICKLINE(C 0,0,0,0,1);}
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
B1:=REF(C,A1+1) C AND REF(DIFF,A1+1) DIFF AND CROSS(DIFF,DEA);
A2:=BARSLAST(REF(CROSS( KDJ.K (9,3,3), KDJ.D (9,3,3)),1));
B2:=REF(C,A2+1) C AND REF( KDJ.K (9,3,3),A2+1) KDJ.K (9,3,3) AND CROSS( KDJ.K (9,3,3), KDJ.D (9,3,3));
A3:=BARSLAST(REF(CROSS( RSI.RSI1 (6,12,24), RSI.RSI2 (6,12,24)),1));
B3:=REF(C,A3+1) C AND REF( RSI.RSI1 (6,12,24),A3+1) RSI.RSI1 (6,12,24) AND CROSS( RSI.RSI1 (6,12,24), RSI.RSI2 (6,12,24));
C1:=BARSLAST(REF(CROSS(DEA,DIFF),1));
D1:=REF(C,C1+1) C AND REF(DIFF,C1+1) DIFF AND CROSS(DEA,DIFF);
C2:=BARSLAST(REF(CROSS( KDJ.D (9,3,3), KDJ.K (9,3,3)),1));
D2:=REF(C,C2+1) C AND REF( KDJ.K (9,3,3),C2+1) KDJ.K (9,3,3) AND CROSS( KDJ.D (9,3,3), KDJ.K (9,3,3));
C3:=BARSLAST(REF(CROSS( RSI.RSI2 (6,12,24), RSI.RSI1 (6,12,24)),1));
D3:=REF(C,C3+1) C AND REF( RSI.RSI1 (6,12,24),C3+1) RSI.RSI1 (6,12,24) AND CROSS( RSI.RSI2 (6,12,24), RSI.RSI1 (6,12,24));
MACD底背:IF(B1 0,-0.1,0),COLORRED{POINTDOT};
STICKLINE(B1 0,-0.3,0,2.5,1),COLORRED;
KDJ底背:IF(B2 0,-0.1,0),COLORFF00FF,{POINTDOT};
STICKLINE(B2 0,-0.3,0,2.5,1),COLORFF00FF;
RSI底背:IF(B3 0,-0.1,0),COLORYELLOW,{POINTDOT};
STICKLINE(B3 0,-0.3,0,2.5,1),COLORYELLOW;
MACD顶背:IF(D1 0,0.1,0),COLOR00FF00,{POINTDOT};
STICKLINE(D1 0,0.3,0,2.5,1),COLOR00FF00;
KDJ顶背:IF(D2 0,0.1,0),COLORFFCC66,{POINTDOT};
STICKLINE(D2 0,0.3,0,2.5,1),COLORFFCC66;
RSI顶背:IF(D3 0,0.1,0),COLORWHITE,{POINTDOT};
STICKLINE(D3 0,0.3,0,2.5,1),COLORWHITE;
{画零轴上下线}
STICKLINE(MACD =0 AND MACD =REF(MACD,1),0,MACD,0,0),COLOR0000CC;
STICKLINE(MACD =0 AND MACD =REF(MACD,1),0,MACD,0,0),COLOR0099FF;
STICKLINE(MACD =0 AND MACD =REF(MACD,1),0,MACD,0,0),COLORFF9900;
STICKLINE(MACD =0 AND MACD =REF(MACD,1),0,MACD,0,0),COLOR99CC00;
{红蓝箭头标注}
多转空:=((((LLV(MACD,4) 0) AND (MACD REF(MACD,1))) AND (REF(MACD,1) REF(MACD,2))) AND (REF(MACD,2) REF(MACD,3)));
空转多:=((((HHV(MACD,4) 0) AND (MACD REF(MACD,1))) AND (REF(MACD,1) REF(MACD,2))) AND (REF(MACD,2) REF(MACD,3)));
DRAWICON(多转空,MACD,2);
DRAWICON(空转多,MACD,1);
低位金叉:=CROSS(DIFF,DEA) AND DIFF -0.1;
DRAWTEXT(低位金叉,DEA,'低位金叉'),COLORFF00FF;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA =0));
二次金叉:=CROSS(DIFF,DEA) AND DEA 0 AND COUNT(JCCOUNT=2,21)=1;
STICKLINE(二次金叉,0,0.2,2,0),COLORFF00FF;
DRAWTEXT(二次金叉,DEA*1.06,'二次金叉'),COLORRED;
{A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
顶背离:=REF(CLOSE,A1+1) CLOSE AND DIFF REF(DIFF,A1+1) AND CROSS(DIFF,DEA);
DRAWTEXT(顶背离,MACD+0.5,'顶背离'),COLORWHITE;
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
底背离:=REF(CLOSE,A2+1) CLOSE AND REF(DIFF,A2+1) DIFF AND CROSS(DEA,DIFF);
DRAWTEXT(底背离,MACD-0.5,'底背离'),COLORWHITE;}
{DIFF,COLORGREEN;
DEA,COLORYELLOW;}
强:IF(DIFF MA(DIFF,2),DIFF,DRAWNULL),COLORRED;
弱:IF(DEA MA(DEA,2),DEA,DRAWNULL),COLORMAGENTA;
{标注斐波那契数字}
TJ:=MACD
T:=MACD
A:=LLV(MACD,50)=MACD;
DRAWICON(A AND FILTERX(A,20), MACD,1);
{DRAWTEXT(BARSLAST(TJ)=1,MACD-0.1,'1'),COLORYELLOW;
DRAWTEXT(BARSLAST(TJ)=2,MACD-0.1,'2'),COLORYELLOW;}
DRAWTEXT(BARSLAST(TJ)=3,MACD-0.2,'3'),COLORYELLOW;
DRAWTEXT(BARSLAST(TJ)=5,MACD-0.2,'5'),COLORYELLOW;
DRAWTEXT(BARSLAST(TJ)=8,MACD-0.2,'8'),COLORYELLOW;
DRAWTEXT(BARSLAST(TJ)=13,MACD-0.2,'13'),COLORYELLOW;
DRAWTEXT(BARSLAST(TJ)=21,MACD-0.2,'21'),COLORYELLOW;
DRAWTEXT(BARSLAST(TJ)=34,MACD-0.2,'34'),COLORYELLOW;
DRAWTEXT(BARSLAST(TJ)=55,MACD-0.2,'55'),COLORYELLOW;
{DRAWTEXT(BARSLAST(T)=1,MACD+0.1,'1'),COLORGREEN;
DRAWTEXT(BARSLAST(T)=2,MACD+0.1,'2'),COLORGREEN;}
DRAWTEXT(BARSLAST(T)=3,MACD+0.2,'3'),COLORGREEN;
DRAWTEXT(BARSLAST(T)=5,MACD+0.2,'5'),COLORGREEN;
DRAWTEXT(BARSLAST(T)=8,MACD+0.2,'8'),COLORGREEN;
DRAWTEXT(BARSLAST(T)=13,MACD+0.2,'13'),COLORGREEN;
DRAWTEXT(BARSLAST(T)=21,MACD+0.2,'21'),COLORGREEN;
DRAWTEXT(BARSLAST(T)=34,MACD+0.2,'34'),COLORGREEN;
DRAWTEXT(BARSLAST(T)=55,MACD+0.2,'55'),COLORGREEN;