bot: use async ccxt in _process for fetching ticker history
This commit is contained in:
parent
ab8993d13f
commit
a12af0ef5a
@ -12,10 +12,11 @@ from typing import Any, Callable, Dict, List, Optional
|
|||||||
import arrow
|
import arrow
|
||||||
import requests
|
import requests
|
||||||
from cachetools import TTLCache, cached
|
from cachetools import TTLCache, cached
|
||||||
|
import asyncio
|
||||||
|
|
||||||
from freqtrade import (DependencyException, OperationalException,
|
from freqtrade import (DependencyException, OperationalException,
|
||||||
TemporaryError, __version__, constants, persistence)
|
TemporaryError, __version__, constants, persistence)
|
||||||
from freqtrade.exchange import Exchange
|
from freqtrade.exchange import Exchange, run_async_task
|
||||||
from freqtrade.persistence import Trade
|
from freqtrade.persistence import Trade
|
||||||
from freqtrade.rpc import RPCManager, RPCMessageType
|
from freqtrade.rpc import RPCManager, RPCMessageType
|
||||||
from freqtrade.state import State
|
from freqtrade.state import State
|
||||||
@ -43,6 +44,8 @@ class FreqtradeBot(object):
|
|||||||
__version__,
|
__version__,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.loop = asyncio.get_event_loop()
|
||||||
|
|
||||||
# Init bot states
|
# Init bot states
|
||||||
self.state = State.STOPPED
|
self.state = State.STOPPED
|
||||||
|
|
||||||
@ -52,6 +55,7 @@ class FreqtradeBot(object):
|
|||||||
self.rpc: RPCManager = RPCManager(self)
|
self.rpc: RPCManager = RPCManager(self)
|
||||||
self.persistence = None
|
self.persistence = None
|
||||||
self.exchange = Exchange(self.config)
|
self.exchange = Exchange(self.config)
|
||||||
|
self.exchange.loop = self.loop
|
||||||
self._init_modules()
|
self._init_modules()
|
||||||
|
|
||||||
def _init_modules(self) -> None:
|
def _init_modules(self) -> None:
|
||||||
@ -146,6 +150,10 @@ class FreqtradeBot(object):
|
|||||||
final_list = sanitized_list[:nb_assets] if nb_assets else sanitized_list
|
final_list = sanitized_list[:nb_assets] if nb_assets else sanitized_list
|
||||||
self.config['exchange']['pair_whitelist'] = final_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
|
# Query trades from persistence layer
|
||||||
trades = Trade.query.filter(Trade.is_open.is_(True)).all()
|
trades = Trade.query.filter(Trade.is_open.is_(True)).all()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user