以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  顺序下单  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=67182)

--  作者:ZZAASSXX
--  发布时间:2014/7/9 11:51:15
--  顺序下单
看了ORDERQUEUE函数用法,貌似是用在图表程序化上的,后台可以用吗?

IF CON THEN BEGIN
tsellshort(1,0,mkt,0,0,帐户),ORDERQUEUE;
tbuy(1,手数,mkt,0,0,帐户),ORDERQUEUE;
END

--  作者:jinzhe
--  发布时间:2014/7/9 13:21:02
--  
也可以,效果是一样的
--  作者:zzaassxx
--  发布时间:2014/7/10 8:40:38
--  
if con then begin
TCANCELEX(1,2,帐户,\'\');
Tsell(TBUYHOLDINGEX(帐户,\'\',1)>0,0,MKT,0,0,帐户,\'\');
end

如果这个con只执行一遍,对原来的平多进行撤单,之后再市价平多,这里有一个问题,就是撤单需要有成交回报的时间过程吗?会不会当撤单指令发出后,还没有撤单成功,导致下一条再平多的指令无法有效执行? 这个情况如果存在,那是应该在TCANCELEX语句后面加上,ORDERQUEUE;?    ORDERQUEUE函数对TCANCELEX有效吗?
还是在TCANCELEX语句后面加上sleep函数,让程序等待几秒再执行后面的平多?


--  作者:jinzhe
--  发布时间:2014/7/10 8:56:36
--  

1.orderqueue只对下单函数有效

2.就算是撤单没有成功,也会平多,因为这个函数只是用来撤单的,有没有成功不做判断


--  作者:zzaassxx
--  发布时间:2014/7/10 9:13:32
--  
1:当没有撤单成功的情况下 ,直接发出平仓单,是不能成功平仓的。“交易状态”窗口会提示“ctp:平仓量超过持仓量”   
2:上面Tsell(TBUYHOLDINGEX(帐户,\'\',1)>0,0,MKT,0,0,帐户,\'\');语句发现MKT,0后面的逗号是中文标点的,在公式测试时能够通过,但是实际运行时是否有问题?


--  作者:jinzhe
--  发布时间:2014/7/10 9:31:35
--  
曾加平仓条件,用tisremain来判断是不是有成交单