將次要版本號從 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