VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 27
声望: 0

小白学习中,在录制行情数据时往往缺少最后1分钟,因为休收盘00分的tick如果不推送那上1分钟的K线不能合成比如缺少第59分钟k线,在bargenerator的update_tick函数下添加即可,这样做的缺点是如果合约在收盘前500毫秒没有tick还是会不能合成K线,如果有更好高效的方法还请大佬们指导

    if tick.datetime.minute in (59, 29, 14):
        if tick.datetime.second == 59 and tick.datetime.microsecond >= 500:
            end_times = (
                (10, 14), (11, 29), (14, 59), (15, 14),
                (22, 59), (0, 29), (2, 29)
            )
            if (tick.datetime.hour, tick.datetime.minute) in end_times:
                if self.bar:
                    self.bar.datetime = self.bar.datetime.replace(second=0, microsecond=0)
                    self.on_bar(self.bar)
                    self.bar = None

    self.last_tick = tick
Member
avatar
加入于:
帖子: 5527
声望: 334

调用bg.generate强制合成

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

请教如果有合约状态notrading,请教在哪里调用才合适录制数据不缺最后1分钟?

Member
avatar
加入于:
帖子: 5527
声望: 334

可以自己注册一个timer检查时间

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

沪公网安备 31011502017034号

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