VeighNa量化社区
你的开源社区量化交易平台
Member
加入于:
帖子: 59
声望: 8

vnpy的1分钟行情记录是把当前tick的时间当做K线的起始时间的, 比如我要记录期货合约9:00到11:30的行情, 我用GitHub上的行情记录的例子去实现的时候, 发现实际写入到数据库的行情的时间是9:00, 9:01, 9:02......11:29, 这个好像不大符合主流的软件显示的k线的时间, 比如通达信的行情是从9:01开始的, 9:01, 9:02, 9:03,......11:30, 个人觉得这种时间戳的K线行情才是能接受的...
所以目前有俩疑问:
a, 是不是我的行情记录程序写错了, vnpy正常记录行情就是从9:01开始,11:30结束的?
b, 如果我写的行情记录逻辑没有错 ,当然也可以通过对tick.datetime属性进行分钟数加1来达到相同的效果, 但是这样会让代码显得很不简洁, 而且要涉及到更改源码, 可能对执行效率会有影响(毕竟要对时间进行运算)
c, 如果必须要更改源码来做, 有没有比较优雅一点的实现方式, 不要用tick.datetime属性进行分钟数加1来做? 目前我还没有想到好办法
d, 我用的是GitHub上的无ui来做交易的, 而且我的策略会用到K线和tick数据, 所以跑策略的时候其实是需要同时开启行情记录和运行策略的, 但是有时候策略运行过程中可能需要调试或者更改参数, 要把整个程序中断掉, 这样就无法完整记录tick数据了, 有没有一种办法可以同时开两个程序, 也就是说运行两个Python实例, 一个用于不间断录制行情, 一个用于交易, 但是ctp要录制行情的话必须要登录, 一个账号应该不能同时在两个Python实例上同时登录, 大家有没有好的办法建议. 不知道一些交易软件比如通达信是怎么样在不登录账号的情况下收到行情的
e, 实际的行情录制过程中发现前面3到4根1分钟K线录制的行情和通达信上的行情不一致, 后面的都完全准确了, 不知道是不是也是因为行情录制起始时间的问题

Member
avatar
加入于:
帖子: 4622
声望: 284

vnpy的数据是从9:00开始的
可参考https://www.vnpy.com/forum/topic/1706-qing-wen-hui-ce-shi-shi-yong-9:01dao-3:00-huan-shi-cong-9:00dao-xia-wu-2:59de-shu-ju

Member
加入于:
帖子: 59
声望: 8

xiaohe wrote:

vnpy的数据是从9:00开始的
可参考https://www.vnpy.com/forum/topic/1706-qing-wen-hui-ce-shi-shi-yong-9:01dao-3:00-huan-shi-cong-9:00dao-xia-wu-2:59de-shu-ju

感谢! 我还是改成从9:01 开始录制了,希望能帮到有需要的朋友:
utility.py中修改, 用最笨的方法改的:
self.bar.datetime = self.bar.datetime+timedelta(minutes=1)
self.on_bar(self.bar)
self.bar.datetime = self.bar.datetime-timedelta(minutes=1)

Member
加入于:
帖子: 59
声望: 8

守望长城2020-6-11-艾瑞巴蒂 wrote:

xiaohe wrote:

vnpy的数据是从9:00开始的
可参考https://www.vnpy.com/forum/topic/1706-qing-wen-hui-ce-shi-shi-yong-9:01dao-3:00-huan-shi-cong-9:00dao-xia-wu-2:59de-shu-ju

感谢! 我还是改成从9:01 开始录制了,希望能帮到有需要的朋友:
utility.py中修改, 用最笨的方法改的:

  1. self.bar.datetime = self.bar.datetime+timedelta(minutes=1)
  2. self.on_bar(self.bar)

  3. self.bar.datetime = self.bar.datetime-timedelta(minutes=1)

这些代码有问题, 抱歉

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

守望长城2020-6-11-艾瑞巴蒂 wrote:

守望长城2020-6-11-艾瑞巴蒂 wrote:

xiaohe wrote:

vnpy的数据是从9:00开始的
可参考https://www.vnpy.com/forum/topic/1706-qing-wen-hui-ce-shi-shi-yong-9:01dao-3:00-huan-shi-cong-9:00dao-xia-wu-2:59de-shu-ju

感谢! 我还是改成从9:01 开始录制了,希望能帮到有需要的朋友:
utility.py中修改, 用最笨的方法改的:

  1. self.bar.datetime = self.bar.datetime+timedelta(minutes=1)
  2. self.on_bar(self.bar)

  3. self.bar.datetime = self.bar.datetime-timedelta(minutes=1)

这些代码有问题, 抱歉
“这些代码有问题, 抱歉”这是改好了还是没改好?请教!

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】