如题,最近有一个策略在编写,是做期货长线的,用的是1h的K线,其中需要用到MA125和MA200,以及累计132根K线收盘价的相关计算,发现vnpy内部用于计算MA是用talib计算,而我研究了下发现好像一次最多只能推送100个Bar,那该如何实现我上面提及的一系列指标的运算呢?
如题,最近有一个策略在编写,是做期货长线的,用的是1h的K线,其中需要用到MA125和MA200,以及累计132根K线收盘价的相关计算,发现vnpy内部用于计算MA是用talib计算,而我研究了下发现好像一次最多只能推送100个Bar,那该如何实现我上面提及的一系列指标的运算呢?
talib.EMA(close,timeperiod=200)在数据足够的时候是可以计算的,对于vnpy的调用K线时间序列管理模块而言,当用于计算的K线数量不足的话,ArrayManager初始化会失败,首先检查数据的长度是否满足计算条件吧。方便的话可以截图看一下报错吗?
我是这样算的:
ma_list = am.sma(200, array=True)
只要第一个参数大于100之后,ma_list的值就全部变成nan了
现在的话我是把ArrayManager里面的100改成了300,这样的话可以生成MA200了,但我想问下这样的会有什么问题吗?
没问题