红色框是我的一单平多的追单,为什么后面一直就没有回报了,导致我15手多单一直没法平掉?这是我的代码:{撤单追单}
n1:=TREMAINQTY(1,'','');
if TSUBMIT(1)>秒数 then begin
tcancel(1,1);
if abs(TORDERPRICE(1,1)-dynainfo(7))<=5*mindiff then tbuy(1,n1,lmt,DYNAINFO(34));
end
n2:=TREMAINQTY(2,'','');
if TSUBMIT(2)>秒数 then begin
tcancel(1,2);
if abs(TORDERPRICE(2,1)-dynainfo(7))<=5*mindiff then tsell(1,n2,lmt,DYNAINFO(28));
end
n3:=TREMAINQTY(3,'','');
if TSUBMIT(3)>秒数 then begin
tcancel(1,3);
if abs(TORDERPRICE(3,1)-dynainfo(7))<=5*mindiff then tbuyshort(1,n3,lmt,DYNAINFO(28));
end
n4:=TREMAINQTY(4,'','');
if TSUBMIT(4)>秒数 then begin
tcancel(1,4);
if abs(TORDERPRICE(4,1)-dynainfo(7))<=5*mindiff then tsellshort(1,n4,lmt,DYNAINFO(34));
end;
此主题相关图片如下:qq截图20170228152329.png

撤单应该是上面那一单吧!我未成交委托超时5秒才让它撤单

此主题相关图片如下:回报.png
[此贴子已经被作者于2017-2-28 15:47:55编辑过]
从上面的日志看,顺序是这样的:
有25手单,系统平仓15手-----这15手未成交但同时还剩10手-----系统触发撤单和平仓---平掉剩下的10手,同时撤单之前未成交的15手---10手平仓是成交的,然后剩下15手
[此贴子已经被作者于2017-2-28 15:58:17编辑过]
n1:=TREMAINQTY(1,'','');
if TSUBMIT(1)>秒数 then begin
tcancel(1,1),orderqueue;
if abs(TORDERPRICE(1,1)-dynainfo(7))<=5*mindiff then tbuy(1,n1,lmt,DYNAINFO(34)),orderqueue;
end
n2:=TREMAINQTY(2,'','');
if TSUBMIT(2)>秒数 then begin
tcancel(1,2),orderqueue;
if abs(TORDERPRICE(2,1)-dynainfo(7))<=5*mindiff then tsell(1,n2,lmt,DYNAINFO(28)),orderqueue;
end
n3:=TREMAINQTY(3,'','');
if TSUBMIT(3)>秒数 then begin
tcancel(1,3),orderqueue;
if abs(TORDERPRICE(3,1)-dynainfo(7))<=5*mindiff then tbuyshort(1,n3,lmt,DYNAINFO(28)),orderqueue;
end
n4:=TREMAINQTY(4,'','');
if TSUBMIT(4)>秒数 then begin
tcancel(1,4),orderqueue;
if abs(TORDERPRICE(4,1)-dynainfo(7))<=5*mindiff then tsellshort(1,n4,lmt,DYNAINFO(34)),orderqueue;
end;
加一个顺序下单你试试
这10手和25手分别是两个策略下的单:
我是这样理解的,你看看对不对:
我原本仓位有25手,这时撤单15手,可是撤单回报还没回来,实际持仓只有10手,此时追单平仓15手不够,只能报单10手,接着才收到撤单回报,实际持仓变为15
原本25手,触发平仓15手但是不成交。接着是上面的问题了:先触发撤单,然后几乎同时触发平仓,但是此时只剩下10手,所以进行报单平仓10手,之后接着撤单成功,再接着平仓10手成功
我加了一个顺序下单,让撤单成功后再平仓,你可以试试看
加了ORDERQUEUE后出现这个问题:未成交超时5秒后,第一次撤单追单没问题,但是追单后又超时5秒,接着撤单追单就出问题了!
14:37:25.102 【后台】T06 TCancel 出现信号 类型:4 之后不断等待
14:37:40.124 【回报】616268 : T06 10年国债1706 - 已撤单 量:15 过了15秒才收到回报
接着应该继续追单的 TSellShort ,可是并没有,导致我仓位15手没平掉。
此主题相关图片如下:回报.png

此主题相关图片如下:等待.png

此主题相关图片如下:回报2.png
