N:=CURRBARSCOUNT;
B:=C<REF(C,4);
JT1:= BARSLASTCOUNT(B);
A_B1:=(JT1>9) AND MOD(JT1,9)=1;
A_B2:=(JT1>9) AND MOD(JT1,9)=2;
A_B8:=(JT1>9) AND MOD(JT1,9)=8;
A_B9:=(JT1>9) AND MOD(JT1,9)=0;
B1:=(N=6 AND REFXV(COUNT(B,6),5)=6) OR (N=7 AND REFXV(COUNT(B,7),6)=7) OR (N=8 AND REFXV(COUNT(B,8),7)=8) OR (N>=9 AND REFXV(COUNT(B,9),8)=9);
DRAWNUMBER(B1 AND (REF(B,1)=0 OR A_B1),L,1),COLORMAGENTA;
B2:=(N=5 AND REFXV(COUNT(B,6),4)=6) OR (N=6 AND REFXV(COUNT(B,7),5)=7) OR (N=7 AND REFXV(COUNT(B,8),6)=8) OR (N>=8 AND REFXV(COUNT(B,9),7)=9);
DRAWNUMBER(B2 AND(REF(B,2)=0 OR A_B2),L,2),COLORMAGENTA;
B8:=(N=1 AND COUNT(B,8)=8) OR (N>=2 AND REFXV(COUNT(B,9),1)=9);
DRAWNUMBER(B8 AND (REF(B,8)=0 OR A_B8),L,8),COLORMAGENTA;
B9:=(N>=1 AND COUNT(B,9)=9);
DRAWNUMBER(B9 AND (REF(B,9)=0 OR A_B9),L,9),COLORBROWN;
S:=C>REF(C,4);
JT2:= BARSLASTCOUNT(S);
A_S1:=(JT2>9) AND MOD(JT2,9)=1;
A_S2:=(JT2>9) AND MOD(JT2,9)=2;
A_S8:=(JT2>9) AND MOD(JT2,9)=8;
A_S9:=(JT2>9) AND MOD(JT2,9)=0;
S1:=(N=6 AND REFXV(COUNT(S,6),5)=6) OR (N=7 AND REFXV(COUNT(S,7),6)=7) OR (N=8 AND REFXV(COUNT(S,8),7)=8) OR (N>=9 AND REFXV(COUNT(S,9),8)=9);
DRAWNUMBER(S1 AND (REF(S,1)=0 OR A_S1),H,1),COLORMAGENTA,DRAWABOVE;
S2:=(N=5 AND REFXV(COUNT(S,6),4)=6) OR (N=6 AND REFXV(COUNT(S,7),5)=7) OR (N=7 AND REFXV(COUNT(S,8),6)=8) OR (N>=8 AND REFXV(COUNT(S,9),7)=9);
DRAWNUMBER(S2 AND (REF(S,2)=0 OR A_S2),H,2),COLORMAGENTA,DRAWABOVE;
S8:=(N=1 AND COUNT(S,8)=8) OR (N>=2 AND REFXV(COUNT(S,9),1)=9);
DRAWNUMBER(S8 AND (REF(S,8)=0 OR A_S8),H,8),COLORMAGENTA,DRAWABOVE;
S9:=(N>=1 AND COUNT(S,9)=9);
DRAWNUMBER(S9 AND (REF(S,9)=0 OR A_S9),H,9),COLORGREEN,DRAWABOVE;
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;
DRAWLINE(���㱣��=-1,�ֲ�����,���㱣��=1,�ֲ�����,0)COLORRED;
DRAWLINE(���㱣��=1,�ֲ�����,���㱣��=-1,�ֲ�����,0)COLORGREEN;
DD1:=BARSLAST(ABS(���㱣��)!=1);
DRAWTEXT(���㱣��=1,�ֲ�����,'��'),COLORGREEN;
DRAWTEXT(���㱣��=-1,�ֲ�����,'��'),COLORRED;
NC:=120;
KC:=BARSLAST(CURRBARSCOUNT=NC);
GD:=CONST(IF(ISLASTBAR=1,HHV(H,KC),0));
DD:=CONST(IF(ISLASTBAR=1,LLV(L,KC),0));
KJ:=GD-DD;
GD4:=IF(CURRBARSCOUNT<=NC/2,GD,DRAWNULL);
����:IF(CURRBARSCOUNT<=NC,GD,DRAWNULL),COLORRED,LINETHICK1;
����:IF(CURRBARSCOUNT<=NC,DD,DRAWNULL),COLOR00FF00,LINETHICK1;
ƽ��:=IF(CURRBARSCOUNT<=NC,DD+KJ/2,DRAWNULL),COLOR00FFFF,NODRAW;
��:IF(CURRBARSCOUNT<=NC/2,DD,DRAWNULL),COLORFFFF00;
��:IF(CURRBARSCOUNT<=NC/2,GD,DRAWNULL),COLOR00FFFF;
֧��:IF(CURRBARSCOUNT<=NC/2,DD+KJ*0.191,DRAWNULL),COLOR00FFFF;
ǿ��: IF(CURRBARSCOUNT<=NC/2,DD+KJ*0.382,DRAWNULL),COLORFF00FF;
ͻ��:IF(CURRBARSCOUNT<=NC/2,DD+KJ/2,DRAWNULL),COLOR0000FF;
��ʾ:IF(CURRBARSCOUNT<=NC/2,DD+KJ*0.618,DRAWNULL),COLOR00FFFF;
ѹ��:IF(CURRBARSCOUNT<=NC/2,DD+KJ*0.809,DRAWNULL),COLOR00FF00;
����:IF(CURRBARSCOUNT<=NC/2,(C/LLV(LOW,K)-1)*100,DRAWNULL),COLOR0000FF,NODRAW;
����:BARSLAST(L=DD),COLORCYAN,NODRAW;
����:IF(CURRBARSCOUNT<=NC/2, CONST(IF(ISLASTBAR=1,HHV(H, BARSLAST(CURRBARSCOUNT=60)),1)),DRAWNULL),COLORRED,CROSSDOT;
�͵�:IF(CURRBARSCOUNT<=NC/