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线录制的行情和通达信上的行情不一致, 后面的都完全准确了, 不知道是不是也是因为行情录制起始时间的问题