WISEPLAT / backtrader_moexalgo

MOEX API AlgoPack integration with Backtrader. На данных с биржи MOEX теперь можно создавать полноценные торговые стратегии. Проводить Backtesting и делать Live торговлю через брокеров Алор, Финам и тех, у кого есть торговый терминал Quik.
MIT License
41 stars 23 forks source link

Ошибка при выгрузке супер-свечей #3

Closed constrictorum closed 5 months ago

constrictorum commented 5 months ago

в файле DataExamplesMoexAlgo_ru/01 - Symbol.py при получении с moex супер-свечей, например, в примере 9, скрипт возвращает ошибку Traceback (most recent call last): File "/tmp/backtrader_moexalgo/DataExamplesMoexAlgo_ru/01 - Symbol.py", line 75, in cerebro.run() # Запуск торговой системы File "/tmp/backtrader_moexalgo/.venv/lib/python3.10/site-packages/backtrader/cerebro.py", line 1132, in run runstrat = self.runstrategies(iterstrat) File "/tmp/backtrader_moexalgo/.venv/lib/python3.10/site-packages/backtrader/cerebro.py", line 1215, in runstrategies data._start() File "/tmp/backtrader_moexalgo/.venv/lib/python3.10/site-packages/backtrader/feed.py", line 203, in _start self.start() File "/tmp/backtrader_moexalgo/backtrader_moexalgo/moexalgo_feed.py", line 251, in start klines, get_live_bars_from = self.get_super_candles(from_date=self.from_date, File "/tmp/backtrader_moexalgo/backtrader_moexalgo/moexalgo_feed.py", line 432, in get_super_candles if len(rows_list): TypeError: object of type 'generator' has no len()

проблема в том, что в .venv/lib/python3.10/site-packages/moexalgo/shares.py (строки 51-54) проверка на интрактивный режим и при запуске обычного скрипта возвращается генератор, а не DataFrame

WISEPLAT commented 5 months ago

Запускаете в jupyter? Или обычным образом?

WISEPLAT commented 5 months ago

последняя версия библиотеки? pip install --upgrade backtrader_moexalgo такая ошибка исправлена в 1.0.8 версии https://github.com/WISEPLAT/backtrader_moexalgo/commit/16c8eed863c51dca9d6ac4a565921e6d00512b80