第一个按分割算的具体说明此贴(仿预测赢家测上升阻力源码供高手们优化)
{参数:波1=最小1 最大1000 缺省 12}
DRAWGBK(C>0, RGB(0,0,20),RGB(00,0,0),0,0,1);
DRAWKLINE(H,O,L,C);
A1:=REF(HIGH,5)=HHV(HIGH,2*6+1);
B1:=FILTER(A1,5);
C1:=BACKSET(B1,5+1);
D1:=FILTER(C1,5+1);{高点}
A2:=REF(LOW,5)=LLV(LOW,2*10+1);
B2:=FILTER(A2,5+1);
C2:=BACKSET(B2,5+1);
D2:=FILTER(C2,5);{低点}
E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2;
E2:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍}
H1:=(D1 AND NOT(D2 AND E1>=E2)) OR BARSTATUS=2 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 BARSTATUS=2 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),COLORRED;
DRAWLINE(HD,H,LD,L,0),COLORGREEN;
J1:=BACKSET(BARSTATUS=2 ,MIN(BARSLAST(HD),BARSLAST(LD))+1);
J2:=J1>REF(J1,1);
DRAWLINE(J2,IF(HD,H,L),BARSTATUS=2 ,IF(BARSLAST(HD)>BARSLAST(LD),H,L),0),DOTLINE,COLORWHITE;
C点:=BARSLAST(LD);
DRAWTEXT(LD AND BARSLAST(HD)<BARSLAST(REF(LD,1)) ,L-0.1,'A'),COLORRED;
DRAWTEXT(HD,H+0.1,'B'),COLORGREEN;
高:=5;
低:=10;
高选:=1;
低选:=1;
波2:=1;
PURC:=CONST(FINDHIGH(H,0,高*5,高选));
PLZ:=CONST(BARSLAST(PURC=H))+1;
顶X:=CONST(IF(PLZ=1,H,REF(H,PLZ-1)));
QQT:=CONST(FINDLOW(L,0,低*10,低选));
PLL:=CONST(BARSLAST(QQT=L))+1;
低X:=CONST(IF(PLL=1,L,REF(L,PLL-1)));
DRAWKLINE(H,O,L,C);
顶点:=顶X,COLORRED;
底点:=低X,COLORRED;
波动速率:=100*((顶X-低X)/(IF(PLL>PLZ,低X,顶X)))/(PLL-PLZ),NODRAW,COLORMAGENTA;
波动幅度:=((顶X-低X)/(IF(PLL>PLZ,低X,顶X)))*100;
波动价位:=(顶X-低X)*(IF(PLL>PLZ,1,-1));
BPURC:=CONST(FINDHIGH(H,0,(IF(波1>0,波1,IF(PLZ<PLL,高,低)))*5,波2));
BPLZ:=CONST(BARSLAST(BPURC=H))+1;
BQQT:=CONST(FINDLOW(L,0,(IF(波1>0,波1,IF(PLZ<PLL,高,低)))*5,波2));
BPLL:=CONST(BARSLAST(BQQT=L))+1;
BLC1:=CONST(FINDHIGH(H,0,(IF(波1>0,波1,IF(PLZ<PLL,高,低)))*5,波2));
BLC2:=CONST(BARSLAST(BPURC=H))+1;
BLC顶X:=CONST(IF(BPLZ=1,H,REF(H,BPLZ-1)));
BLC3:=CONST(FINDLOW(L,0,(IF(波1>0,波1,IF(PLZ<PLL,高,低)))*5,波2));
B6C4:=CONST(BARSLAST(BQQT=L))+1;
BLC低X:=CONST(IF(BPLL=1,L,REF(L,BPLL-1)));
BASE:=IF(波动速率<0,BLC顶X,BLC低X)COLORRED;
BLCX:=IF(波动速率<0,-1,1);
BLCZ:=(顶点-底点)*(IF(PLL>PLZ,1,-1));
B12:=BASE+(BLCZ*0.775)COLORRED;
B14:=BASE+(BLCZ*0.868)COLORRED;
B200:=BASE+(BLCZ*1)COLORRED;
XZDD:=IF(PLL>PLZ,BPLL,BPLZ);
STICKLINE(CURRBARSCOUNT=XZDD ,BASE,B200,0,0),COLORGREEN;
DRAWTEXT(CURRBARSCOUNT=XZDD,B12,'---------------------------C1')COLORC0FF7F;
DRAWTEXT(CURRBARSCOUNT=XZDD,B14,'---------------------------C2')COLORYELLOW;
DRAWTEXT(CURRBARSCOUNT=XZDD,B200,'--------------------------C3')COLORGREEN;
DRAWTEXT(CURRBARSCOUNT=10,B12,CON2STR(B12,2)),COLORC0FF7F;
DRAWTEXT(CURRBARSCOUNT=10,B14,CON2STR(B14,2)),COLORYELLOW;
DRAWTEXT(CURRBARSCOUNT=10,B200,CON2STR(B200,2)),COLORGREEN;