vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 11
声望: 0

换句话说订单的缓存是存在本地的哪里,找了一圈没找到本地持久化的地方。是在.vnstation下的.dat文件里放着吗?

Member
avatar
加入于:
帖子: 2357
声望: 148

本地没有缓存,限价单的单子是下到交易所了所以重启的时候从交易所查询到了,本地停止单就没下到交易所,关闭之后缓存就清掉了

Member
avatar
加入于:
帖子: 11
声望: 0

xiaohe wrote:

本地没有缓存,限价单的单子是下到交易所了所以重启的时候从交易所查询到了,本地停止单就没下到交易所,关闭之后缓存就清掉了
@xiaohe 感谢回复。我是新手,还未完全理解两点,还需要请教您:
1)限价单发出后就会挂在服务器端,如果不撤单就会一直挂着。PositionHolding中的active_orders是用来记录未撮合的限价单,当系统启动时候,会从交易所查到未撮合单然后放到active_orders中吗?
2)限价单成交后在on_trade中发出止损单,这个时候的止损单就是服务器端止损了把。您说的本地停止单是什么情况会用呢?

Member
avatar
加入于:
帖子: 2357
声望: 148
  1. 不会,我说的是会从通过接口从交易所获取,通过on_order推送信息显示在图形界面上。重启后不会重新发送原来的委托订单。可以自己缓存挂单单号,重启初始化策略时再读取。可参考https://www.vnpy.com/forum/topic/530-vnpyzhong-qi-hou-ce-lue-wu-fa-yu-zhong-qi-qian-de-gua-dan-guan-lian)
  2. 限价单是发到服务器的,本地停止单是在本地记录了信息,等价格触到了记录的价格就以涨跌停价或者盘口五档的价格发出限价单。微信公众号vnpy-community的【进阶课程】-【CTA策略】的第17课时【停止单撮合】有详细讲解或可参考https://www.vnpy.com/forum/topic/4786-guan-yu-ting-sun-dan-zhi-xing-ji-zhi-de-dai-ma-jie-du
© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号