SJ:=IFELSE(DATE+20000000<20210225,1,1);//什么时间到期就写什么时间
//减3天,上面时间提前1天到期29号28号就提示
MA8:=IF(DATE<=0210222,1,1),NODRAW;//*MA8,,RGB(191,6,30)
////、高2级别 (BOLL600)十字分割线:
//BOLL600基础布林线;
MA600:=(MA(CLOSE,600))*MA8;
标准差600:=(STD(CLOSE,600))*MA8;
上轨600:=(MA600+2*标准差600)*MA8;
下轨600:=(MA600-2*标准差600)*MA8;
NBOLL600:=BARSLAST(CROSSDOWN(L,下轨600))+1;
M600:=BARSLAST(CROSS(H,上轨600))+1;
LLBOLL600:=IF(L<下轨600,L,100000000);
HHBOLL600:=IF(H>上轨600,H,0);
LX600:=BACKSET(M600=1&&REF(EXIST(NBOLL600=1,M600),1),REF(LLVBARS(LLBOLL600,M600),1)+2);
HX600:=BACKSET(NBOLL600=1&&REF(EXIST(M600=1,NBOLL600),1),REF(HHVBARS(HHBOLL600,NBOLL600),1)+2);
//1、BOLL600垂直线;
A600:=CROSS(LX600=1,0.5)&&COUNT(CROSS(LX600=1,0.5),BARSLAST(CROSS(HX600=1,0.5))+1)=1;
B600:=CROSS(HX600=1,0.5)&&COUNT(CROSS(HX600=1,0.5),BARSLAST(CROSS(LX600=1,0.5))+1)=1;
//BOLL120基础布林线;
MA120:=(MA(CLOSE,120))*MA8,NOTEXT;
标准差120:=(STD(CLOSE,120))*MA8;
上轨120:=(MA120+2*标准差120)*MA8,NOTEXT;
下轨120:=(MA120-2*标准差120)*MA8,NOTEXT;
NBOLL120:=BARSLAST(CROSSDOWN(L,下轨120))+1;
M120:=BARSLAST(CROSS(H,上轨120))+1;
LLBOLL120:=IF(L<下轨120,L,100000000);
HHBOLL120:=IF(H>上轨120,H,0);
LX120:=BACKSET(M120=1&&REF(EXIST(NBOLL120=1,M120),1),REF(LLVBARS(LLBOLL120,M120),1)+2);
HX120:=BACKSET(NBOLL120=1&&REF(EXIST(M120=1,NBOLL120),1),REF(HHVBARS(HHBOLL120,NBOLL120),1)+2);
////、高1级别 (BOLL120)十字分割线,高,1级别笔起点:
//1、BOLL120垂直线;
A120:=CROSS(LX120=1,0.5)&&COUNT(CROSS(LX120=1,0.5),BARSLAST(CROSS(HX120=1,0.5))+1)=1;
B120:=CROSS(HX120=1,0.5)&&COUNT(CROSS(HX120=1,0.5),BARSLAST(CROSS(LX120=1,0.5))+1)=1;
DIF:=(EMA(CLOSE,12)-EMA(CLOSE,26))*MA8;
DEA:=(EMA(DIF,9))*MA8;
MACD:=((DIF-DEA)*2)*MA8;
//-----面积
积TJF:=MACD<0;
积TSF:=BARSLASTCOUNT(积TJF);
积TJZ:=MACD>=0;
积TSZ:=BARSLASTCOUNT(积TJZ);
积J:=CROSS(DIF,DEA),NODRAW;
积S:=CROSSDOWN(DIF,DEA),NODRAW;
积DD:=REFX1(积J,1),NODRAW;
积KK:=REFX1(积S,1),NODRAW;
前6正:=REF(SUM(ABS(MACD),BARSLAST(积J)+1)*积TSZ,SUMBARS(积KK,7)-1),NODRAW,COLORRED;
前5正:=REF(SUM(ABS(MACD),BARSLAST(积J)+1)*积TSZ,SUMBARS(积KK,6)-1),NODRAW,COLORRED;
前4正:=REF(SUM(ABS(MACD),BARSLAST(积J)+1)*积TSZ,SUMBARS(积KK,5)-1),NODRAW,COLORRED;
前3正:REF(SUM(ABS(MACD),BARSLAST(积J)+1)*积TSZ,SUMBARS(积KK,4)-1),NODRAW,COLORRED;
前2正:REF(SUM(ABS(MACD),BARSLAST(积J)+1)*积TSZ,SUMBARS(积KK,3)-1),NODRAW,COLORRED;
前1正:REF(SUM(ABS(MACD),BARSLAST(积J)+1)*积TSZ,SUMBARS(积KK,2)-1),NODRAW,COLORRED;
最近正:REF(SUM(ABS(MACD),BARSLAST(积J)+1)*积TSZ,SUMBARS(积KK,1)-1),NODRAW,COLORRED;
前6负:=REF(SUM(ABS(MACD),BARSLAST(积S)+1)*积TSF,SUMBARS(积DD,4)-1),NODRAW,COLORGREEN;
前5负:=REF(SUM(ABS(MACD),BARSLAST(积S)+1)*积TSF,SUMBARS(积DD,3)-1),NODRAW,COLORGREEN;
前4负:=REF(SUM(ABS(MACD),BARSLAST(积S)+1)*积TSF,SUMBARS(积DD,2)-1),NODRAW,COLORGREEN;
前3负:REF(SUM(ABS(MACD),BARSLAST(积S)+1)*积TSF,SUMBARS(积DD,4)-1),NODRAW,COLORGREEN;
前2负:REF(SUM(ABS(MACD),BARSLAST(积S)+1)*积TSF,SUMBARS(积DD,3)-1),NODRAW,COLORGREEN;
前1负:REF(SUM(ABS(MACD),BARSLAST(积S)+1)*积TSF,SUMBARS(积DD,2)-1),NODRAW,COLORGREEN;
最近负:REF(SUM(ABS(MACD),BARSLAST(积S)+1)*积TSF,SUMBARS(积DD,1)-1),NODRAW,COLORGREEN;
正面积:SUM(MACD,积TSZ)*积TSZ,NODRAW,COLORYELLOW;
负面积:ABS(SUM(MACD,积TSF)*积TSF),NODRAW,COLORCYAN;
积D4:=BACKSET(ISLASTBAR,SUMBARS(积DD,20));
积K4:=BACKSET(ISLASTBAR,SUMBARS(积KK,20));
DRAWCOLORLINE(DIF>=DEA,DIF,RGB(255,0,255),RGB(0,240,0));
DRAWCOLORLINE(DIF<DEA,DEA,RGB(0,240,0),RGB(255,0,255));
//2.2、MACD柱子增多,用红色;减少,用蓝色;
A110:=IF(MACD<REF(MACD,1) , MACD,0 ),STICK,RGB(0,255,255),LINETHICK3,NOTEXT;
A21:=IF(MACD>=REF(MACD,1) ,MACD,0 ),STICK,RGB(255,0,0),LINETHICK3,NOTEXT;
//2.3、MACD柱子底背驰,黄色;
A3:=IF(L=LLV(L,25) AND L<REF(L,1) AND MACD>REF(MACD,1),1,0 );
//STICKLINE1(A3=1,0,MACD,2,0),RGB(255,255,0),STICK,LINETHICK3;
//2.4、MACD柱子顶背驰,黄色;
A4:=IF(H=HHV(H,25) AND H>REF(H,1) AND MACD<REF(MACD,1),1,0 );
//STICKLINE1(A4=1,0,MACD,2,0),RGB(255,255,0),STICK,LINETHICK3;
JC26:=CROSS(DIF,DEA);//均线金叉
SC26:=CROSSDOWN(DIF,DEA);//均线死叉
N126:=BARSLAST(JC26)+1;
N226:=BARSLAST(SC26)+1;
MHD:=VALUEWHEN(CROSSDOWN(DIF,DEA),HHV(DIF,N126));//均线死叉时,取上一次MACD的最高值。即死叉前MACD的最高值。
MHD2:=VALUEWHEN(CROSSDOWN(DIF,DEA),REF(MHD,1));//均线死叉时,取上上次MACD的最高值。即上次死叉前MACD的最高值。
HH:=VALUEWHEN(CROSSDOWN(DIF,DEA),HHV(H,N126));//均线死叉时,取上一次阳线收盘价的最高值。即死叉前阳线最高价的最高值。
HH2:=VALUEWHEN(CROSSDOWN(DIF,DEA),REF(HH,1));//均线死叉时,取上上次阳线收盘价的最高值。即上次死叉前最高价的最高值。
MLD:=VALUEWHEN(CROSS(DIF,DEA),LLV(DIF,N226));//均线金叉时,取上一次MACD的最低值。即金叉前MACD的最低值。
MLD2:=VALUEWHEN(CROSS(DIF,DEA),REF(MLD,1));//均线金叉时,取上上次MACD的最低值。即上次金叉前MACD的最低值。
LL:=VALUEWHEN(CROSS(DIF,DEA),LLV(L,N226));//均线金叉时,取上次阴线收盘价的最低值。即金叉前最低价的最低值。
LL2:=VALUEWHEN(CROSS(DIF,DEA),REF(LL,1));//均线金叉时,取上上次阴线收盘价的最低值。即上金叉前最低价的最低值。
A26:=CROSSDOWN(DIF,DEA)&&HH>HH2&&MHD<=MHD2;//死叉,同时上波红柱K线最大值大于上上波红柱K线最大值,同时上波红柱MACD最大值小于等于上上波MACD最大值
B26:=CROSS(DIF,DEA)&&LL<LL2&&MLD>=MLD2;//金叉。同时上波绿柱K线最小值小于上上波K线最小值,同时上波绿柱MACD最小值大于等于上上波MACD最小值,
//均线底背驰,高1级别底分型;
DRAWSL(B26 ,MLD2,0,-SUMBARS(CROSS(DIF,DEA),2)+1,0,RGB(255,0,255)),DOT; //满足T1条件在D2位置向左画水平线,画到上上次MACD金叉的位置
//DRAWLINE(B26,MLD2,1,MLD,RGB(255,0,255)),DOT;// 满足T1条件画从D1到D2的垂线
DRAWTEXT(B26,MLD2,'底背'),VALIGN0,RGB(255,0,255),FONTSIZE16;//满足条件,标注文字
//均线顶背驰,高1级别顶分型;
DRAWSL(A26,MHD2,0,-SUMBARS(CROSSDOWN(DIF,DEA),2)+1,0,RGB(0,240,0)),DOT; //满足T1条件在D2位置向左画水平线,画到上上次MACD金叉的位置
//DRAWLINE(A26 ,MHD2,1,MHD,RGB(0,240,0)),DOT; // 满足T1条件画从D1到D2的垂线
DRAWTEXT(A26,MHD2,'顶背'),VALIGN2,RGB(0,240,0),FONTSIZE16;//满足条件,标注文字//背驰时声音报警;
//----
启动点:=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),SOUND('D');
启动点A:0,COLORYELLOW;
衰竭点:=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);
DRAWICON(CROSS(DIF,DEA),DIF,4),VALIGN0;
DRAWICON(CROSSDOWN(DIF,DEA),DIF,5),VALIGN2;
点JC:=CROSS(DIF,DEA);
点SC:=CROSSDOWN(DIF,DEA);
DRAWICON(点JC,DIF,4);
DRAWICON(点SC,DIF,5);
A:=CROSSDOWN(DIF,DEA)&&HH>HH2&&MHD<MHD2;//顶背离
B:=CROSS(DIF,DEA)&&LL<LL2&&MLD>MLD2;//底背离
DRAWICON(A,MACD,5);
DRAWICON(B,MACD,4);
P:=BACKSET(点SC,HHVBARS(MACD,BARSLAST(点JC)+1)+1);
Q:=BACKSET(点JC,LLVBARS(MACD,BARSLAST(点SC)+1)+1);
J:=CROSS(DIF,DEA);
S:=CROSSDOWN(DIF,DEA);
DIF120:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA120:=EMA(DIF120,9);
MACD120:=(DIF120-DEA120)*2;
//2.1、均线金叉用红线,死叉用绿线;
DRAWCOLORLINE(DIF120>=DEA120,DIF120,RGB(255,0,0),RGB(0,128,255));
DRAWCOLORLINE(DIF120<DEA120,DEA120,RGB(0,128,255),RGB(255,0,0));
JC:=CROSS(DIF120,DEA120);
SC:=CROSSDOWN(DIF120,DEA120);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
//1、最后一次金叉,画红色垂直虚线,反之,绿色虚线;
//VERTLINE(REFX(JC*MA8,2),COLORRED),DASH;//金叉画垂直线;
DRAWTEXT(REFX(JC*MA8,1),MIN(LLV(DIF,60),LLV(MACD,60)),'底分型'),RGB(150,150,150),VALIGN2,ALIGN2,FONTSIZE18;//金叉标注文字
//VERTLINE(REFX(SC*MA8,2),COLORGREEN),DASH;//死叉画垂直线;
DRAWTEXT(REFX(SC*MA8,1),MAX(HHV(DIF,60), DIF120),'顶分型'),RGB(150,150,150),VALIGN2,ALIGN2,FONTSIZE18;//死叉标注文字;
STICKLINE1(MACD>0,0,MACD,0,0),COLORRED;
STICKLINE1(MACD<0,0,MACD,0,0),COLORCYAN;