2,自己编写的一个挂单超时重挂的模块,在当初测试的时候,运行8策略,每个策略一个品种,可以正常执行,但是扩大到多个品种(约40个合约)的时候,就不进行撤单重挂的动作,希望老师帮我看一下有啥问题。
代码如下。
if CURRENTTIME>145900 and CURRENTTIME<150100 then //DYNAINFO(207)>145900 and DYNAINFO(207)<150100
begin // 离收盘60秒之内所有单子主动成交
if TSUBMIT(0)>0 then begin
未成交空平单数量:=TREMAINQTY(4 , '','' );
未成交多平单数量:=TREMAINQTY(2 , '','' );
未成交空开单数量:=TREMAINQTY(3 , '','' );
未成交多开单数量:=TREMAINQTY(1 , '','' );
done:=0;
end;
if 未成交空平单数量>0 and TSUBMIT(4)>0 then
//原来挂什么单,撤单后市价成交
begin
TCANCELex(1,4 ,'','' );
while TREMAINQTY(4 , '','' )<>0 do done:=1;
tsellshort
(1, 未成交空平单数量,MKT,0,0,'',''),NODRAW;
end;
if 未成交多平单数量>0 and TSUBMIT(2)>0 then
begin
TCANCELex(1,2 ,'','' );
while TREMAINQTY(2 , '','' )<>0 do done:=1;
tsell
(1, 未成交多平单数量,MKT,0,0,'',''),NODRAW;
end;
if 未成交空开单数量>0 and TSUBMIT(3)>0 then
begin
TCANCELex(1,3 ,'','' );
while TREMAINQTY(3 , '','' )<>0 do done:=1;
tbuyshort
(1, 未成交空开单数量,MKT,0,0,'',''),NODRAW;
end;
if 未成交多开单数量>0 and TSUBMIT(1)>0 then
begin
TCANCELex(1,1 ,'','' );
while TREMAINQTY(1 , '','' )<>0 do done:=1;
tbuy
(1, 未成交多开单数量,MKT,0,0,'',''),NODRAW;
end;
未成交空平单数量:=0;
未成交多平单数量:=0;
未成交空开单数量:=0;
未成交多开单数量:=0;
end;