以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  [求助]首次委托资金不足还会是否继续下单及orderqueue排序  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=171386)

--  作者:5528332
--  发布时间:2019/7/31 21:25:05
--  [求助]首次委托资金不足还会是否继续下单及orderqueue排序
1.假如不用orderqueue,资金又不多的情况下,有可能会出现反手交易的时候平仓交易没成功,开仓命令发出又刚好资金不够的情况。
这时候自然开仓会发出资金不足的情况,那么平仓交易成交后,还会再次开仓委托吗?
2.
如果我的写法是这样,并且还采用多品种多策略,并且orderqueue采用的是
之前报单完全成交后再顺序递交,

sellshort(conbpk,0,thisclose),ignorecheckprice;
buy(conbpk and holding=0,ss,thisclose),orderqueue,ignorecheckprice;
sell(conspk,0,thisclose),ignorecheckprice;
buyshort(conspk and holding=0,ss,thisclose),orderqueue,ignorecheckprice;
那么一旦同一时间几个品种策略触发了,应该会怎么执行?
是不是所有没orderqueue的会先执行,不管有没成交完,然后orderqueue的再按顺序排队执行,还是说非队列命令执行完了,队列命令才能执行?


--  作者:5528332
--  发布时间:2019/7/31 21:34:07
--  
但当出现以下情况(反手)且只有一条语句添加了ORDERQUEUE时,运行机制略有不同。
SELLSHORT(CROSS(C,MA,(C5),1,MARKET);
BUY(CROSS(C,MA,(C5),1,MARKET),ORDERQUEUE;
条件触发时,软件会发出SELLSHORT指令,ORDERQUEUE所在的指令会隔2秒后(区别)再发出,此例即BUY
-----------------这个选择了时间间隔的时候好理解,但问题是选择之前报单完全成交后再顺序递交,就不好理解了。

--  作者:gxx978
--  发布时间:2019/8/1 8:51:45
--  

1、不会。平仓信号和开仓信号是同时报单的。如果因为资金不足会导致开仓失败,并不会等平仓完成后,再次开仓的。所以解决方案1是增加账户资金,方案2是使用orderqueue队列报单,但是建议使用市价报单,保证成交。另外不建议在orderqueue队列下使用追撤单功能,此机制较复杂,无法保证追撤单一定能成功的。

2、是的,没有orderqueue的报单不会放在队列中进行顺序报单的,会立即触发报单。没有成对使用的orderqueue会延时2秒报单,不受完成成交后再顺序递交所影响。

[此贴子已经被作者于2019/8/1 9:28:00编辑过]

--  作者:5528332
--  发布时间:2019/8/1 14:22:46
--  
2、是的,没有orderqueue的报单不会放在队列中进行顺序报单的,会立即触发报单。没有成对使用的orderqueue会延时2秒报单,不受完成成交后再顺序递交所影响
——如果资金不足,同样也只是发一次委托对吧

--  作者:gxx978
--  发布时间:2019/8/1 14:25:25
--  
是的,只是发一次委托。