以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 挂单超过N秒重新挂单问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=87253) |
-- 作者:eonianhouge -- 发布时间:2015/11/13 10:20:46 -- 挂单超过N秒重新挂单问题 你好,我在代码中使用挂单超过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; |
-- 作者:eonianhouge -- 发布时间:2015/11/13 10:32:12 -- 发错区了,版主帮忙移到软件问题区去把,谢谢 |
-- 作者:jinzhe -- 发布时间:2015/11/13 13:15:31 -- 有下单日志记录吗? |