N1:=10;N2:=10;DISP:=2;
K:=IF(PERIOD=5,1,
IF(PERIOD=6,1,
IF(PERIOD=7,1,
IF(PERIOD=8,1,
IF(PERIOD=9,1,
IF(PERIOD=10,1,
IF(PERIOD=11,2,
IF(PERIOD=4,1,
IF(PERIOD=3,1,
IF(PERIOD=2,1,
IF(PERIOD=1,1,1)))))))))))/10;
P1:=PEAK(1,K*N1,1);
P2:=PEAK(1,K*N1,2);
WP1:=PEAKBARS(1,K*N1,1);
WP2:=PEAKBARS(1,K*N1,2);
T1:=TROUGH(2,K*N2,1);
T2:=TROUGH(2,K*N2,2);
WT1:=TROUGHBARS(2,K*N2,1);
WT2:=TROUGHBARS(2,K*N2,2);
TJ1:=P1>T1 AND P2>T2 ;
ZD:=MAX(T1,T2);
ZG:=MIN(P1,P2);
LL:=MIN(T1,T2);
HH:=MAX(P1,P2);
TJ2:=FILTER(ZG>ZD,2);
TJ3:=ZG=REF(ZG,BARSLAST(TJ2)) OR ZD=REF(ZD,BARSLAST(TJ2));
TJ4:=TJ1&&TJ2&&NOT(TJ3);
TJ5:=BETWEEN(ZD,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)));
TJ6:=BETWEEN(ZG,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)));
TJ7:=ZG>REF(ZG,REF(BARSLAST(TJ4),1))&&ZD<REF(ZD,REF(BARSLAST(TJ4),1));
TJ8:=TJ4&&NOT(TJ5 OR TJ6 OR TJ7);
ZSD:=IF(TJ8,ZD,DRAWNULL);
ZSG:=IF(TJ8,ZG,DRAWNULL);
ZSH:=IF(TJ8,HH,DRAWNULL);
ZSL:=IF(TJ8,LL,DRAWNULL);
STICKLINE(TJ8,ZSH,ZSL,0,-1),COLORMAGENTA;
STICKLINE(TJ8,ZSD,ZSG,IF(DISP=1,3,0),1),COLORMAGENTA;
DRAWTEXT(DISP=2,ZSH,'����'),COLORWHITE;
�����:=PLOYLINE(DISP=2,REF(ZSD,BARSLAST(TJ8))),CIRCLEDOT,COLORLIRED;
�����:=PLOYLINE(DISP=2,REF(ZSG,BARSLAST(TJ8))),CIRCLEDOT,COLORLIGREEN;
���Ƹ�:=PLOYLINE(DISP=3,ZIG(1,K*N1)),COLORLIBLUE;
���Ƶ�:=PLOYLINE(DISP=3,ZIG(2,K*N2)),COLORLIBLUE;
�ֲ��͵�ԤѡA:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4);
�ֲ��͵�ԤѡB:=BACKSET(�ֲ��͵�ԤѡA=0 AND REF(�ֲ��͵�ԤѡA,1)=1,2);
�ֲ��͵�ԤѡC:=IF(�ֲ��͵�ԤѡB=1 AND REF(�ֲ��͵�ԤѡB,1)=0,-1,0);
�ֲ��ߵ�ԤѡA:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);
�ֲ��ߵ�ԤѡB:=BACKSET(�ֲ��ߵ�ԤѡA=0 AND REF(�ֲ��ߵ�ԤѡA,1)=1,2);
�ֲ��ߵ�ԤѡC:=IF(�ֲ��ߵ�ԤѡB=1 AND REF(�ֲ��ߵ�ԤѡB,1)=0,1,0);
ȱ���ж�:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0));
��ǰ����:=BARSLAST(�ֲ��ߵ�ԤѡC=1);
��ǰ����:=BARSLAST(�ֲ��͵�ԤѡC=-1);
Сֵ����:=LOWRANGE(L);
��ֵ����:=TOPRANGE(H);
�ͱ���AA:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����,1)>REF(��ǰ����,1) AND LLV(L,��ǰ����+1)<REF(LLV(L,��ǰ����+1),1),-1,0);
�ͱ���AB:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����,1)<=REF(��ǰ����,1) AND (��ǰ����>=4 OR LLV(ȱ���ж�,��ǰ����)=-1 OR LLV(L,��ǰ����+2)<REF(LLV(L,��ǰ����+1),1)),-1,0);
�ͱ���S:=IF((�ͱ���AA=-1 OR �ͱ���AB=-1) AND L<REF(H,��ǰ����+1),-1,0);
Ԥ��:=IF((��ǰ����<4 AND HHV(ȱ���ж�,��ǰ����)!=1) OR REF(�ͱ���S,��ǰ����)=0,1,0);
�ж�:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����,1)<=REF(��ǰ����,1) AND Ԥ��=1 AND ��ֵ����>REF(Сֵ����,��ǰ����+1) AND ��ֵ����>REF(Сֵ����,��ǰ����) AND ��ֵ����>REF(��ֵ����,��ǰ����),1,0);
�߱���A:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����,1)>REF(��ǰ����,1) AND HHV(H,��ǰ����+1)>REF(HHV(H,��ǰ����+1),1),1,0);
�߱���B:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����,1)<=REF(��ǰ����,1) AND REF(�ͱ���S,��ǰ����)=-1 AND (��ǰ����>=4 OR HHV(ȱ���ж�,��ǰ����)=1),1,0);
�߱���:=IF((�߱���A=1 OR �߱���B=1 OR �ж�=1) AND H>REF(L,��ǰ����+1),1,0);
Ԥ��A:=IF((��ǰ����<4 AND HHV(ȱ���ж�,��ǰ����)!=1) OR REF(�߱���,��ǰ����)=0,1,0);
�ж�A:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����,1)<=REF(��ǰ����,1) AND Ԥ��A=1 AND Сֵ����>REF(��ֵ����,��ǰ����+1) AND Сֵ����>REF(��ֵ����,��ǰ����) AND Сֵ����>REF(Сֵ����,��ǰ����),-1,0);
�ͱ���A:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����,1)>REF(��ǰ����,1) AND LLV(L,��ǰ����+1)<REF(LLV(L,��ǰ����+1),1),-1,0);
�ͱ���B:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����,1)<=REF(��ǰ����,1) AND (��ǰ����>=4 OR LLV(ȱ���ж�,��ǰ����)=-1 OR �ж�A=-1),-1,0);
�ͱ���:=IF((�ͱ���A=-1 OR �ͱ���B=-1) AND L<REF(H,��ǰ����+1),-1,0);
��ǰ����A:=BARSLAST(�߱���=1);
��ǰ����A:=BARSLAST(�ͱ���=-1);
Ԥ��X:=IF((��ǰ����A<4 AND HHV(ȱ���ж�,��ǰ����A)!=1) OR REF(�ͱ���,��ǰ����A)=0,1,0);
�ж�X:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����A,1)<=REF(��ǰ����A,1) AND Ԥ��X=1 AND ��ֵ����>REF(Сֵ����,��ǰ����A+1) AND ��ֵ����>REF(Сֵ����,��ǰ����A) AND ��ֵ����>REF(��ֵ����,��ǰ����A),1,0);
�߱���XA:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����A,1)>REF(��ǰ����A,1) AND HHV(H,��ǰ����A+1)>REF(HHV(H,��ǰ����A+1),1),1,0);
�߱���XB:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����A,1)<=REF(��ǰ����A,1) AND REF(�ͱ���,��ǰ����A)=-1 AND (��ǰ����A>=4 OR HHV(ȱ���ж�,��ǰ����A)=1),1,0);
�߱���X:=IF((�߱���XA=1 OR �߱���XB=1 OR �ж�X=1) AND H>REF(L,��ǰ����A+1),1,0);
Ԥ��XA:=IF((��ǰ����A<4 AND HHV(ȱ���ж�,��ǰ����A)!=1) OR REF(�߱���XA,��ǰ����A)=0,1,0);
�ж�XA:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����A,1)<=REF(��ǰ����A,1) AND Ԥ��XA=1 AND Сֵ����>REF(��ֵ����,��ǰ����A+1) AND Сֵ����>REF(��ֵ����,��ǰ����A) AND Сֵ����>REF(Сֵ����,��ǰ����A),-1,0);
�ͱ���XA:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����A,1)>REF(��ǰ����A,1) AND LLV(L,��ǰ����A+1)<REF(LLV(L,��ǰ����A+1),1),-1,0);
�ͱ���XB:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����A,1)<=REF(��ǰ����A,1) AND (��ǰ����A>=4 OR LLV(ȱ���ж�,��ǰ����A)=-1 OR �ж�XA=-1),-1,0);
�ͱ���X:=IF((�ͱ���XA=-1 OR �ͱ���XB=-1) AND L<REF(H,��ǰ����A+1),-1,0);
��ǰ����YA:=BARSLAST(�߱���X=1);
��ǰ����YA:=BARSLAST(�ͱ���X=-1);
Ԥ��YX:=IF((��ǰ����YA<4 AND HHV(ȱ���ж�,��ǰ����YA)!=1) OR REF(�ͱ���X,��ǰ����YA)=0,1,0);
�ж�YX:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����YA,1)<=REF(��ǰ����YA,1) AND Ԥ��YX=1 AND ��ֵ����>REF(Сֵ����,��ǰ����YA+1) AND ��ֵ����>REF(Сֵ����,��ǰ����YA) AND ��ֵ����>REF(��ֵ����,��ǰ����YA),1,0);
�߱���YXA:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����YA,1)>REF(��ǰ����YA,1) AND HHV(H,��ǰ����YA+1)>REF(HHV(H,��ǰ����YA+1),1),1,0);
�߱���YXB:=IF(�ֲ��ߵ�ԤѡC=1 AND REF(��ǰ����YA,1)<=REF(��ǰ����YA,1) AND REF(�ͱ���X,��ǰ����YA)=-1 AND (��ǰ����YA>=4 OR HHV(ȱ���ж�,��ǰ����YA)=1),1,0);
�߱���YX:=IF((�߱���YXA=1 OR �߱���YXB=1 OR �ж�YX=1) AND H>REF(L,��ǰ����YA+1),1,0);
Ԥ��YXA:=IF((��ǰ����YA<4 AND HHV(ȱ���ж�,��ǰ����YA)!=1) OR REF(�߱���YXA,��ǰ����YA)=0,1,0);
�ж�YXA:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����YA,1)<=REF(��ǰ����YA,1) AND Ԥ��YXA=1 AND Сֵ����>REF(��ֵ����,��ǰ����YA+1) AND Сֵ����>REF(��ֵ����,��ǰ����YA) AND Сֵ����>REF(Сֵ����,��ǰ����YA),-1,0);
�ͱ���YXA:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����YA,1)>REF(��ǰ����YA,1) AND LLV(L,��ǰ����YA+1)<REF(LLV(L,��ǰ����YA+1),1),-1,0);
�ͱ���YXB:=IF(�ֲ��͵�ԤѡC=-1 AND REF(��ǰ����YA,1)<=REF(��ǰ����YA,1) AND (��ǰ����YA>=4 OR LLV(ȱ���ж�,��ǰ����YA)=-1 OR �ж�YXA=-1),-1,0);
�ͱ���YX:=IF((�ͱ���YXA=-1 OR �ͱ���YXB=-1) AND L<REF(H,��ǰ����YA+1),-1,0);
AAAD:=IF(�߱���YX=1 AND �ͱ���YX=-1 AND H>REF(H,REF(��ǰ����YA,1)+2),1,IF(�߱���YX=1 AND �ͱ���YX=-1 AND L<REF(L,REF(��ǰ����YA,1)+2),-1,0));
���㱣��:=IF(AAAD=0,�߱���YX+�ͱ���YX,AAAD);
�ֲ�����:=IF(���㱣��=-1,L,IF(���㱣��=1,H,DRAWNULL)) CIRCLEDOT COLORYELLOW;
A1:=REF(HIGH,10)=HHV(HIGH,2*10+1);
B1:=FILTER(A1,10);
C1:=BACKSET(B1,10+1);
D1:=FILTER(C1,10);
A2:=REF(LOW,10)=LLV(LOW,2*10+1);
B2:=FILTER(A2,10);
C2:=BACKSET(B2,10+1);
D2:=FILTER(C2,10);
E1:=(REF(LLV(LOW,2*10),1)+REF(HHV(HIGH,2*10),1))/2;
E2:=(HIGH+LOW)/2;
H1:=(D1 AND NOT((D2 AND E1>=E2))) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
L1:=(D2 AND NOT((D1 AND E1<E2)));
H2:=D1 AND NOT((D2 AND E1>=E2));
X1:=REF(BARSLAST(H1),1)+1;
F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,10000),X1));
G1:=F1>REF(F1,1);
I1:=BACKSET(G1,2);
LD:=I1>REF(I1,1);
L2:=LD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1;
F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2));
G2:=F2>REF(F2,1);
I2:=BACKSET(G2,2);
HD:=I2>REF(I2,1);
DRAWLINE(LD,L,HD,H,0),COLORMAGENTA,DOTLINE,LINETHICK1;
DRAWLINE(HD,H,LD,L,0),COLORMAGENTA,DOTLINE,LINETHICK1;
J1:=BACKSET(ISLASTBAR ,MIN(BARSLAST(HD),BARSLAST(LD))+1);
J2:=J1>REF(J1,1);
DRAWLINE(J2,IF(HD,H,L),ISLASTBAR ,IF(BARSLAST(HD)>BARSLAST(LD),H,L),0),COLORWHITE,LINETHICK1;
UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
VV:=UU>REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
XX:=WW>REF(WW,1);
DRAWLINE(XX,L,VV,L,1),COLORRED,LINETHICK2;
UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
VV2:=UU2>REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
XX2:=WW2>REF(WW2,1);
DRAWLINE(XX2,H,VV2,H,1),COLORGREEN,LINETHICK2;