
如图所示,两点回调测买点的效果图,这是我们常见的一种预测买点计算方法。
现将源码公布如下:
DRAWKLINE(H,O,L,C);
 N:=13;
 A1:=REF(HIGH,N)=HHV(HIGH,2*N+1);
 B1:=FILTER(A1,N);
 C1:=BACKSET(B1,N+1);
 D1:=FILTER(C1,N);
 A2:=REF(LOW,N)=LLV(LOW,2*N+1);
 B2:=FILTER(A2,N);
 C2:=BACKSET(B2,N+1);
 D2:=FILTER(C2,N);
 E1:=(REF(LLV(LOW,2*N),1)+REF(HHV(HIGH,2*N),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);
 J1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HD),BARSLAST(LD))+1);
 J2:=J1>REF(J1,1);
 A3:=H<REF(H,REF(BARSLAST(HD),1)+1);
 B3:=REF(H,REF(BARSLAST(HD),1)+1)>REF(H,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2));
 D3:=A3 AND B3 AND HD;
 E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2);
 HH:=E3>REF(E3,1);
 A4:=L>REF(L,REF(BARSLAST(LD),1)+1);
 B4:=REF(L,REF(BARSLAST(LD),1)+1)<REF(L,REF(BARSLAST(LD),1)+2+REF(BARSLAST(LD),REF(BARSLAST(LD),1)+2));
 D4:=A4 AND B4 AND LD;
 E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2);
 LL:=E4>REF(E4,1);
 H3:=HH OR ISLASTBAR OR BARSCOUNT(C)=1;
 X3:=REF(BARSLAST(H3),1)+1;
 F3:=BACKSET(H3 AND COUNT(LL,X3)>0,LLVBARS(IF(LL,L,POW(10,20)),X3));
 G3:=F3>REF(F3,1);  
 I3:=BACKSET(G3,2);
 LZ:=I3>REF(I3,1); 
 L4:=LZ OR ISLASTBAR OR BARSCOUNT(C)=1;
 X4:=REF(BARSLAST(L4),1)+1;
 F4:=BACKSET(L4 AND COUNT(HH,X4)>0,HHVBARS(IF(HH,H,-POW(10,20)),X4));
 G4:=F4>REF(F4,1);  
 I4:=BACKSET(G4,2);  
 HZ:=I4>REF(I4,1);
 K1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HZ),BARSLAST(LZ))+1);
 K2:=K1>REF(K1,1);
 UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
 VV:=UU>REF(UU,1);
 WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
 XX:=WW>REF(WW,1);
 UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
 VV2:=UU2>REF(UU2,1);
 WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
 XX2:=WW2>REF(WW2,1);
 KGCS:=IF(CONST(BARSLAST(VV))>CONST(BARSLAST(VV2)),1,-1);
 GDTS:IF(KGCS>0,CONST(BARSLAST(XX2)),CONST(BARSLAST(VV2))),NODRAW;
 DDTS:CONST(BARSLAST(XX)),NODRAW;
 DRAWKLINE(H,O,L,C);
 GDH:REF(H,GDTS),NODRAW;
 DDL:REF(L,DDTS),NODRAW;
 TJ1:=IF(GDH>DDL,1,0);
 DRAWLINE(CURRBARSCOUNT=DDTS+1,L,CURRBARSCOUNT=GDTS+1,H,0),LINETHICK2,COLORRED;
 DRAWLINE(CURRBARSCOUNT=GDTS+1,H,ISLASTBAR,CONST(GDH),0),COLORMAGENTA;
 MIMA:=CONST(SQRT(GDH/DDL));
 ED1:=CONST(GDH/MIMA);
 ED2:=CONST(GDH/SQRT(MIMA));
 ED3:=CONST(GDH/(SQRT(MIMA)+MIMA-1));
 STICKLINE(CURRBARSCOUNT=GDTS+1,CONST(GDH),CONST(ED3),0,-1),COLORWHITE;
 AA1:=STRCAT('低点:',CON2STR(CONST(DDL),2));
 BB1:=STRCAT('高点:',CON2STR(CONST(GDH),2));
 DRAWTEXT(CURRBARSCOUNT=GDTS+1,CONST(GDH)*1.01,BB1),COLORRED;
 DRAWTEXT(CURRBARSCOUNT=DDTS+1,CONST(DDL)*0.99,AA1),COLORRED;
 LLOW:FINDLOW(L,0,GDTS,1),NODRAW;
 DLLOW:FINDLOWBARS(L,0,GDTS,1),NODRAW;
 CC1:=STRCAT('C:',CON2STR(CONST(LLOW),2));
 DRAWTEXT(CURRBARSCOUNT=CONST(DLLOW)+1,CONST(LLOW)*0.99,CC1),COLORWHITE;
 DRAWLINE(CURRBARSCOUNT=GDTS+1,H,CURRBARSCOUNT=CONST(DLLOW)+1,L,0),DOTLINE,COLORWHITE;
 DSHIGH:FINDHIGHBARS(H,0,DLLOW,1),NODRAW;
 ZDHIGH:FINDLOW(H,0,DLLOW,1),NODRAW;
 DRAWLINE(CURRBARSCOUNT=GDTS+1,ED1,CURRBARSCOUNT=CONST(DLLOW)+1,ED1,0),DOTLINE,COLORWHITE;
 DRAWLINE(CURRBARSCOUNT=GDTS+1,ED2,CURRBARSCOUNT=CONST(DLLOW)+1,ED2,0),DOTLINE,COLORWHITE;
 DRAWLINE(CURRBARSCOUNT=GDTS+1,ED3,CURRBARSCOUNT=CONST(DLLOW)+1,ED3,0),DOTLINE,COLORWHITE;
 CCC1:=STRCAT('C2:',CON2STR(CONST(ED1),2));
 CCC2:=STRCAT('C1:',CON2STR(CONST(ED2),2));
 CCC3:=STRCAT('C3:',CON2STR(CONST(ED3),2));
 DRAWTEXT(CURRBARSCOUNT=GDTS+1,ED1,CCC1),COLORWHITE;
 DRAWTEXT(CURRBARSCOUNT=GDTS+1,ED2,CCC2),COLORWHITE;
 DRAWTEXT(CURRBARSCOUNT=GDTS+1,ED3,CCC3),COLORWHITE;
 DRAWTEXT_FIX(C<DDL AND ISLASTBAR,0.1,0.1,0,'温馨提示:跌破一浪起点转为下跌,上涨失败'),COLORRED;
这是比较标准的版本,就分享到这里吧



















