diff --git a/freqtrade/plugins/pairlist/AgeFilter.py b/freqtrade/plugins/pairlist/AgeFilter.py index e1d4711c5..917dad45c 100644 --- a/freqtrade/plugins/pairlist/AgeFilter.py +++ b/freqtrade/plugins/pairlist/AgeFilter.py @@ -5,11 +5,11 @@ Minimum age (days listed) pair list filter import logging from copy import deepcopy from datetime import timedelta -from typing import Any, Dict, List, Optional +from typing import Dict, List, Optional from pandas import DataFrame -from freqtrade.constants import Config, ListPairsWithTimeframes +from freqtrade.constants import ListPairsWithTimeframes from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Tickers from freqtrade.misc import plural @@ -21,15 +21,8 @@ logger = logging.getLogger(__name__) class AgeFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) # Checked symbols cache (dictionary of ticker symbol => timestamp) self._symbolsChecked: Dict[str, int] = {} diff --git a/freqtrade/plugins/pairlist/MarketCapPairList.py b/freqtrade/plugins/pairlist/MarketCapPairList.py index 6395bd1a9..648766e20 100644 --- a/freqtrade/plugins/pairlist/MarketCapPairList.py +++ b/freqtrade/plugins/pairlist/MarketCapPairList.py @@ -5,11 +5,10 @@ Provides dynamic pair list based on Market Cap """ import logging -from typing import Any, Dict, List +from typing import Dict, List from cachetools import TTLCache -from freqtrade.constants import Config from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Tickers from freqtrade.plugins.pairlist.IPairList import IPairList, PairlistParameter @@ -22,15 +21,8 @@ logger = logging.getLogger(__name__) class MarketCapPairList(IPairList): is_pairlist_generator = True - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) if "number_assets" not in self._pairlistconfig: raise OperationalException( diff --git a/freqtrade/plugins/pairlist/OffsetFilter.py b/freqtrade/plugins/pairlist/OffsetFilter.py index a49c04ad4..bd981358e 100644 --- a/freqtrade/plugins/pairlist/OffsetFilter.py +++ b/freqtrade/plugins/pairlist/OffsetFilter.py @@ -3,9 +3,8 @@ Offset pair list filter """ import logging -from typing import Any, Dict, List +from typing import Dict, List -from freqtrade.constants import Config from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Tickers from freqtrade.plugins.pairlist.IPairList import IPairList, PairlistParameter @@ -15,15 +14,8 @@ logger = logging.getLogger(__name__) class OffsetFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._offset = self._pairlistconfig.get("offset", 0) self._number_pairs = self._pairlistconfig.get("number_assets", 0) diff --git a/freqtrade/plugins/pairlist/PerformanceFilter.py b/freqtrade/plugins/pairlist/PerformanceFilter.py index edd2376de..c10ae7394 100644 --- a/freqtrade/plugins/pairlist/PerformanceFilter.py +++ b/freqtrade/plugins/pairlist/PerformanceFilter.py @@ -3,11 +3,10 @@ Performance pair list filter """ import logging -from typing import Any, Dict, List +from typing import Dict, List import pandas as pd -from freqtrade.constants import Config from freqtrade.exchange.types import Tickers from freqtrade.persistence import Trade from freqtrade.plugins.pairlist.IPairList import IPairList, PairlistParameter @@ -17,15 +16,8 @@ logger = logging.getLogger(__name__) class PerformanceFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._minutes = self._pairlistconfig.get("minutes", 0) self._min_profit = self._pairlistconfig.get("min_profit") diff --git a/freqtrade/plugins/pairlist/PrecisionFilter.py b/freqtrade/plugins/pairlist/PrecisionFilter.py index 0e8c50849..b2f767a67 100644 --- a/freqtrade/plugins/pairlist/PrecisionFilter.py +++ b/freqtrade/plugins/pairlist/PrecisionFilter.py @@ -3,9 +3,8 @@ Precision pair list filter """ import logging -from typing import Any, Dict, Optional +from typing import Optional -from freqtrade.constants import Config from freqtrade.exceptions import OperationalException from freqtrade.exchange import ROUND_UP from freqtrade.exchange.types import Ticker @@ -16,15 +15,8 @@ logger = logging.getLogger(__name__) class PrecisionFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) if "stoploss" not in self._config: raise OperationalException( diff --git a/freqtrade/plugins/pairlist/PriceFilter.py b/freqtrade/plugins/pairlist/PriceFilter.py index 6af8bc54b..d651533ce 100644 --- a/freqtrade/plugins/pairlist/PriceFilter.py +++ b/freqtrade/plugins/pairlist/PriceFilter.py @@ -3,9 +3,8 @@ Price pair list filter """ import logging -from typing import Any, Dict, Optional +from typing import Dict, Optional -from freqtrade.constants import Config from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Ticker from freqtrade.plugins.pairlist.IPairList import IPairList, PairlistParameter @@ -15,15 +14,8 @@ logger = logging.getLogger(__name__) class PriceFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._low_price_ratio = self._pairlistconfig.get("low_price_ratio", 0) if self._low_price_ratio < 0: diff --git a/freqtrade/plugins/pairlist/ProducerPairList.py b/freqtrade/plugins/pairlist/ProducerPairList.py index 036a6eaeb..09a0c49d2 100644 --- a/freqtrade/plugins/pairlist/ProducerPairList.py +++ b/freqtrade/plugins/pairlist/ProducerPairList.py @@ -5,7 +5,7 @@ Provides pair list from Leader data """ import logging -from typing import Any, Dict, List, Optional +from typing import Dict, List, Optional from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Tickers @@ -32,15 +32,8 @@ class ProducerPairList(IPairList): is_pairlist_generator = True - def __init__( - self, - exchange, - pairlistmanager, - config: Dict[str, Any], - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._num_assets: int = self._pairlistconfig.get("number_assets", 0) self._producer_name = self._pairlistconfig.get("producer_name", "default") diff --git a/freqtrade/plugins/pairlist/RemotePairList.py b/freqtrade/plugins/pairlist/RemotePairList.py index b15cfa96e..26fadb9ae 100644 --- a/freqtrade/plugins/pairlist/RemotePairList.py +++ b/freqtrade/plugins/pairlist/RemotePairList.py @@ -14,7 +14,6 @@ from cachetools import TTLCache from freqtrade import __version__ from freqtrade.configuration.load_config import CONFIG_PARSE_MODE -from freqtrade.constants import Config from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Tickers from freqtrade.plugins.pairlist.IPairList import IPairList, PairlistParameter @@ -27,15 +26,8 @@ logger = logging.getLogger(__name__) class RemotePairList(IPairList): is_pairlist_generator = True - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) if "number_assets" not in self._pairlistconfig: raise OperationalException( diff --git a/freqtrade/plugins/pairlist/ShuffleFilter.py b/freqtrade/plugins/pairlist/ShuffleFilter.py index 015aa540b..59ac1ac7c 100644 --- a/freqtrade/plugins/pairlist/ShuffleFilter.py +++ b/freqtrade/plugins/pairlist/ShuffleFilter.py @@ -4,9 +4,8 @@ Shuffle pair list filter import logging import random -from typing import Any, Dict, List, Literal +from typing import Dict, List, Literal -from freqtrade.constants import Config from freqtrade.enums import RunMode from freqtrade.exchange import timeframe_to_seconds from freqtrade.exchange.types import Tickers @@ -20,15 +19,8 @@ ShuffleValues = Literal["candle", "iteration"] class ShuffleFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) # Apply seed in backtesting mode to get comparable results, # but not in live modes to get a non-repeating order of pairs during live modes. diff --git a/freqtrade/plugins/pairlist/SpreadFilter.py b/freqtrade/plugins/pairlist/SpreadFilter.py index 1b9d75f40..736903abd 100644 --- a/freqtrade/plugins/pairlist/SpreadFilter.py +++ b/freqtrade/plugins/pairlist/SpreadFilter.py @@ -3,9 +3,8 @@ Spread pair list filter """ import logging -from typing import Any, Dict, Optional +from typing import Dict, Optional -from freqtrade.constants import Config from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Ticker from freqtrade.plugins.pairlist.IPairList import IPairList, PairlistParameter @@ -15,15 +14,8 @@ logger = logging.getLogger(__name__) class SpreadFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._max_spread_ratio = self._pairlistconfig.get("max_spread_ratio", 0.005) self._enabled = self._max_spread_ratio != 0 diff --git a/freqtrade/plugins/pairlist/StaticPairList.py b/freqtrade/plugins/pairlist/StaticPairList.py index ac1201ca3..922d0fd94 100644 --- a/freqtrade/plugins/pairlist/StaticPairList.py +++ b/freqtrade/plugins/pairlist/StaticPairList.py @@ -6,9 +6,8 @@ Provides pair white list as it configured in config import logging from copy import deepcopy -from typing import Any, Dict, List +from typing import Dict, List -from freqtrade.constants import Config from freqtrade.exchange.types import Tickers from freqtrade.plugins.pairlist.IPairList import IPairList, PairlistParameter @@ -19,15 +18,8 @@ logger = logging.getLogger(__name__) class StaticPairList(IPairList): is_pairlist_generator = True - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._allow_inactive = self._pairlistconfig.get("allow_inactive", False) diff --git a/freqtrade/plugins/pairlist/VolatilityFilter.py b/freqtrade/plugins/pairlist/VolatilityFilter.py index f108e3a02..f5af2d0a7 100644 --- a/freqtrade/plugins/pairlist/VolatilityFilter.py +++ b/freqtrade/plugins/pairlist/VolatilityFilter.py @@ -5,13 +5,13 @@ Volatility pairlist filter import logging import sys from datetime import timedelta -from typing import Any, Dict, List, Optional +from typing import Dict, List, Optional import numpy as np from cachetools import TTLCache from pandas import DataFrame -from freqtrade.constants import Config, ListPairsWithTimeframes +from freqtrade.constants import ListPairsWithTimeframes from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Tickers from freqtrade.misc import plural @@ -27,15 +27,8 @@ class VolatilityFilter(IPairList): Filters pairs by volatility """ - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._days = self._pairlistconfig.get("lookback_days", 10) self._min_volatility = self._pairlistconfig.get("min_volatility", 0) diff --git a/freqtrade/plugins/pairlist/VolumePairList.py b/freqtrade/plugins/pairlist/VolumePairList.py index 1953e3ae0..ea172f140 100644 --- a/freqtrade/plugins/pairlist/VolumePairList.py +++ b/freqtrade/plugins/pairlist/VolumePairList.py @@ -10,7 +10,7 @@ from typing import Any, Dict, List, Literal from cachetools import TTLCache -from freqtrade.constants import Config, ListPairsWithTimeframes +from freqtrade.constants import ListPairsWithTimeframes from freqtrade.exceptions import OperationalException from freqtrade.exchange import timeframe_to_minutes, timeframe_to_prev_date from freqtrade.exchange.types import Tickers @@ -27,15 +27,8 @@ SORT_VALUES = ["quoteVolume"] class VolumePairList(IPairList): is_pairlist_generator = True - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) if "number_assets" not in self._pairlistconfig: raise OperationalException( diff --git a/freqtrade/plugins/pairlist/rangestabilityfilter.py b/freqtrade/plugins/pairlist/rangestabilityfilter.py index d39a85eef..473e003b6 100644 --- a/freqtrade/plugins/pairlist/rangestabilityfilter.py +++ b/freqtrade/plugins/pairlist/rangestabilityfilter.py @@ -4,12 +4,12 @@ Rate of change pairlist filter import logging from datetime import timedelta -from typing import Any, Dict, List, Optional +from typing import Dict, List, Optional from cachetools import TTLCache from pandas import DataFrame -from freqtrade.constants import Config, ListPairsWithTimeframes +from freqtrade.constants import ListPairsWithTimeframes from freqtrade.exceptions import OperationalException from freqtrade.exchange.types import Tickers from freqtrade.misc import plural @@ -21,15 +21,8 @@ logger = logging.getLogger(__name__) class RangeStabilityFilter(IPairList): - def __init__( - self, - exchange, - pairlistmanager, - config: Config, - pairlistconfig: Dict[str, Any], - pairlist_pos: int, - ) -> None: - super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos) + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) self._days = self._pairlistconfig.get("lookback_days", 10) self._min_rate_of_change = self._pairlistconfig.get("min_rate_of_change", 0.01)