参考
YY:=H>REF(H,1)&&L>=REF(L,1)||H>REF(H,1)&&L<REF(L,1)&&ISUP;
GG:=H<=REF(H,1)&&L<REF(L,1)||H>REF(H,1)&&L<REF(L,1)&&ISDOWN;
DRAWCOLORKLINE(H>REF(H,1)&&L<REF(L,1)&&ISEQUAL&&BARSLAST(YY)<BARSLAST(GG),COLORRED,0);
DRAWCOLORKLINE(H>REF(H,1)&&L<REF(L,1)&&ISEQUAL&&BARSLAST(YY)>BARSLAST(GG),COLORCYAN,0);
A:H>REF(H,1)&&L>=REF(L,1)||H>REF(H,1)&&L<REF(L,1)&&ISUP||H>REF(H,1)&&L<REF(L,1)&&ISEQUAL&&BARSLAST(YY)<BARSLAST(GG),NODRAW;
AA:H<=REF(H,1)&&L<REF(L,1)||H>REF(H,1)&&L<REF(L,1)&&ISDOWN||H>REF(H,1)&&L<REF(L,1)&&ISEQUAL&&BARSLAST(YY)>BARSLAST(GG),NODRAW;
X:=A&&SUM(A,BARSLAST(AA))=1;
XX:=AA&&SUM(AA,BARSLAST(A))=1;
DRAWLINE3(X,LLV(L,BARSLAST(XX)+1),LLVBARS(L,BARSLAST(XX)+1),XX||ISLASTBAR,HHV(H,BARSLAST(X)+1),HHVBARS(H,BARSLAST(X)+1),0);
DRAWLINE3(XX,HHV(H,BARSLAST(X)+1),HHVBARS(H,BARSLAST(X)+1),X||ISLASTBAR,LLV(L,BARSLAST(XX)+1),LLVBARS(L,BARSLAST(XX)+1),0);
X1:=BARSLAST(X)+1;
X2:=BARSLAST(XX)+1;
P1:=BACKSET(ISLASTBAR&&X1<X2,X1);
P2:=BACKSET(ISLASTBAR&&X1>=X2,X2);
DRAWICON(P1>REF(P1,1),H,4);
DRAWICON(P2>REF(P2,1),H,5);
REF(A&&SUM(A,BARSLAST(AA))=1,1),SOUND('A');
REF(AA&&SUM(AA,BARSLAST(A))=1,1),SOUND('B');
//DRAWLINE3(X,LLV(L,BARSLAST(XX)+1),LLVBARS(L,BARSLAST(XX)+1),X,LLV(L,BARSLAST(XX)+1),LLVBARS(L,BARSLAST(XX)+1)-6,0),COLORRED,DOT;
//DRAWLINE3(XX,HHV(H,BARSLAST(X)+1),HHVBARS(H,BARSLAST(X)+1),XX,HHV(H,BARSLAST(X)+1),HHVBARS(H,BARSLAST(X)+1)-6,0),COLORGREEN,DOT;
LX1:=VALUEWHEN(X,LLV(L,BARSLAST(XX)+1));
LX2:=VALUEWHEN(X,REF(LX1,1));
HX1:=VALUEWHEN(XX,HHV(H,BARSLAST(X)+1));
HX2:=VALUEWHEN(XX,REF(HX1,1));
LLL:CROSS(BACKSET(X,LLVBARS(L,BARSLAST(XX)+1)+1),0.5)||BACKSET(X,LLVBARS(L,BARSLAST(XX)+1)+1)&&REF(X,1),NODRAW;
HHH:CROSS(BACKSET(XX,HHVBARS(H,BARSLAST(X)+1)+1),0.5)||BACKSET(XX,HHVBARS(H,BARSLAST(X)+1)+1)&&REF(XX,1),NODRAW;
DD:HHH&&H<REF(VALUEWHEN(HHH,H),1)&&REF(VALUEWHEN(HHH,H>REF(VALUEWHEN(HHH,H),1)),1),NODRAW;
KK:LLL&&L>REF(VALUEWHEN(LLL,L),1)&&REF(VALUEWHEN(LLL,L<REF(VALUEWHEN(LLL,L),1)),1),NODRAW;
DD1:CROSS(BACKSET(DD,SUMBARS(HHH,2)),0.5),RGB(0,0,0);
KK1:CROSS(BACKSET(KK,SUMBARS(LLL,2)),0.5),RGB(0,0,0);
DD2:BACKSET(ISLASTBAR,SUMBARS(DD1,2)),NODRAW;
KK2:BACKSET(ISLASTBAR,SUMBARS(KK1,2)),NODRAW;
DRAWLINE1(DD1&&DD2,H,HHH,H,0),RGB(0,255,64);
DRAWLINE1(KK1&&KK2,L,LLL,L,0),RGB(255,128,255);
DRAWSL(HHH&&REF(VALUEWHEN(HHH,DD1),1)&&DD2,H,( H-VALUEWHEN(DD1,H) )/ BARSLAST(DD1),40,0,RGB(0,255,64));
DRAWSL(LLL&&REF(VALUEWHEN(LLL,KK1),1)&&KK2,L,( L-VALUEWHEN(KK1,L) )/ BARSLAST(KK1),40,0,RGB(255,128,255));
/////////
PP:=NOT(KK1&&KK2)&&LLL&&COUNT(LLL,BARSLAST(KK1&&KK2))=1;
N1:=BARSLAST(PP)+VALUEWHEN(PP,BARSLAST(HHH)+5);
DRAWSL(PP,VALUEWHEN(HHH,H),0,-5-BARSLAST(HHH),0,COLORYELLOW);
DRAWSL(PP,L,0,-5-BARSLAST(HHH),0,COLORYELLOW);
DRAWSL(PP,VALUEWHEN(HHH,H),0,5,0,COLORYELLOW);
DRAWSL(PP,L,0,5,0,COLORYELLOW);
DRAWLINE(BARSLAST(PP)=5,VALUEWHEN(PP,L),1,VALUEWHEN(PP,VALUEWHEN(HHH,H)),COLORYELLOW);
DRAWLINE3(BARSLAST(PP)=5,VALUEWHEN(PP,L),N1,1,VALUEWHEN(PP,VALUEWHEN(HHH,H)),N1,0),COLORYELLOW;
////////////
PPP:=NOT(DD1&&DD2)&&HHH&&COUNT(HHH,BARSLAST(DD1&&DD2))=1;
N2:=BARSLAST(PPP)+VALUEWHEN(PPP,BARSLAST(LLL)+5);
DRAWSL(PPP,VALUEWHEN(LLL,L),0,-5-BARSLAST(LLL),0,COLORBLUE);
DRAWSL(PPP,H,0,-5-BARSLAST(LLL),0,COLORBLUE);
DRAWSL(PPP,VALUEWHEN(LLL,L),0,5,0,COLORBLUE);
DRAWSL(PPP,H,0,5,0,COLORBLUE);
DRAWLINE(BARSLAST(PPP)=5,VALUEWHEN(PPP,H),1,VALUEWHEN(PPP,VALUEWHEN(LLL,L)),COLORBLUE);
DRAWLINE3(BARSLAST(PPP)=5,VALUEWHEN(PPP,H),N2,1,VALUEWHEN(PPP,VALUEWHEN(LLL,L)),N2,0),COLORBLUE;