看了ORDERQUEUE函数用法,貌似是用在图表程序化上的,后台可以用吗?
IF CON THEN BEGIN
tsellshort(1,0,mkt,0,0,帐户),ORDERQUEUE;
tbuy(1,手数,mkt,0,0,帐户),ORDERQUEUE;
END
if con then begin
TCANCELEX(1,2,帐户,'');
Tsell(TBUYHOLDINGEX(帐户,'',1)>0,0,MKT,0,0,帐户,'');
end
如果这个con只执行一遍,对原来的平多进行撤单,之后再市价平多,这里有一个问题,就是撤单需要有成交回报的时间过程吗?会不会当撤单指令发出后,还没有撤单成功,导致下一条再平多的指令无法有效执行? 这个情况如果存在,那是应该在TCANCELEX语句后面加上,ORDERQUEUE;? ORDERQUEUE函数对TCANCELEX有效吗?
还是在TCANCELEX语句后面加上sleep函数,让程序等待几秒再执行后面的平多?
1.orderqueue只对下单函数有效
2.就算是撤单没有成功,也会平多,因为这个函数只是用来撤单的,有没有成功不做判断
1:当没有撤单成功的情况下 ,直接发出平仓单,是不能成功平仓的。“交易状态”窗口会提示“ctp:平仓量超过持仓量”
2:上面Tsell(TBUYHOLDINGEX(帐户,'',1)>0,0,MKT,0,0,帐户,'');语句发现MKT,0后面的逗号是中文标点的,在公式测试时能够通过,但是实际运行时是否有问题?
曾加平仓条件,用tisremain来判断是不是有成交单