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

VNPY版本:2.0.9
操作系统:win10
回测策略:DoubleMaStrategy
Interval:1m
在app/cta_strategy/backtesting.py中,第277行-287行代码

        day_count = 0
        ix = 0

        for ix, data in enumerate(self.history_data):
            if self.datetime and data.datetime.day != self.datetime.day:
                day_count += 1
                if day_count >= self.days:
                    break

            self.datetime = data.datetime
            self.callback(data)

description

我是新手,请问一下大佬,这段代码是不是在某个场景有用?感觉普通回测的时候删掉也能正常运行,而且由于有self.day的限制,会导致在self.strategy.trading = True之前,初始化策略时,策略发出的交易指令无效。还请各位大神指点。

Administrator
avatar
加入于:
帖子: 4502
声望: 321

这是给策略做数据初始化的逻辑,保持和实盘时的每日策略初始化逻辑一致,如果删除不影响回测,但是和实盘行为会出现区别。

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

用Python的交易员 wrote:

这是给策略做数据初始化的逻辑,保持和实盘时的每日策略初始化逻辑一致,如果删除不影响回测,但是和实盘行为会出现区别

非常感谢!

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

沪公网安备 31011502017034号

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