这是一个基于MACD的复合指标,主要用于识别趋势强度、买卖信号和背离形态。
核心功能:
1. MACD基础显示:绘制DIF、DEA线和MACD柱状图,并用不同颜色区分强度。
2. 金叉信号增强:特别标注“低位金叉”、“二次金叉”和“三次金叉”,并辅以图标和文字提示。
3. RSI辅助提示:结合RSI指标,在副图标注超卖(底)和超买(减/清仓)的潜在买卖点。
4. 背离侦测:内置了“底背离”和“直接底背离”的判断逻辑,用于发现价格与动量指标之间的潜在转折信号。
使用要点:
指标在MACD常规图表上叠加了多种信号标记(图标、文字、色柱)。
“二次金叉”、“三次金叉” 及 “底” 图标是重点关注的潜在做多或关注信号。
“减/清仓” 图标是潜在的卖出或风险提示信号。
背离信号(底背离)出现时,提示可能存在趋势衰竭、反转机会,需结合价格形态综合判断。
指标信号较多,建议作为辅助工具,与其他分析方法结合使用,避免单一信号误判。
DIF:MACD.DIF,COLORLIGRAY;
DEA:MACD.DEA,COLORYELLOW;
强度:IF(DIF>DEA,DIF,DRAWNULL),COLORRED;
强度1:IF(DEA< DIF,DEA,DRAWNULL),COLORMAGENTA;
MACD:(DIF-DEA)*2,COLORSTICK;
MACD2:=MACD;
MJ:=MACD;
S05:=SUM(MJ,0);
QST:=BARSLAST(MJ< 0 AND REF(MJ,1)>0)+1;
QXT:=BARSLAST(MJ>0 AND REF(MJ,1)< 0)+1;
S5:=IF(MJ>0,S05-REF(S05,BARSLAST(MJ< 0)),S05-REF(S05,BARSLAST(MJ>0)))/10;
ST:=IF(MJ>0,REF(QST,QXT)+QXT,REF(QXT,QST)+QST);
RS5:=REF(S5,ST);
低位金叉:=CROSS(DIF,DEA) AND DIF< -0.1;
JCCOUNT:=COUNT(CROSS(DIF,DEA),BARSLAST(DEA>=0));
二次金叉:=CROSS(DIF,DEA) AND DEA< 0 AND COUNT(JCCOUNT=2,21)=1;
DRAWICON(二次金叉,0,25);
三次金叉:=CROSS(DIF,DEA) AND DEA< 0 AND COUNT(JCCOUNT=3,60)=1;
DRAWICON(三次金叉,0,26);
A002:=BARSLAST(REF(CROSS(DIF,DEA),1));
底背离:=REF(CLOSE,A002+1)>CLOSE AND DIF>REF(DIF,A002+1) AND CROSS(DIF,DEA);
DRAWICON(LONGCROSS(CLOSE,MA(CLOSE,5),17),MACD2,1);
DRAWTEXT(二次金叉>低位金叉,DIF,'金2'),COLORRED;
C81:=REF(C,1);
RN:=9;
RSI1:=SMA(MAX(C-C81,0),RN,1)/SMA(ABS(C-C81),RN,1)*100;
低点:=CROSS(RSI1,20);
STICKLINE(低点,0.1,0,0.3,0),COLORYELLOW;
DRAWICON(低点, 0.15,1);
DRAWTEXT(低点, 0.14,'←底'),COLORYELLOW;
顶:=CROSS(80,RSI1);
DRAWICON(顶, DIF*1.15,2);
DRAWTEXT(顶, DIF*1.1,'←减/清仓'),COLORGREEN;
死叉:=CROSS(DEA,DIF);
N1:=BARSLAST(死叉),NODRAW;
N2:=REF(BARSLAST(死叉),N1+1),NODRAW;
N3:=REF(BARSLAST(死叉),N2+N1+2),NODRAW;
CL1:=LLV(C,N1+1),NODRAW;
DIFL1:=LLV(DIF,N1+1),NODRAW;
CL2:=REF(CL1,N1+1),NODRAW;
DIFL2:=REF(DIFL1,N1+1),NODRAW;
CL3:=REF(CL2,N1+1),NODRAW;
DIFL3:=REF(DIFL2,N1+1),NODRAW;
PDIFL2:=IF(DIFL2>0,INTPART(LOG(DIFL2))-1,INTPART(LOG(-DIFL2))-1);
MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
PDIFL3:=IF(DIFL3>0,INTPART(LOG(DIFL3))-1,INTPART(LOG(-DIFL3))-1);
MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
MDIFB2:=INTPART(DIF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIF/POW(10,PDIFL3));
直接底背离:=(CL1< CL2 );