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

不应该是45,30吗?

self.bg = NewBarGenerator(self.on_bar,window= 45,on_window_bar= self.on_45min_bar,interval=Interval.MINUTE)

if self.interval == Interval.MINUTE:
            # # x-minute bar
            # if not (bar.datetime.minute + 1) % self.window:
            #     finished = True
            if self.last_bar and bar.datetime.minute != self.last_bar.datetime.minute:

                self.interval_count += 1

                if not self.interval_count % self.window:
                    finished = True
                    self.interval_count = 0
Member
avatar
加入于:
帖子: 16
声望: 0

description

Administrator
avatar
加入于:
帖子: 4541
声望: 324

建议检查下你加载的第一条数据时间戳,可能是01而不是00

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

用Python的交易员 wrote:

建议检查下你加载的第一条数据时间戳,可能是01而不是00

我把window改成5时,发现加载第一条数据时因为lastbar是空,interval_count没有计数,所以第一个5m bar用了6个1m bar算的,导致后面的都向后移动了一个bar,把这一行改成这样就正常了,请问这是bug吗?

if (self.last_bar and bar.datetime.minute != self.last_bar.datetime.minute) or not self.last_bar:
                self.interval_count += 1
                if not self.interval_count % self.window:
                    finished = True
                    self.interval_count = 0
Member
avatar
加入于:
帖子: 5005
声望: 301

description
还是先检查一下自己的数据吧,这是我在系统自带multi_timeframe策略里on_5min_bar函数中print出来的

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

沪公网安备 31011502017034号

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