以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  求助,迪马克TD序列如何改写  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=82080)

--  作者:zhoub1359
--  发布时间:2015/8/6 7:12:50
--  求助,迪马克TD序列如何改写
以下是我自己编的迪马克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;

--  作者:jinzhe
--  发布时间:2015/8/6 8:45:07
--  
那么你9根线是如何排除的?然后无法避免9根线又是为什么?
[此贴子已经被作者于2015/8/6 8:45:19编辑过]

--  作者:zhoub1359
--  发布时间:2015/8/6 10:17:19
--  
迪马克序列要求9和13是相互独立的,我目前没法把9和13分开。
--  作者:jinzhe
--  发布时间:2015/8/6 10:26:03
--  
抱歉我们也没办法分开
--  作者:观海潮
--  发布时间:2015/11/6 11:48:01
--  
改为:

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);