欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [讨论]关于ORDERQUEUE的交易顺序问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5734人关注过本帖树形打印复制链接

主题:[讨论]关于ORDERQUEUE的交易顺序问题

帅哥哟,离线,有人找我吗?
alexsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:183 积分:941 威望:0 精华:0 注册:2010/7/27 21:25:41
[讨论]关于ORDERQUEUE的交易顺序问题  发帖心情 Post By:2010/10/29 19:09:23    Post IP:117.136.8.133[只看该作者]

帮助上解释ORDERQUEUE命令是将“所有报单放入队列中,按次序委托下单,成交一个委托下一个.”

 

问题:比如当出现交易信号时,需要先平仓再开仓,所以相邻的Tsell和Tbuy两句语句中都使用了Orderqueue,并使用出现信号点的即时价格进行操作。那么使用了Orderqueue后的下单逻辑顺序是:a)先下单平仓,等平仓成交了之后再下开仓指令,还是b) 同时下达平仓、开仓指令,并将两个委托堆砌在未成交委托栏中,依次等候成交?

 

a和b这两种方式在实战中有一个差别,就是采用a方法可以分别定义两个委托的价格,比如第一单平仓5秒钟后成交了,那么第二单开仓就可以采用5秒钟后的即时价格。而b情况则不行,只能同时委托同一个价格,然后等待依次成交。

 

所以,如果是a情况,以下语句是否更有效率?

 

     BUY1_1:=DYNAINFO2(28,stock);              //设定平仓的即时价格(买一价)
     TSELL(1,vol,LMT,BUY1_1,0,AC,stock),ORDERQUEUE;    //平多
     BUY1_2:=DYNAINFO2(28,stock);             //设定开空仓的即时价格(买一价)
     TBUYSHORT(1,vol,LMT,BUY1_2,0,AC,stock),ORDERQUEUE;   //开空单

 

假设平多5秒钟之后才成交,则开空的价格就是5秒钟之后的buy1价格了。。。?

 

还是只能是B情况?如果这样是否只能采取先校验平仓是否已经成交,之后再采用新的价格开仓?

[此贴子已经被作者于2010-10-29 19:13:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
msedu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:232 积分:1256 威望:0 精华:0 注册:2010/4/24 21:58:28
  发帖心情 Post By:2010/10/29 22:30:02    Post IP:116.25.143.130[只看该作者]

在实际,使用中,如果,你使用了OrderQueue,有时会,把同一条交易指令执行两次,大家发现了吗?

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/10/30 0:19:13    Post IP:58.246.57.26[只看该作者]

使用ORDERQUEUE后,系统采取逐个成交的方法,第一个成交后,再发送下一个委托

 回到顶部