LONGP:=34;
SHORTP:=5;
M:=5;
DIFF:=EMA(CLOSE,SHORTP)-EMA(CLOSE,LONGP);
DEA:=EMA(DIFF,M);
MACD2:=2*(DIFF-DEA);
VERTLINE1(CLOSE<0 AND CROSS(DIFF,0)),RGB(128,0,0);
VERTLINE1(CLOSE<0 AND CROSS(MACD2,0)), RGB(128,0,0);
VERTLINE1(CLOSE<0 AND CROSS(0,DIFF)), COLORGRAY;
VERTLINE1(CLOSE<0 AND CROSS(0,MACD2)), COLORGRAY;
DU0:=CROSS(DIFF,0);
UD0:=CROSS(0,DIFF);
TDU0:=BARSLAST(DU0);
TUD0:=BARSLAST(UD0);
DU3:=REF(DU0,1);
UD3:=REF(UD0,1);
TDU3:=BARSLAST(DU3);
TUD3:=BARSLAST(UD3);
UDGLINE:=IF(TDU3<TUD3,REF(HHV(HIGH,2),TDU3),REF(LLV(LOW,2),TUD3));
JDU0:=REF(CLOSE,1)<=REF(UDGLINE,1) AND CLOSE>UDGLINE AND TDU0<TUD0;
JUD0:=REF(CLOSE,1)>=REF(UDGLINE,1) AND CLOSE<UDGLINE AND TUD0<TDU0;
JDU1:=JDU0 AND COUNT(JDU0,TDU0)=1;
JUD1:=JUD0 AND COUNT(JUD0,TUD0)=1;
JDU2:=JDU1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1);
JUD2:=JUD1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1);
JDU3:=JDU1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1);
JUD3:=JUD1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1);
BSLINE:=IF(BARSLAST(JDU2)<BARSLAST(JUD2),IF(REF(CROSS(0,MACD2),1),LLV(LOW,2),REF(LLV(LOW,2),BARSLAST(REF(CROSS(0,MACD2),1)))),IF(REF(CROSS(MACD2,0),1),HHV(HIGH,2),REF(HHV(HIGH,2),BARSLAST(REF(CROSS(MACD2,0),1)))));
DRAWICON(JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1),0,10);
DRAWICON(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),0,11);
STICKLINE(MACD2>=0,0,MACD2,6,1), COLORRED;
STICKLINE(MACD2>=0 AND MACD2<REF(MACD2,1),0,MACD2,6,0), COLORRED;
STICKLINE(MACD2<0,0,MACD2,6,0), COLORCYAN;
STICKLINE(MACD2<0 AND MACD2>REF(MACD2,1),0,MACD2,6,1), COLORCYAN;
DIF:DIFF, LINETHICK2, COLORYELLOW;
MACD:DEA, COLORGREEN;
DEF:MACD2, NODRAW, COLORCYAN;
STICKLINE(CLOSE>0,0,0,10,0), COLORGRAY;
DEFUT:=BARSLAST(CROSS(MACD2,0));
DEFDT:=BARSLAST(CROSS(0,MACD2));
DEFUL:=IF(MACD2>=0,HHV(MACD2,DEFUT+1),REF(HHV(MACD2,DEFUT+1),DEFDT+1));
DEFDL:=IF(MACD2<0,LLV(MACD2,DEFDT+1),REF(LLV(MACD2,DEFDT+1),DEFUT+1));
DEFU2L:=REF(DEFUL,DEFUT+1);
DEFD2L:=REF(DEFDL,DEFDT+1);
DRAWICON(LLV(MACD2,4)>0 AND MACD2<REF(MACD2,1) AND REF(MACD2,1)>REF(MACD2,2) AND REF(MACD2,2)>REF(MACD2,3),MACD2,5);
DRAWICON(HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3),MACD2,4);
DRAWICON((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND MACD2>=0 AND REF(MACD2,1)<REF(DEFU2L,1) AND MACD2>DEFU2L,MACD2,12);
DRAWICON((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L,MACD2,12);
DRAWTEXT(JDU2&&ISLASTBAR,MACD*1.3,'注意长线趋势空转多');
DRAWTEXT(JUD2&&ISLASTBAR,MACD*1.3,'注意长线趋势多转空');
DRAWTEXT((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1))&&ISLASTBAR,MACD*1.3,'长线为多头趋势');
DRAWTEXT((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1))&&ISLASTBAR,MACD*1.3,'长线为空头趋势');
DRAWTEXT(((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND CLOSE<BSLINE)&&ISLASTBAR,MACD,'防守价跌破:多头小心');
DRAWTEXT(((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND CLOSE>BSLINE)&&ISLASTBAR,MACD,'防守价突破:空头小心');
DRAWTEXT(((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND CROSS(MACD2,0))&&ISLASTBAR,MACD,'空头注意今明两日高点压力\N找日落K线放空,用线控盘');
DRAWTEXT(((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND CROSS(0,MACD2))&&ISLASTBAR,MACD,'多头注意今明两日低点支撑\N找日出K线做多,用线控盘');
DRAWTEXT(((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND MACD2>=0 AND REF(MACD2,1)<REF(DEFU2L,1) AND MACD2>DEFU2L)&&ISLASTBAR,MACD,'DEF柱状特殊研判\N空头注意今明两日高点压力');
DRAWTEXT(((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L)&&ISLASTBAR,MACD,'DEF柱状特殊研判\N多头注意今明两日低点支撑');
DRAWTEXT((REF(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),1) AND CROSS(REF(MACD2,1),0))&&ISLASTBAR,MACD,'找日落K线放空,用线控盘');
DRAWTEXT((REF(JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1),1) AND CROSS(0,REF(MACD2,1)))&&ISLASTBAR,MACD,'找日出K线进场,用线控盘');
DRAWTEXT((LLV(MACD2,4)>0 AND MACD2<REF(MACD2,1) AND REF(MACD2,1)>REF(MACD2,2) AND REF(MACD2,2)>REF(MACD2,3))&&ISLASTBAR,MACD,'请注意DEF柱状缩头');
DRAWTEXT((HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3))&&ISLASTBAR,MACD,'请注意DEF柱状缩脚');