Как правильно регистрировать сделки с помощью backtrader в python? - PullRequest
1 голос
/ 30 апреля 2020

Использование данных из CSV-файла в 60-минутном формате. Попытка записать все решения о покупке / продаже с помощью backtrader backtester.

Проблема: регистратор времени не работает должным образом, поскольку все часы выводятся как «23: 59: 59.999989», когда это не так.

См. Пример кода:

def log(self, txt, dt=None):
    dt = dt or self.data.datetime.datetime(0)
    print('%s, %s' % (dt, txt)) 


def next(self):
    if self.data.close > self.sma1:
        self.buy()
        self.log('BUY CREATE, exectype Market, price %.2f' % self.data.close[0])

#Get Data
data = btfeeds.GenericCSVData(dataname='AAPL.csv',fromdate=datetime.datetime(2018, 1, 2),todate=datetime.datetime(2020, 4, 28),nullvalue=0.0,dtformat=('%Y-%m-%d %H:%M:%S'),datetime=0,open=1,low=2,high=3,close=4,volume=5,openinterest=6)

Пример вывода:

2019-07-12 23:59:59.999989, BUY CREATE, exectype Market, price 203.52
2019-07-12 23:59:59.999989, BUY CREATE, exectype Market, price 203.30
2019-07-12 23:59:59.999989, BUY CREATE, exectype Market, price 203.24
2019-07-12 23:59:59.999989, BUY CREATE, exectype Market, price 203.24
2019-07-15 23:59:59.999989, BUY CREATE, exectype Market, price 204.11

Данные и формат из файла CSV:

2018-01-02  9:30:00 AM
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...