M1:=12;
M2:=50;
M3:=60;
EXP1:expma(CLOSE,M1);
EXP2:EXPMA(CLOSE,M2);
EXP3:EXPMA(CLOSE,M3);
AB:=EMA((((((((2 * C) + H) + L) / 4) - LLV(LOW,30)) / (HHV(HIGH,30) - LLV(LOW,30))) * 100),8);
BA:=EMA(AB,5);
A1:=REFDATE(REF(HHV(H,96),5),DATE);
B1:=REFDATE(REF(LLV(L,96),5),DATE);
DY:=((A1 + B1) / 2);
箱顶:IF(((AB > 0) AND ((AB - BA) <= 0)),A1,A1),LINETHICK3,COLORGREEN;
箱腰:IF(((AB > 0) AND ((AB - BA) <= 0)),DY,DY),LINETHICK3,COLORGREEN;
箱低:IF(((AB > 0) AND ((AB - BA) <= 0)),B1,B1),LINETHICK3,COLORGREEN;
高1:IF(((AB > 0) AND ((AB - BA) > 0)),A1,DRAWNULL),LINETHICK3,COLORRED;
中1:IF(((AB > 0) AND ((AB - BA) > 0)),DY,DRAWNULL),LINETHICK3,COLORRED;
低1:IF(((AB > 0) AND ((AB - BA) > 0)),B1,DRAWNULL),LINETHICK3,COLORRED;
顶周期:=topRANGE(H);
底周期:=LOwrANGE(L);
上内:=LLVBARS(H,顶周期);
上外:=LLVBARS(L,顶周期);
下内:=HHVBARS(L,底周期);
下外:=HHVBARS(H,底周期);
上力度:=(HHV(L,(上内 + 1)) > LLV(H,(上内 + 1)));
下力度:=(HHV(L,(下内 + 1)) > LLV(H,(下内 + 1)));
上包含:=((COUNT((L >= REF(L,1)),上外) > 2) AND (COUNT((H >= REF(H,1)),上内) > 2));
下包含:=((COUNT((H <= REF(H,1)),下外) > 2) AND (COUNT((L <= REF(L,1)),下内) > 2));
顶0:=(((顶周期 AND 上力度) AND 上包含) AND (上外 > 3));
底0:=(((底周期 AND 下力度) AND 下包含) AND (下外 > 3));
顶分天数:=BArslAST(顶0);
底分天数:=BARSLAST(底0);
含中间k线:=(IF((顶分天数 = 0),底分天数,顶分天数) >= 3);
顶:=((顶0 AND 含中间K线) AND (H = HHV(H,BARSLAST(底0))));
底:=((底0 AND 含中间K线) AND (L = LLV(L,BARSLAST(顶0))));
NOTEXT上笔划线:DRAWLINE(底,L,顶,H,0),LINETHICK3,COLOR8080FF;
NOTEXT下笔划线:DRAWLINE(顶,H,底,L,0),LINETHICK3,COLOR40C040;
分界点:=(NOTEXT上笔划线 AND NOTEXT下笔划线);
位置调整:=IF((PERIOD = 11),0.02,IF((PERIOD = 10),0.02,IF((PERIOD = 9),0.02,IF((PERIOD = 8),0.001,IF((PERIOD = 7),0.02,IF((PERIOD = 6),0.01,IF((PERIOD = 5),0.005,IF((PERIOD = 4),0.002,IF((PERIOD = 3),0.001,IF((PERIOD = 2),0.001,IF((PERIOD = 1),0.0003,IF((PERIOD = 0),0.0002,0))))))))))));
DRAWNUMBER((分界点 AND 顶),(H + (H * 位置调整)),H),COLOR40C040;
DRAWNUMBER((分界点 AND 底),L,L),COLOR8000FF;
持仓:IF((C >= SAR(4,2,20)),sar(4,2,20),DRAWNULL),CIRCLEDOT,COLORRED;
空仓:IF((C <= SAR(4,2,20)),SAR(4,2,20),DRAWNULL),CIRCLEDOT,COLORGREEN;