vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 9
声望: 2

https://www.vnpy.com/forum/topic/3409-wei-shi-yao-ni-de-hui-ce-ce-lue-he-bie-de-ping-tai-bu-tai-yi-yang?page=1#pid12167
这是我之前的帖子,为什么你的回测策略和别的平台“不太一样”

vnpy的商品期货30分钟周期的每天的10点到11点的数据是没有的,别的时间比如9.30-10.00都是
有数据的但是10.00到10.30是没有数据的,直接是10.00到11.00,少了这一部分的分钟的数据,
也就是说商品期货休息的这段时间没有数据但是事实是10.00-10.30之间有15min的数据所以一直是少
了这一个K线,下面就是解决办法,只是国内的商品期货,别的品种大家自行选择

在合成分钟线的代代码下面加上这三句代码,原理大家都懂不多说,之后就会合成10.00-10.15的K线了

            elif self.last_bar and str(bar.datetime)[-8:]=='10:14:00':
                finished = True
                self.interval_count = 0

description

description

Administrator
avatar
加入于:
帖子: 4028
声望: 220

赞,给你加个精华

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

非常感谢

Member
加入于:
帖子: 51
声望: 2

非常感谢· 你的帖子 就是我的方向

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

对于股指10:15-10:30不中断的,是不是需要做排除?

Member
加入于:
帖子: 130
声望: 34

之前没有注意到地方,非常感谢。
这个地方加个self.window == 30 ,只是30分钟强行合并安全行高点。不然其他周期也会触发合并

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

应该分开,是否是商品期货,这样写死BarGenerator,其他品种不适合这种合成咋办?

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

在BarGenerator单独写一个方法:
比如:update_bar_commodityfuture:表示更新商品期货的方式,原先的update_bar不动它
在:
def on_bar(self, bar: BarData):
self.bg_x.update_bar_commodityfuture(bar)
self.bg_daily.update_bar_commodityfuture(bar)
当中,改为用这个方法更新,这样写比较完善一些,其他如果再有不同的,再单独写一个方法。

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

补充一下,现在最新版的时间格式改动了,原先的

elif self.last_bar and str(bar.datetime)[-8:]=='10:14:00':

可以改成

elif self.last_bar and str(bar.datetime)[-14:-6]=='10:14:00':

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

弱弱的问一下这个问题有最终解决方案吗

Member
avatar
加入于:
帖子: 31
声望: 1

可以参考下我最近的解决方案
https://www.vnpy.com/forum/topic/4258-bargeneratorgong-neng-zeng-qiang-zhi-chi-he-cheng-ri-he-zhou-zhou-qi

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