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

def on_bar(self, bar: BarData): # 判断新的一天,计算range

    am = self.am
    am.update_bar(bar)
    if not am.inited:
        return

    self.bars.append(bar)
    if len(self.bars) <= 4:
        return
    else:
        self.bars.pop(0)
    last_bar = self.bars[-2]

    # New Day
    # 如果上一根K线的时间为 14:58,NewDay = True
    # 如果上一根K线的时间为14:59,
    if last_bar.datetime.time() == time(hour=14, minute=58):
         self.NewDay = True

    if last_bar.datetime.time() == time(hour=14, minute=59):
        if self.day_open and self.NewDay == True:
            self.QianRi_range = self.ZuoRi_range
            self.ZuoRi_range = self.day_range                
            self.day_range = self.day_high - self.day_low # 计算日range
            self.big_range = max(self.day_range,max(self.ZuoRi_range,self.QianRi_range))

            self.open_price = bar.open_price
            self.NewDay = False

问题:1.如何判断新的一天,这么写对么?有无更好的方法
2.晚上开盘前点开始运行,self.day_open and self.NewDay == True:这个条件就成立了,直接开始运行,前天和大前天的range计算不对,该怎么办?

Member
avatar
加入于:
帖子: 4711
声望: 287

策略创建两个bg分别合成分钟线和K线应该会方便一点吧

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

沪公网安备 31011502017034号

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