{MACD定量结构副图源码如下图源码如下}
获利比例:WINNER(CLOSE)*100,NODRAW,COLORYELLOW;
筹码集中度:(COST(95)-COST(5))/(COST(95)+COST(5))*100,NODRAW;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;
{RSI买卖点-不需要的可以屏蔽}
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 ) AND (MDIFB2>MDIFL2) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB2<=REF(MDIFB2,1);
隔峰底背离:=(CL1<CL3 AND CL3<CL2 ) AND (MDIFB3>MDIFL3) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB3<=REF(MDIFB3,1);
B6:直接底背离 OR 隔峰底背离,NODRAW;
BG:((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),NODRAW;
底背离消失:=(REF(直接底背离,1) AND DIFL1<=DIFL2 ) OR (REF(隔峰底背离,1) AND DIFL1<=DIFL3);
DRAWTEXT(TFILTER(B6,MACD>0,1),(DIF+MACD),'钝化'),COLORRED;
STICKLINE(B6 OR BG,DIF,DEA,1,-1),COLORRED;
DRAWTEXT(TFILTER(底背离消失,B6,1),(DIF+MACD),'消失'),COLORYELLOW;
DRAWTEXT(TFILTER(BG,MACD>0,1),DIF*1.1,'M底背'),COLORMAGENTA;
{顶部结构预警}
金叉:=CROSS(DIF,DEA);
M1:=BARSLAST(金叉),NODRAW;{最近一次金叉的位置}
M2:=REF(BARSLAST(金叉),M1+1),NODRAW;{倒数第二次金叉与倒数第一次金叉的区间}
M3:=REF(BARSLAST(金叉),M2+M1+2),NODRAW;{倒数第三次金叉与倒数第二次金叉的区间}
CH1:=HHV(C,M1+1),NODRAW;{最近一次金叉后,最高收盘价}
DIFH1:=HHV(DIF,M1+1),NODRAW;
CH2:=REF(CH1,M1+1),NODRAW;{倒数第二次金叉与倒数第一次金叉之间的最高收盘价}
DIFH2:=REF(DIFH1,M1+1),NODRAW;
CH3:=REF(CH2,M1+1),NODRAW;{倒数第三次金叉与倒数第二次金叉之间的最高收盘价}
DIFH3:=REF(DIFH2,M1+1),NODRAW;
PDIFH2:=IF(DIFH2>0,INTPART(LOG(DIFH2))-1,INTPART(LOG(-DIFH2))-1);
MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));
PDIFH3:=IF(DIFH3>0,INTPART(LOG(DIFH3))-1,INTPART(LOG(-DIFH3))-1);
MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));
MDIFT2:=INTPART(DIF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIF/POW(10,PDIFH3));
直接顶背离:=(CH1>CH2 ) AND (MDIFT2<MDIFH2) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT2>=REF(MDIFT2,1);
隔峰顶背离:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3<MDIFH3) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,1);
T6:直接顶背离 OR 隔峰顶背离,NODRAW;
TG:((MDIFT2<REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(隔峰顶背离,1)),NODRAW;
顶背离消失:=(REF(直接顶背离,1) AND DIFH1>=DIFH2 ) OR (REF(隔峰顶背离,1) AND DIFH1>=DIFH3);
DRAWTEXT(TFILTER(T6,MACD<0,1),(DIF+MACD),'钝化'),COLORGREEN;
DRAWTEXT(TFILTER(顶背离消失,T6,1),(DIF+MACD),'消失'),COLORYELLOW;
STICKLINE(T6 OR TG,DIF,DEA,1,-1),COLORLIGREEN;
DRAWTEXT(TFILTER(TG,MACD<0,1),DIF*1.02,'M顶背'),COLORMAGENTA;
{}
{};
TRR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
PDM:= SUM(IF(HD>0 AND HD>LD,HD,0),14);
MDM:= SUM(IF(LD>0 AND LD>HD,LD,0),14);
PDI:= PDM*100/TRR;
MDI:= MDM*100/TRR;
A1:=BARSLAST(REF(CROSS("MACD.DIF"(12,26,9),"MACD.DEA"(12,26,9)),1));
B1:=REF(C,A1+1)>C AND REF("MACD.DIF"(12,26,9),A1+1)<"MACD.DIF"(12,26,9) AND CROSS("MACD.DIF"(12,26,9),"MACD.DEA"(12,26,9));
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("MACD.DEA"(12,26,9),"MACD.DIF"(12,26,9)),1));
D1:=REF(C,C1+1)<C AND REF("MACD.DIF"(12,26,9),C1+1)>"MACD.DIF"(12,26,9) AND CROSS("MACD.DEA"(12,26,9),"MACD.DIF"(12,26,9));
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",C3+1)>"RSI.RSI1"
AND CROSS("RSI.RSI2","RSI.RSI1");
DRAWTEXT(B2>0,DIF*1.2,'K底'),COLORFF00FF;
DRAWTEXT(D2>0,DIF*1.2,'K顶'),COLORFFCC66;
DRAWTEXT(B3>0,DIF*1,'R底'),COLORYELLOW;
DRAWTEXT(D3>0,DIF*1,'R顶'),COLORFFFFFF;
{卧底藏龙}{副图}{选股}
TDJ1:=(H-L)/REF(C,1)>0.05;
YUL1:=COUNT(TDJ1,5)>1;
TU1:=CLOSE/MA(C,40)<0.74;
启动1:=TDJ1 AND YUL1 AND TU1;
ZC:=REF(CLOSE,1);
VAR1:=SMA(MAX(CLOSE-ZC,0),7,1)/SMA(ABS(CLOSE-ZC),7,1)*100;
VAR2:=((MA(C,30)-LOW)/MA(C,60))*200;
GL1:=FILTER(REF(VAR1,1)<20 AND VAR1>REF(VAR1,1),5);
波段1:=FILTER(GL1 AND REF(启动1,1) AND VAR2>20 AND C>REF(C,1),10);
MA5:=EMA(C,5);
EM5:=EMA(MA5,5);
VAR3:=ABS(MA5-EM5);
VAR4:=MA5-REF(MA5,1);
VAR5:=VAR4-REF(VAR4,1);
VAR6:=(VAR4+VAR5)/2;
TDF1:=POW(VAR3,1)*POW(VAR6,3);
NTDF1:=TDF1/HHV(ABS(TDF1),15);
确定1:=波段1 AND CROSS(NTDF1,-0.05);
选股1:=FILTER(REF(启动1,1) AND (确定1 OR C>REF(C,1)) AND "MACD.MACD"(12,26,9)>-1.5,10);
卧底1:(COUNT(选股1,13)>=1 AND (波段1 OR 确定1))*0.4,COLORRED;
DRAWTEXT(卧底1=0.4,0.3,'←卧底'),COLORRED;
{倍量副图源码如下}
TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
MTIME:=MOD(FROMOPEN,TOTAL);
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);
{倍量柱}
VVOL:IF(CURRBARSCOUNT=1 AND PERIOD=5,VOL*240/FROMOPEN,DRAWNULL),NODRAW;
STICKLINE(CURRBARSCOUNT=1 AND PERIOD=5,VVOL,0,-1,-1),COLOR00C0C0;
VOLUME:VOL,VOLSTICK;
AA:=VOL>REF(V,1)*1.9;{倍量}
{AA1:=VOL<REF(LLV(VOL,13),1);}
AA1:=V/REF(V,1)<=0.6;{缩倍量}
STICKLINE(AA,0,V,2,0),COLORYELLOW;
STICKLINE(AA1,0,V,2,0),COLOR1D7300;
MV5:MA(V,5)COLORYELLOW;
MV35:MA(V,35)COLORMAGENTA;{启动}
MV135:MA(V,135)COLOR1D7300;{异动}
DRAWICON(CROSS(MV5,MV135),MV5,1); {5日上穿135日做记号};
{振幅副图源码如下}
振幅:((H-L)/REF(C,1))*100,COLORRED,NODRAW;
振幅2:STICKLINE(振幅<2,0,振幅,2,0)COLORBLUE;
振幅2至3:STICKLINE(3>振幅 AND 振幅>=2,0,振幅,2,0)COLORBLUE;
STICKLINE(3>振幅 AND 振幅>=2,0,2,2,0)COLORBLUE;
振幅3至5:STICKLINE(5>振幅 AND 振幅>=3,0,振幅,2,0)COLORYELLOW;
STICKLINE(5>振幅 AND 振幅>=3,2,3,2,0)COLORBLUE;
STICKLINE(5>振幅 AND 振幅>=3,0,2,2,0)COLORBLUE;
振幅5至10:STICKLINE(10>振幅 AND 振幅>=5,0,振幅,2,0)COLORMAGENTA;
STICKLINE(10>振幅 AND 振幅>=5,3,5,2,0)COLORYELLOW;
STICKLINE(10>振幅 AND 振幅>=5,2,3,2,0)COLORBLUE;
STICKLINE(10>振幅 AND 振幅>=5,0,2,2,0)COLORBLUE;
振幅大于10:STICKLINE(振幅>=10,0,振幅,2,0)COLOR0000FF;
STICKLINE(振幅>=10,5,10,2,0)COLORMAGENTA;
STICKLINE(振幅>=10,3,5,2,0)COLORYELLOW;
STICKLINE(振幅>=10,2,3,2,0)COLORBLUE;
STICKLINE(振幅>=10,0,2,2,0)COLORBLUE;
3;5;10;
{呆呆兔主图源码如下}
分时均价:AMOUNT/VOL/100,NODRAW,COLORYELLOW;
{变色加粗BBI}
BBI:(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4,LINETHICK2;
IF(C>=BBI,BBI,DRAWNULL),COLORRED,LINETHICK2;
IF(C<BBI,BBI,DRAWNULL),COLORGREEN,LINETHICK2;
{近日最高最低价画线}
近日高:IF(CURRBARSCOUNT<=CONST(FINDHIGHBARS(HIGH,0,6,1)+1),CONST(FINDHIGH(HIGH,0,6,1)),DRAWNULL),COLORRED,LINETHICK1;
近日低:IF(CURRBARSCOUNT<=CONST(FINDLOWBARS(LOW,0,6,1)+1),CONST(FINDLOW(LOW,0,6,1)),DRAWNULL),COLORGREEN,LINETHICK1;
DRAWSL(ISLASTBAR,近日高,0,2000,1),COLORRED,LINETHICK1;
DRAWSL(ISLASTBAR,近日低,0,2000,1),COLORGREEN,LINETHICK1;
{涨跌停K线变色}
RQ:=IF(DATE>=1200824,1,0);
KCB:=IF(INBLOCK('科创板'),1,0);
CYB:=IF(INBLOCK('创业板') AND RQ,1,0);
{20%涨停洋红色,跌停蓝色}
STICKLINE(C/REF(C,1)>1.195 AND C=H AND (KCB OR CYB) AND PERIOD=5,O,C,3,0),COLORMAGENTA;
STICKLINE(C/REF(C,1)<0.805 AND C=L AND (KCB OR CYB) AND PERIOD=5,O,C,3,0),COLORBLUE;
{10%涨停红色,跌停绿色}
STICKLINE(C/REF(C,1)>1.095 AND C=H AND NOT(KCB OR CYB) AND PERIOD=5,O,C,3,0),COLORRED;
STICKLINE(C/REF(C,1)<0.905 AND C=L AND NOT(KCB OR CYB) AND PERIOD=5,O,C,3,0),COLORGREEN;
{自定义数据}
DRAWTEXT_FIX(1,0.00,0.00,0,'主营业务:')COLOR0000FF;
DRAWTEXT_FIX(1,0.05,0.00,0,EXTERNSTR(0,1))COLOR0000FF;
DRAWTEXT_FIX(1,0.00,0.07,0,'所属概念:')COLORFF00FF;
DRAWTEXT_FIX(1,0.05,0.07,0,EXTERNSTR(0,2))COLORFF00FF;
DRAWTEXT_FIX(1,0.00,0.14,0,'')COLOR00FF00;
DRAWTEXT_FIX(1,0.00,0.14,0,EXTERNSTR(0,3))COLOR00FF00;
DRAWTEXT_FIX(1,0.00,0.21,0,'解禁信息:')COLORYELLOW;
DRAWTEXT_FIX(1,0.05,0.21,0,EXTERNSTR(0,4))COLORYELLOW;
DRAWTEXT_FIX(1,0.00,0.28,0,'减持信息:')COLORYELLOW;
DRAWTEXT_FIX(1,0.05,0.28,0,EXTERNSTR(0,5))COLORYELLOW;
{周标记}
JZX:=WEEKDAY<>REF(WEEKDAY,1);{时间取值取周}
DRAWNUMBER(JZX,L,WEEKDAY)COLORYELLOW;