From 627c5059f0066ca7bbe6e2c5e3fc0a2ed7e9c8cd Mon Sep 17 00:00:00 2001 From: hroff-1902 Date: Mon, 18 May 2020 13:54:21 +0300 Subject: [PATCH] Move create_pair_list to pairlistmanager --- freqtrade/data/common.py | 7 ------- freqtrade/data/dataprovider.py | 8 +------- freqtrade/exchange/exchange.py | 2 +- freqtrade/freqtradebot.py | 2 +- freqtrade/pairlist/pairlistmanager.py | 13 ++++++++++++- freqtrade/strategy/interface.py | 2 +- 6 files changed, 16 insertions(+), 18 deletions(-) delete mode 100644 freqtrade/data/common.py diff --git a/freqtrade/data/common.py b/freqtrade/data/common.py deleted file mode 100644 index 7a61d51ea..000000000 --- a/freqtrade/data/common.py +++ /dev/null @@ -1,7 +0,0 @@ -""" -Common datatypes -""" -from typing import List, Tuple - -# List of pairs with their timeframes -ListPairsWithTimeframes = List[Tuple[str, str]] diff --git a/freqtrade/data/dataprovider.py b/freqtrade/data/dataprovider.py index 602a92358..5668e2437 100644 --- a/freqtrade/data/dataprovider.py +++ b/freqtrade/data/dataprovider.py @@ -9,10 +9,10 @@ from typing import Any, Dict, List, Optional from pandas import DataFrame -from freqtrade.data.common import ListPairsWithTimeframes from freqtrade.data.history import load_pair_history from freqtrade.exceptions import DependencyException, OperationalException from freqtrade.exchange import Exchange +from freqtrade.pairlist.pairlistmanager import ListPairsWithTimeframes from freqtrade.state import RunMode @@ -45,12 +45,6 @@ class DataProvider: """ return list(self._exchange._klines.keys()) - def create_pair_list(self, pairs: List[str], timeframe: str = None) -> ListPairsWithTimeframes: - """ - Create list of pair tuples with (pair, ticker_interval) - """ - return [(pair, timeframe or self._config['ticker_interval']) for pair in pairs] - def ohlcv(self, pair: str, timeframe: str = None, copy: bool = True) -> DataFrame: """ Get candle (OHLCV) data for the given pair as DataFrame diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 43ed65787..858cdecab 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -18,12 +18,12 @@ from ccxt.base.decimal_to_precision import (ROUND_DOWN, ROUND_UP, TICK_SIZE, TRUNCATE, decimal_to_precision) from pandas import DataFrame -from freqtrade.data.common import ListPairsWithTimeframes from freqtrade.data.converter import ohlcv_to_dataframe, trades_dict_to_list from freqtrade.exceptions import (DependencyException, InvalidOrderException, OperationalException, TemporaryError) from freqtrade.exchange.common import BAD_EXCHANGES, retrier, retrier_async from freqtrade.misc import deep_merge_dicts, safe_value_fallback +from freqtrade.pairlist.pairlistmanager import ListPairsWithTimeframes CcxtModuleType = Any diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index 6b99e95b6..6ea5ec970 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -145,7 +145,7 @@ class FreqtradeBot: self.active_pair_whitelist = self._refresh_active_whitelist(trades) # Refreshing candles - self.dataprovider.refresh(self.dataprovider.create_pair_list(self.active_pair_whitelist), + self.dataprovider.refresh(self.pairlists.create_pair_list(self.active_pair_whitelist), self.strategy.informative_pairs()) with self._sell_lock: diff --git a/freqtrade/pairlist/pairlistmanager.py b/freqtrade/pairlist/pairlistmanager.py index 5b4c5b602..163836c4d 100644 --- a/freqtrade/pairlist/pairlistmanager.py +++ b/freqtrade/pairlist/pairlistmanager.py @@ -5,7 +5,7 @@ Provides lists as configured in config.json """ import logging -from typing import Dict, List +from typing import Dict, List, Tuple from cachetools import TTLCache, cached @@ -13,9 +13,14 @@ from freqtrade.exceptions import OperationalException from freqtrade.pairlist.IPairList import IPairList from freqtrade.resolvers import PairListResolver + logger = logging.getLogger(__name__) +# List of pairs with their timeframes +ListPairsWithTimeframes = List[Tuple[str, str]] + + class PairListManager(): def __init__(self, exchange, config: dict) -> None: @@ -94,3 +99,9 @@ class PairListManager(): pairlist = IPairList.verify_blacklist(pairlist, self.blacklist, True) self._whitelist = pairlist + + def create_pair_list(self, pairs: List[str], timeframe: str = None) -> ListPairsWithTimeframes: + """ + Create list of pair tuples with (pair, ticker_interval) + """ + return [(pair, timeframe or self._config['ticker_interval']) for pair in pairs] diff --git a/freqtrade/strategy/interface.py b/freqtrade/strategy/interface.py index 5173265bc..d5d171bec 100644 --- a/freqtrade/strategy/interface.py +++ b/freqtrade/strategy/interface.py @@ -12,10 +12,10 @@ from typing import Dict, NamedTuple, Optional, Tuple import arrow from pandas import DataFrame -from freqtrade.data.common import ListPairsWithTimeframes from freqtrade.data.dataprovider import DataProvider from freqtrade.exceptions import StrategyError from freqtrade.exchange import timeframe_to_minutes +from freqtrade.pairlist.pairlistmanager import ListPairsWithTimeframes from freqtrade.persistence import Trade from freqtrade.strategy.strategy_wrapper import strategy_safe_wrapper from freqtrade.wallets import Wallets