如何在CCXTStore中添加多个时间段?[Python,backtrader]

ee7vknir  于 2023-01-01  发布在  Python
关注(0)|答案(1)|浏览(230)

我尝试使用CCXTStore库来创建一个使用多个时间框架(1小时和5分钟)的反向交易策略。为此,我需要弄清楚如何向脑波强化器添加额外的数据源。
使用CSV数据很容易,我可以简单地创建两个数据对象,并使用 adddata 方法将它们逐个添加到脑波机中。但是,这不适用于CCXTStore。
是否可以使用CCXTStore添加多个时间段以及如何添加?
我在backtrader社区论坛上找到的最接近这个主题的是this,我也在那里创建了一个新帖子,但似乎这个社区最近没有那么多的参与者。

pqwbnv8z

pqwbnv8z1#

如需使用CCXTStore向Cerebro添加额外的数据馈送,可使用Cerebro对象的adddata方法,该方法接受一个数据参数,该参数可以是配置了所需交换和时间帧的CCXTStore类的示例。
例如:

import backtrader as bt
from backtrader_ccxt.ccxtstore import CCXTStore

# create an instance of the CCXTStore class
store = CCXTStore(exchange='binance', timeframe=bt.TimeFrame.Minutes, compression=1)

# create an instance of the Cerebro class
cerebro = bt.Cerebro()

# add the datafeed to Cerebro
cerebro.adddata(store)

# run the strategy
cerebro.run()

要添加多个时间帧,您只需创建具有不同时间帧的CCXTStore类的其他示例,并使用adddata方法将其添加到Cerebro对象。
例如:

import backtrader as bt
from backtrader_ccxt.ccxtstore import CCXTStore

# create an instance of the CCXTStore class for the 1-minute timeframe
store1min = CCXTStore(exchange='binance', timeframe=bt.TimeFrame.Minutes, compression=1)

# create an instance of the CCXTStore class for the 5-minute timeframe
store5min = CCXTStore(exchange='binance', timeframe=bt.TimeFrame.Minutes, compression=5)

# create an instance of the CCXTStore class for the 1-hour timeframe
store1hour = CCXTStore(exchange='binance', timeframe=bt.TimeFrame.Hours, compression=1)

# create an instance of the Cerebro class
cerebro = bt.Cerebro()

# add the datafeeds to Cerebro
cerebro.adddata(store1min)
cerebro.adddata(store5min)
cerebro.adddata(store1hour)

# run the strategy
cerebro.run()

相关问题