以下是我自己编的迪马克TD序列代码。目前连续9根线判断结构,与累计13根线判断TD买进序列都可以单独实现。但是一起运行的时候有冲突,主要问题:运行TD买进序列(13根线)的时候,在没有达到中止运行的条件时(目前在测试原理,没有加入中止运行条件),应该不运行买入结构判断(9根线),具体表现为1-13根线中间不应该夹杂9根线的内容。而我目前无法避免这个事情,在运行13根线的时候,9根线会进来捣乱,不知道该如何改写。请有能力的大神帮忙改改。多谢!
//TD 结构(连续9根线)
VARIABLE:B=0;
A1:=EVERY(C<REF(C,4),1)&&REF(C,1)>REF(C,5);
A2:=EVERY(C<REF(C,4),2)&&REF(C,2)>REF(C,6);
A3:=EVERY(C<REF(C,4),3)&&REF(C,3)>REF(C,7);
A4:=EVERY(C<REF(C,4),4)&&REF(C,4)>REF(C,8);
A5:=EVERY(C<REF(C,4),5)&&REF(C,5)>REF(C,9);
A6:=EVERY(C<REF(C,4),6)&&REF(C,6)>REF(C,10);
A7:=EVERY(C<REF(C,4),7)&&REF(C,7)>REF(C,11);
A8:=EVERY(C<REF(C,4),8)&&REF(C,8)>REF(C,12);
A9:=EVERY(C<REF(C,4),9)&&REF(C,9)>REF(C,13);
DRAWNUMBER(A1,H+0.5,1,0,COLORYELLOW);
DRAWNUMBER(A2,H+0.5,2,0,COLORYELLOW);
DRAWNUMBER(A3,H+0.5,3,0,COLORYELLOW);
DRAWNUMBER(A4,H+0.5,4,0,COLORYELLOW);
DRAWNUMBER(A5,H+0.5,5,0,COLORYELLOW);
DRAWNUMBER(A6,H+0.5,6,0,COLORYELLOW);
DRAWNUMBER(A7,H+0.5,7,0,COLORYELLOW);
DRAWNUMBER(A8,H+0.5,8,0,COLORYELLOW);
DRAWNUMBER(A9,H+0.5,9,0,COLORYELLOW);
//TD序列技术(13根线)
N9:BARSLAST(A9)+1;
N1:COUNT(C<REF(L,2),N9);
IF A9 AND C<REF(L,2) AND N1=1 THEN BEGIN
B:=1;
DRAWNUMBER(B=1 AND N1=1,L-0.5,B,0,COLORWHITE);
END;
WHILE B=1 AND C<REF(L,2) AND N1=2 DO BEGIN
B:=B+1;
DRAWNUMBER(B=2 AND N1=2,L-0.5,2,0,COLORWHITE);
END
WHILE B=2 AND C<REF(L,2) AND N1=3 DO BEGIN
B:=B+1;
DRAWNUMBER(B=3 AND N1=3,L-0.5,3,0,COLORWHITE);
END
WHILE B=3 AND C<REF(L,2) AND N1=4 DO BEGIN
B:=B+1;
DRAWNUMBER(B=4 AND N1=4,L-0.5,4,0,COLORWHITE);
END
WHILE B=4 AND C<REF(L,2) AND N1=5 DO BEGIN
B:=B+1;
DRAWNUMBER(B=5 AND N1=5,L-0.5,5,0,COLORWHITE);
END
WHILE B=5 AND C<REF(L,2) AND N1=6 DO BEGIN
B:=B+1;
DRAWNUMBER(B=6 AND N1=6,L-0.5,6,0,COLORWHITE);
END
WHILE B=6 AND C<REF(L,2) AND N1=7 DO BEGIN
B:=B+1;
DRAWNUMBER(B=7 AND N1=7,L-0.5,7,0,COLORWHITE);
END
WHILE B=7 AND C<REF(L,2) AND N1=8 DO BEGIN
B:=B+1;
DRAWNUMBER(B=8 AND N1=8,L-0.5,8,0,COLORWHITE);
END
WHILE B=8 AND C<REF(L,2) AND N1=9 DO BEGIN
B:=B+1;
DRAWNUMBER(B=9 AND N1=9,L-0.5,9,0,COLORWHITE);
END
WHILE B=9 AND C<REF(L,2) AND N1=10 DO BEGIN
B:=B+1;
DRAWNUMBER(B=10 AND N1=10,L-0.5,10,0,COLORWHITE);
END
WHILE B=10 AND C<REF(L,2) AND N1=11 DO BEGIN
B:=B+1;
DRAWNUMBER(B=11 AND N1=11,L-0.5,11,0,COLORWHITE);
END
WHILE B=11 AND C<REF(L,2) AND N1=12 DO BEGIN
B:=B+1;
DRAWNUMBER(B=12 AND N1=12,L-0.5,12,0,COLORWHITE);
END
WHILE B=12 AND C<REF(L,2) AND N1=13 DO BEGIN
B:=B+1;
DRAWNUMBER(B=13 AND N1=13,L-0.5,13,0,COLORWHITE);
END
IF B>=13 THEN B:=0;
改为:
A1:=EVERY(B=0 and C<REF(C,4),1)&&REF(C,1)>REF(C,5);
A2:=EVERY(B=0 and C<REF(C,4),2)&&REF(C,2)>REF(C,6);
A3:=EVERY(B=0 and C<REF(C,4),3)&&REF(C,3)>REF(C,7);
A4:=EVERY(B=0 and C<REF(C,4),4)&&REF(C,4)>REF(C,8);
A5:=EVERY(B=0 and C<REF(C,4),5)&&REF(C,5)>REF(C,9);
A6:=EVERY(B=0 and C<REF(C,4),6)&&REF(C,6)>REF(C,10);
A7:=EVERY(B=0 and C<REF(C,4),7)&&REF(C,7)>REF(C,11);
A8:=EVERY(B=0 and C<REF(C,4),8)&&REF(C,8)>REF(C,12);
A9:=EVERY(B=0 and C<REF(C,4),9)&&REF(C,9)>REF(C,13);