设为首页收藏本站

 找回密码
 注册
查看: 2057|回复: 2
打印 上一主题 下一主题

成交信息反馈的机制是怎样的?希望管理员解答 [复制链接]

Rank: 5Rank: 5

精华
0
UID
35604
积分
653
帖子
201
主题
83
阅读权限
60
注册时间
2011-4-25
最后登录
2021-1-21
跳转到指定楼层
1#
发表于 2016-12-13 23:17:05 |只看该作者 |倒序浏览
现在成交了一笔多单,成交时间是300毫秒的时候(假设数据推送时间分别是0毫秒跟500毫秒的时候)。那么这个时候我用A_BuyPosition查询仓位,仓位是不是有变化?还是说必须要等到500毫秒那次数据推送过来之后,仓位才有变化?其实说白了,就是成交信息反馈的速度,是不管什么时候成交都能查询出来,还是必须等数据推送才能更新?
谢谢解答!

高级操盘手

「你若能信,在信之人,凡事皆能。」

Rank: 10Rank: 10Rank: 10

精华
0
UID
117005
积分
98549
帖子
1121
主题
14
阅读权限
200
注册时间
2013-3-18
最后登录
2022-10-29
2#
发表于 2016-12-14 08:09:12 |只看该作者
按你上面的假设,A_BuyPosition返回的应该是你这笔多单成交前的仓位,理论上数据没推送过来,应该是不会刷新仓位的。当然,这只是我个人理解,还要TB的技术确认。

按我用A函数实盘的总结,获取仓位,最好配合委托单状态A_OrderStatus使用,比如:if(A_OrderStatus(i)==Enum_Filled) MyBuyPosition=A_BuyPosition;(例子中i为该委托单的索引值,MyBuyPosition为记录仓位的变量),这样比较不会出问题。


不要因为众生的愚疑,而带来了自己的烦恼。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2016-12-14 13:24:44 |只看该作者
你所说的(假设数据推送时间分别是0毫秒跟500毫秒的时候)是指行情的tick吧?。。这个是行情数据推送。
而持仓变化信息是柜台对帐户数据的推送,二者并不相同,也并非同时啊。
成交信息是由柜台来主动推送给各个客户端,所以并不由软件商来控制。当然,只有持仓更新的信息推送到本地后,本地才可以查询到帐户发生的变化。
只不过TB旗舰版的策略是图表行情驱动运算,要行情有tick来后,运算时,才可读到帐户持仓的变化(假如持仓信息确实有了变化)。
以你上述的例子来说,行情0与500ms时推送。而300ms时成交回报到达本地,但此时的策略是不会以帐户信息的变化而重新运算的,也就是说策略是不会知道已经成交的信息。只有在500ms最新的一个行情tick到了,驱动公式运算时,才可以读到帐户持仓有改变的信息。
但如果在300ms时只是在交易所成交,且在500ms前这个成交回报未能及时到达本地,那么在500ms的行情tick到来时,运算读取的帐户持仓信息则是没有变化的。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-19 18:26

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部