九毛八公式指标
公式模块:
DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=EMA(DIFF,M);
macd2:=2*(DIFF-DEA);
VERTLINE(CLOSE<0 AND crOSS(DIFF,0)),color80;
VERTLINE(CLOSE<0 AND CROSS(MacD2,0)),color80;
VERTLINE(CLOSE<0 AND CROSS(0,DIFF)),color808080;
VERTLINE(CLOSE<0 AND CROSS(0,MACD2)),color808080;
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),ALIGN4;
DRAWICON(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),0,11),ALIGN5;
STICKLINE(MACD2>=0,0,MACD2,6,1),colorFF;
STICKLINE(MACD2>=0 AND MACD2<REF(MACD2,1),0,MACD2,6,0),colorFF;
STICKLINE(MACD2<0,0,MACD2,6,0),colorFFFF00;
STICKLINE(MACD2<0 AND MACD2>REF(MACD2,1),0,MACD2,6,1),colorFFFF00;
DIF:DIFF,LINETHICK2,colorFFFF;
MACD:DEA,colorFF00;
DEF:MACD2,LINETHICK0,colorFFFF00;
STICKLINE(CLOSE>0,0,0,10,0),color808080;
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),ALIGN0;
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),ALIGN0;
DRAWICON((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L,MACD2,12);
EXPLAIN(JDU2,'注意长线趋势空转多');
EXPLAIN(JUD2,'注意长线趋势多转空');
EXPLAIN(JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1),'长线为多头趋势');
EXPLAIN(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),'长线为空头趋势');
EXPLAINEX(JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1),'MACD多头防守价',BSLINE,2,1);
EXPLAINEX(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),'MACD空头防守价',BSLINE,2,1);
EXPLAIN((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND CLOSE<BSLINE,'防守价跌破:多头小心');
EXPLAIN((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND CLOSE>BSLINE,'防守价突破:空头小心');
EXPLAIN((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND CROSS(MACD2,0),'空头注意今明两日高点压力/n找日落k线放空,用线控盘');
EXPLAIN((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND CROSS(0,MACD2),'多头注意今明两日低点支撑/n找日出K线做多,用线控盘');
EXPLAIN((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND MACD2>=0 AND REF(MACD2,1)<REF(DEFU2L,1) AND MACD2>DEFU2L,'DEF柱状特殊研判/n空头注意今明两日高点压力');
EXPLAIN((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L,'DEF柱状特殊研判/n多头注意今明两日低点支撑');
EXPLAINEX((REF(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),1)) AND CROSS(REF(MACD2,1),0),'空头注意压力',HHV(HIGH,2),2,1);
EXPLAIN((REF(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),1)) AND CROSS(REF(MACD2,1),0),'找日落K线放空,用线控盘');
EXPLAINEX((REF(JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1),1)) AND CROSS(0,REF(MACD2,1)),'多头注意支撑',LLV(LOW,2),2,1);
EXPLAIN((REF(JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1),1)) AND CROSS(0,REF(MACD2,1)),'找日出K线进场,用线控盘');
EXPLAIN(LLV(MACD2,4)>0 AND MACD2<REF(MACD2,1) AND REF(MACD2,1)>REF(MACD2,2) AND REF(MACD2,2)>REF(MACD2,3),'请注意DEF柱状缩头');
EXPLAIN(HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3),'请注意DEF柱状缩脚');(
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD2:=2*(DIFF-DEA);
VERTLINE(CLOSE<0 AND CROSS(DIFF,0),1),color000080;
VERTLINE(CLOSE<0 AND CROSS(MACD2,0),1),color000080;
VERTLINE(CLOSE<0 AND CROSS(0,DIFF),1),color808080;
VERTLINE(CLOSE<0 AND CROSS(0,MACD2),1),color808080;
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),ALIGN1;
DRAWICON(JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1),0,11),ALIGN1;
STICKLINE(MACD2>=0,0,MACD2,6,1),color0000FF;
STICKLINE(MACD2>=0 AND MACD2<REF(MACD2,1),0,MACD2,6,0),color0000FF;
STICKLINE(MACD2<0,0,MACD2,6,0),colorFFFF00;
STICKLINE(MACD2<0 AND MACD2>REF(MACD2,1),0,MACD2,6,1),colorFFFF00;
DIF:DIFF,LINETHICK2,color00FFFF;
MACD:DEA,color00FF00;
DEF:MACD2,LINETHICK0,colorFFFF00;
STICKLINE(CLOSE>0,0,0,10,0),color808080;
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),ALIGN0;
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),ALIGN0;
DRAWICON((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L,MACD2,12);