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

请教一下各位大佬,我想缓存近100个bar的macd信息,一开始看到了时间序列容器Arraymanager,想把macd直接写到Arraymanager里,后来发现,得先有Arraymanager,才能开始计算指标。似乎直接写在Arraymanager里不成立。
如何才能让近100个bar除了高开低收以外,多一列MACD的信息呢?

Super Moderator
avatar
加入于:
帖子: 529
声望: 43

自己写一个list缓存

Member
avatar
加入于:
帖子: 3140
声望: 216

am.macd传array=True返回的第一项就是macd的array

Member
avatar
加入于:
帖子: 21
声望: 1

xiaohe wrote:

am.macd传array=True返回的第一项就是macd的array
非常感谢!再请教一下,macd的周期会影响到array的长度吗?如果会的话,为了保证array长度,是不是要相应修改arraymannager的size?如果不会的话,满足它周期计算的bar是在哪传入的

Member
avatar
加入于:
帖子: 21
声望: 1

顺带问一下,有没有可能在jupyter里把arraymanager的内容打印出来呢

Member
avatar
加入于:
帖子: 3140
声望: 216

woodlandnight wrote:

xiaohe wrote:

am.macd传array=True返回的第一项就是macd的array
非常感谢!再请教一下,macd的周期会影响到array的长度吗?如果会的话,为了保证array长度,是不是要相应修改arraymannager的size?如果不会的话,满足它周期计算的bar是在哪传入的
不能超过am的size长度

Member
avatar
加入于:
帖子: 3140
声望: 216

woodlandnight wrote:

顺带问一下,有没有可能在jupyter里把arraymanager的内容打印出来呢
可以

Member
avatar
加入于:
帖子: 21
声望: 1

xiaohe wrote:

woodlandnight wrote:

顺带问一下,有没有可能在jupyter里把arraymanager的内容打印出来呢
可以
我试着在jupyter里写了一下,但是提示报错AttributeError: 'NoneType' object has no attribute 'on_init',请问该如何修改代码呢

from datetime import datetime
from vnpy_ctastrategy.backtesting import BacktestingEngine
from vnpy.trader.utility import ArrayManager

engine = BacktestingEngine()
engine.set_parameters(
vt_symbol = "IF888.CFFEX",
interval = "1m",
start = datetime(2020,8,3),
end = datetime(2020,8,4),
rate = 0.3/10000,
slippage = 0.2,
size = 300,
pricetick = 0.2,
capital = 1_000_000
)
engine.load_data()
engine.run_backtesting()
am = ArrayManager()
print(am.macd)

Member
avatar
加入于:
帖子: 21
声望: 1

我只需要回放一天的数据

Member
avatar
加入于:
帖子: 3140
声望: 216

要在策略里打印,你这里是单独创了个am,K线也没传进去

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

沪公网安备 31011502017034号

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