Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:挂单超过N秒重新挂单问题

1楼
eonianhouge 发表于:2015/11/13 10:20:46
你好,我在代码中使用挂单超过N秒重新挂单的模块来执行无限次追单的功能(不是金字塔系统自带的追单功能),但是为什么只会进行2次的追单,第三次追单就只撤单,撤完挂单以后就不再挂单了,代码部分如下,应该不会是代码问题,不然第一次撤单都不会执行了。这个是为什么?
是否金字塔对开平仓函数的执行机制有限制呢?


if TSUBMIT(0)>挂单N秒重挂  or ( (CURRENTTIME=090030 or CURRENTTIME=000030 ) and TREMAINQTY(0 , '','' )<>0 ) then  //挂单超过N秒未成交完  ,按照现在排队价追单  或者在30秒时刻重新挂单   //limitr   MARKET   and TSUBMIT(0)=0 
begin                   //
if TSUBMIT(4)>0 then //原来挂什么单,撤单重新按照现在排队价挂 
begin
未成交空平单数量:=TREMAINQTY(4 , '','' );
TCANCELex(1,4 ,'','' ); if Islastbar then  begin DEBUGFILE('D:\TEST.TXT'  ,  '444444N秒重挂'&numtostr(未成交空平单数量,0),0); end; 
while TREMAINQTY(4 , '','' )<>0 do done:=1;
tsellshort (1, 未成交空平单数量,lmt,DYNAINFO( 28)),NODRAW;
end;
if TSUBMIT(2)>0 then 
begin
未成交多平单数量:=TREMAINQTY(2 , '','' );
TCANCELex(1,2 ,'','' ); if Islastbar then  begin DEBUGFILE('D:\TEST.TXT'  ,  '222222N秒重挂'&numtostr(未成交多平单数量,0),0); end; 
while TREMAINQTY(2 , '','' )<>0 do done:=1;
tsell (1, 未成交多平单数量,lmt,DYNAINFO( 34)),NODRAW;
end;
if TSUBMIT(3)>0 then 
begin
未成交空开单数量:=TREMAINQTY(3 , '','' );
TCANCELex(1,3 ,'','' ); if Islastbar then  begin DEBUGFILE('D:\TEST.TXT'  ,  '333333N秒重挂'&numtostr(未成交空开单数量,0),0); end; 
while TREMAINQTY(3 , '','' )<>0 do done:=1;
tbuyshort (1, 未成交空开单数量,lmt,DYNAINFO( 34)),NODRAW; //TBUYHOLDINGEX('' ,'' , 2)=0
end;
if TSUBMIT(1)>0 then 
begin
未成交多开单数量:=TREMAINQTY(1 , '','' );
TCANCELex(1,1 ,'','' ); if Islastbar then  begin DEBUGFILE('D:\TEST.TXT'  ,  '111111N秒重挂'&numtostr(未成交多开单数量,0),0); end; 
while TREMAINQTY(1 , '','' )<>0 do done:=1;
tbuy (1, 未成交多开单数量,lmt,DYNAINFO( 28)),NODRAW; //TSELLHOLDINGEX('' ,'' ,2 )=0
end;

if Islastbar then  begin    
DEBUGFILE('D:\TEST.TXT'  ,  'O 追单 撤单情况  TSUBMIT(1):'&numtostr(TSUBMIT(1),0)&'  TSUBMIT(2):'&numtostr(TSUBMIT(2),0)&'  TSUBMIT(3):'&numtostr(TSUBMIT(3),0)&'  TSUBMIT(4):'&numtostr(TSUBMIT(4),0),0);  
DEBUGFILE('D:\TEST.TXT'  ,  'P 实际持仓===指定账户买持'&numtostr(TBUYHOLDINGEX('' ,'' , 2),0)&'    指定账户卖持'&numtostr(TSELLHOLDINGEX('' ,'' ,2 ),0),0);  
DEBUGFILE('D:\TEST.TXT'  ,  'P 可用持仓===指定账户买持'&numtostr(TBUYHOLDINGEX('' ,'' , 1),0)&'    指定账户卖持'&numtostr(TSELLHOLDINGEX('' ,'' ,1 ),0),0);  
end;   //输出
end;

2楼
eonianhouge 发表于:2015/11/13 10:32:12
发错区了,版主帮忙移到软件问题区去把,谢谢
3楼
jinzhe 发表于:2015/11/13 13:15:31
有下单日志记录吗?
共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.