bot: use async ccxt in _process for fetching ticker history

This commit is contained in:
Samuel Husso 2018-07-27 10:14:36 +03:00
parent ab8993d13f
commit a12af0ef5a

View File

@ -12,10 +12,11 @@ from typing import Any, Callable, Dict, List, Optional
import arrow
import requests
from cachetools import TTLCache, cached
import asyncio
from freqtrade import (DependencyException, OperationalException,
TemporaryError, __version__, constants, persistence)
from freqtrade.exchange import Exchange
from freqtrade.exchange import Exchange, run_async_task
from freqtrade.persistence import Trade
from freqtrade.rpc import RPCManager, RPCMessageType
from freqtrade.state import State
@ -43,6 +44,8 @@ class FreqtradeBot(object):
__version__,
)
self.loop = asyncio.get_event_loop()
# Init bot states
self.state = State.STOPPED
@ -52,6 +55,7 @@ class FreqtradeBot(object):
self.rpc: RPCManager = RPCManager(self)
self.persistence = None
self.exchange = Exchange(self.config)
self.exchange.loop = self.loop
self._init_modules()
def _init_modules(self) -> None:
@ -146,6 +150,10 @@ class FreqtradeBot(object):
final_list = sanitized_list[:nb_assets] if nb_assets else sanitized_list
self.config['exchange']['pair_whitelist'] = final_list
# async update ticker history
run_async_task(self.exchange.get_ticker_history_async,
tick_interval = self.strategy.ticker_interval)
# Query trades from persistence layer
trades = Trade.query.filter(Trade.is_open.is_(True)).all()