
涉及与变量自身比较,需要在wh8通过全局变量实现,参考:
VARIABLE:HHD1:=0,LLD1:=0,HHD2:=0,LLD2:=0;
IF BARPOS=1 THEN BEGIN
HHD1:=H;
LLD1:=L;
END
IF (H>HHD1&&L>HHD1) || (H<LLD1&&L<LLD1) THEN BEGIN
HHD1:=H;
LLD1:=L;
HHD2:=REF(HHD1,1);
LLD2:=REF(LLD1,1);
END
H1:HHD1,NODRAW;
L1:LLD1,NODRAW;
H2:HHD2,NODRAW;
L2:LLD2,NODRAW;
直到新K有了与前面1个K 的重叠部分,则此重叠部分定义为新的HDD1和LDD1,
就是说 用h和l去与之前的 hd1 和ld1 比较 满足条件后(与那四种关系不同)
如果那根k线与前一根k线没有重叠部分,则取之后第一次有k线与它的前一根k线的重叠部分作为新的 hd1 和ld1?
这样看下
VARIABLE:HHD1:=0,LLD1:=0,HHD2:=0,LLD2:=0,XX:0;
AA:COUNT(H<REF(H,1)&&H>REF(L,1)||L<REF(H,1)&&L>REF(L,1),BARPOS)=1&&H<REF(H,1)&&(H>REF(L,1)||L<REF(H,1)&&L>REF(L,1));
IF BARPOS=VALUEWHEN(AA,BARPOS) THEN BEGIN
HHD1:=MIN(H,REF(H,1));
LLD1:=MAX(L,REF(L,1));
END
IF BARPOS>VALUEWHEN(AA,BARPOS)&&((H>HHD1&&L>HHD1) || (H<LLD1&&L<LLD1))&&XX=0 THEN BEGIN
XX:=2;
END
IF XX=2 &&(H<REF(H,1)&&H>REF(L,1)||L<REF(H,1)&&L>REF(L,1)) THEN BEGIN
HHD1:=MIN(H,REF(H,1));
LLD1:=MAX(L,REF(L,1));
HHD2:=REF(HHD1,1);
LLD2:=REF(LLD1,1);
XX:=0;
END
H1:HHD1,NODRAW;
L1:LLD1,NODRAW;
H2:HHD2,NODRAW;
L2:LLD2,NODRAW;