请教:后台程序化撤单追单怎么写?
后台程序化撤单追单怎么写?以开多为例。如果超过5秒,有5手开多单(或任意手)没成交,则全撤,然后再等2秒,进行追单。
[此贴子已经被作者于2019/12/5 10:55:33编辑过]
GLOBALVARIABLE:ct:=0;
//有平多未成交单,且5秒未成交,则撤单
if TISREMAIN(1)=1 and TSUBMIT(1)>5 then begin
TCANCEL(1,1);//撤单完成后进行追单
ct:=CURRENTTIME;
end
if CURRENTTIME-ct>=2 and ct<>0 then
begin
tbuy(1,1,MKT);
ct:=0;
end
追单的手数 自行控制下就行了。
麻烦把追单手数给写一下。因为我不太熟悉,按自己思路写了写,还是没成功。追单手数和撤单手数要一致。谢谢。
追单手数要跟撤单手数一致,怎么写?自己尝试写的没成功。谢谢。
//以开多举例,监控开多未成交单
WCJ:=TREMAINQTY( 1,'账号',STKLABEL);//未成交单数量
IF WCJ<>0 THEN BEGIN
A:=WCJ;//未成交单数量赋值给A
END
//对未成交单撤单,并追单
IF WCJ>0 THEN BEGIN
TCANCELEX(1,1,'账号',STKLABEL );
TBUY(WCJ=0,A,MKT,0,'账号',STKLABEL);//追单数量为A
END
GLOBALVARIABLE:A1:=0;
GLOBALVARIABLE:WCJ1:=0;
WCJ1:=TISREMAIN(1);
IF WCJ1<>0 then begin
A1:=WCJ1;
END
IF WCJ1>0 THEN BEGIN
TCANCEL(1,1);
WCJ1=0;
END
IF WCJ1=0 AND A1<>0 THEN BEGIN
tbuy(1,A1,mkt);
A1=0;
end
这样写可以吗。如果追单还不成交的话,可以实现多次撤单直至成交吗。有没有办法可以直接对价追仓。
可以的,不成交的话会再次撤单追单; 对手价需要在下单语句中用限价报单,比如:TBUY(1,1,LMT,DYNAINFO( 21)) ; 买入时选择委卖价DYNAINFO( 21),卖出时选择委买价DYNAINFO( 20)