将次要版本号从 1 更改为 2 需要一段时间,但旧的 DataResampler 和 DataReplayer 的弃用导致了这种情况。
readthedocs 的文档有
文档已更新为仅引用现代方法 resampling
和 replaying
。它就像:
... data = backtrader.feeds.BacktraderCSVData(dataname='mydata.csv') # daily bars cerebro.resampledata(data, timeframe=backtrader.TimeFrame.Weeks) # to weeks ...
要重播,只需更改为resampledata
replaydata
.还有其他方法可以做到这一点,但这是最直接的接口,可能是唯一一个被任何人使用的接口。
在工单 #60 之后,很明显,允许向data feeds添加其他lines(实际上添加到任何基于lines的对象)的扩展机制不足以支持工单中建议的内容。
因此,实现了一个附加参数来 lines 对象,该参数允许完全重新定义 lines 层次结构(Escape from OHLC Land 将是一个合适的电影标题)
一个名为 data-bid-ask 的示例已添加到源中。从范例中可以看出:
class BidAskCSV(btfeeds.GenericCSVData): linesoverride = True # discard usual OHLC structure # datetime must be present and last lines = ('bid', 'ask', 'datetime') # datetime (always 1st) and then the desired order for params = ( ('dtformat', '%m/%d/%Y %H:%M:%S'), ('datetime', 0), # field pos 0 ('bid', 1), # default field pos 1 ('ask', 2), # defult field pos 2 )
通过linesoverride
指定常规 lines 继承机制将被绕过,并且对象中定义的 lines 将取代任何先前 lines。
该版本可从pypi获得,并且可以与通常的:
pip install backtrader
或者,如果更新:
pip install backtrader --upgrade