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

def init(self, cta_engine, strategy_name, vt_symbol, setting):
""""""
super().init(cta_engine, strategy_name, vt_symbol, setting)
self.am = ArrayManager(100)

def on_init(self):
self.load_bar(10)

之前load bar 一直没问题。但是今天跑的时候 am.inited 输出结果为False。
是不是因为昨天是假期没数据的原因呀?如何能load_bar的时候跳过节假日呢?

Member
avatar
加入于:
帖子: 101
声望: 10

charlesttt wrote:

def init(self, cta_engine, strategy_name, vt_symbol, setting):
""""""
super().init(cta_engine, strategy_name, vt_symbol, setting)
self.am = ArrayManager(100)

def on_init(self):
self.load_bar(10)

之前load bar 一直没问题。但是今天跑的时候 am.inited 输出结果为False。
是不是因为昨天是假期没数据的原因呀?如何能load_bar的时候跳过节假日呢?
可能是你加载的数据不足,可以传大一点的数值,加载更多天的数据。
跳过节假日的方法需要自己根据需求修改vnpy_ctastrategy.engine中的load_bar函数了。

Member
加入于:
帖子: 81
声望: 0

肯定和假期没有数据有关系。传了大一点的数值也没用。还是am.inited 输出结果为False。 所以VNPY 默认LoadBar()没法跳过节假日是吧?

Member
avatar
加入于:
帖子: 5053
声望: 304

是的,在配置了数据服务的情况下可以参考2楼的建议load更多天的数据初始化。如果没有数据服务,怎么调大load_bar的天数am也没有inited,可能是数据库里历史数据不够导致的

Member
加入于:
帖子: 81
声望: 0

xiaohe wrote:

是的,在配置了数据服务的情况下可以参考2楼的建议load更多天的数据初始化。如果没有数据服务,怎么调大load_bar的天数am也没有inited,可能是数据库里历史数据不够导致的

如果数据库里面数据是全的。还有可能是其他原因导致inited 是False么?

Member
avatar
加入于:
帖子: 5053
声望: 304

load_bar天数太短

Member
加入于:
帖子: 81
声望: 0

load_bar 的函数具体在哪个文件夹里面呀?天数是自然日还是工作日呀?

xiaohe wrote:

load_bar天数太短

Member
加入于:
帖子: 81
声望: 0

charlesttt wrote:

load_bar 的函数具体在哪个文件夹里面呀?天数是自然日还是工作日呀?

xiaohe wrote:

load_bar天数太短

谢谢, 假如我数据库里面只有5天数据。我loadbar(100),100 天数据,不会有任何不良影响对吧?

Member
avatar
加入于:
帖子: 5053
声望: 304

如果是回测,根本无法进行回测。如果是实盘,也只能读5天,如果是分钟线,am是可以初始化的。但是没有必要调到100那么大。

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

沪公网安备 31011502017034号

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