Use self._ for pairlist inits

This commit is contained in:
Matthias
2024-06-09 08:52:40 +02:00
parent 2cb89996d2
commit 29e23dfdb9
11 changed files with 32 additions and 32 deletions

View File

@@ -35,10 +35,10 @@ class AgeFilter(IPairList):
self._symbolsChecked: Dict[str, int] = {}
self._symbolsCheckFailed = PeriodicCache(maxsize=1000, ttl=86_400)
self._min_days_listed = pairlistconfig.get("min_days_listed", 10)
self._max_days_listed = pairlistconfig.get("max_days_listed")
self._min_days_listed = self._pairlistconfig.get("min_days_listed", 10)
self._max_days_listed = self._pairlistconfig.get("max_days_listed")
candle_limit = exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"])
candle_limit = self._exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"])
if self._min_days_listed < 1:
raise OperationalException("AgeFilter requires min_days_listed to be >= 1")
if self._min_days_listed > candle_limit:

View File

@@ -38,14 +38,14 @@ class MarketCapPairList(IPairList):
'for "pairlist.config.number_assets"'
)
self._stake_currency = config["stake_currency"]
self._stake_currency = self._config["stake_currency"]
self._number_assets = self._pairlistconfig["number_assets"]
self._max_rank = self._pairlistconfig.get("max_rank", 30)
self._refresh_period = self._pairlistconfig.get("refresh_period", 86400)
self._marketcap_cache: TTLCache = TTLCache(maxsize=1, ttl=self._refresh_period)
self._def_candletype = self._config["candle_type_def"]
_coingecko_config = config.get("coingecko", {})
_coingecko_config = self._config.get("coingecko", {})
self._coingecko: FtCoinGeckoApi = FtCoinGeckoApi(
api_key=_coingecko_config.get("api_key", ""),

View File

@@ -25,8 +25,8 @@ class OffsetFilter(IPairList):
) -> None:
super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos)
self._offset = pairlistconfig.get("offset", 0)
self._number_pairs = pairlistconfig.get("number_assets", 0)
self._offset = self._pairlistconfig.get("offset", 0)
self._number_pairs = self._pairlistconfig.get("number_assets", 0)
if self._offset < 0:
raise OperationalException("OffsetFilter requires offset to be >= 0")

View File

@@ -27,8 +27,8 @@ class PerformanceFilter(IPairList):
) -> None:
super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos)
self._minutes = pairlistconfig.get("minutes", 0)
self._min_profit = pairlistconfig.get("min_profit")
self._minutes = self._pairlistconfig.get("minutes", 0)
self._min_profit = self._pairlistconfig.get("min_profit")
@property
def needstickers(self) -> bool:

View File

@@ -25,16 +25,16 @@ class PriceFilter(IPairList):
) -> None:
super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos)
self._low_price_ratio = pairlistconfig.get("low_price_ratio", 0)
self._low_price_ratio = self._pairlistconfig.get("low_price_ratio", 0)
if self._low_price_ratio < 0:
raise OperationalException("PriceFilter requires low_price_ratio to be >= 0")
self._min_price = pairlistconfig.get("min_price", 0)
self._min_price = self._pairlistconfig.get("min_price", 0)
if self._min_price < 0:
raise OperationalException("PriceFilter requires min_price to be >= 0")
self._max_price = pairlistconfig.get("max_price", 0)
self._max_price = self._pairlistconfig.get("max_price", 0)
if self._max_price < 0:
raise OperationalException("PriceFilter requires max_price to be >= 0")
self._max_value = pairlistconfig.get("max_value", 0)
self._max_value = self._pairlistconfig.get("max_value", 0)
if self._max_value < 0:
raise OperationalException("PriceFilter requires max_value to be >= 0")
self._enabled = (

View File

@@ -44,7 +44,7 @@ class ProducerPairList(IPairList):
self._num_assets: int = self._pairlistconfig.get("number_assets", 0)
self._producer_name = self._pairlistconfig.get("producer_name", "default")
if not config.get("external_message_consumer", {}).get("enabled"):
if not self._config.get("external_message_consumer", {}).get("enabled"):
raise OperationalException(
"ProducerPairList requires external_message_consumer to be enabled."
)

View File

@@ -32,15 +32,15 @@ class ShuffleFilter(IPairList):
# 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.
if config.get("runmode") in (RunMode.LIVE, RunMode.DRY_RUN):
if self._config.get("runmode") in (RunMode.LIVE, RunMode.DRY_RUN):
self._seed = None
logger.info("Live mode detected, not applying seed.")
else:
self._seed = pairlistconfig.get("seed")
self._seed = self._pairlistconfig.get("seed")
logger.info(f"Backtesting mode detected, applying seed value: {self._seed}")
self._random = random.Random(self._seed) # noqa: S311
self._shuffle_freq: ShuffleValues = pairlistconfig.get("shuffle_frequency", "candle")
self._shuffle_freq: ShuffleValues = self._pairlistconfig.get("shuffle_frequency", "candle")
self.__pairlist_cache = PeriodicCache(
maxsize=1000, ttl=timeframe_to_seconds(self._config["timeframe"])
)

View File

@@ -25,7 +25,7 @@ class SpreadFilter(IPairList):
) -> None:
super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos)
self._max_spread_ratio = pairlistconfig.get("max_spread_ratio", 0.005)
self._max_spread_ratio = self._pairlistconfig.get("max_spread_ratio", 0.005)
self._enabled = self._max_spread_ratio != 0
if not self._exchange.get_option("tickers_have_bid_ask"):

View File

@@ -37,16 +37,16 @@ class VolatilityFilter(IPairList):
) -> None:
super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos)
self._days = pairlistconfig.get("lookback_days", 10)
self._min_volatility = pairlistconfig.get("min_volatility", 0)
self._max_volatility = pairlistconfig.get("max_volatility", sys.maxsize)
self._refresh_period = pairlistconfig.get("refresh_period", 1440)
self._days = self._pairlistconfig.get("lookback_days", 10)
self._min_volatility = self._pairlistconfig.get("min_volatility", 0)
self._max_volatility = self._pairlistconfig.get("max_volatility", sys.maxsize)
self._refresh_period = self._pairlistconfig.get("refresh_period", 1440)
self._def_candletype = self._config["candle_type_def"]
self._sort_direction: Optional[str] = pairlistconfig.get("sort_direction", None)
self._sort_direction: Optional[str] = self._pairlistconfig.get("sort_direction", None)
self._pair_cache: TTLCache = TTLCache(maxsize=1000, ttl=self._refresh_period)
candle_limit = exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"])
candle_limit = self._exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"])
if self._days < 1:
raise OperationalException("VolatilityFilter requires lookback_days to be >= 1")
if self._days > candle_limit:

View File

@@ -43,7 +43,7 @@ class VolumePairList(IPairList):
'for "pairlist.config.number_assets"'
)
self._stake_currency = config["stake_currency"]
self._stake_currency = self._config["stake_currency"]
self._number_pairs = self._pairlistconfig["number_assets"]
self._sort_key: Literal["quoteVolume"] = self._pairlistconfig.get("sort_key", "quoteVolume")
self._min_value = self._pairlistconfig.get("min_value", 0)
@@ -94,7 +94,7 @@ class VolumePairList(IPairList):
if not self._validate_keys(self._sort_key):
raise OperationalException(f"key {self._sort_key} not in {SORT_VALUES}")
candle_limit = exchange.ohlcv_candle_limit(
candle_limit = self._exchange.ohlcv_candle_limit(
self._lookback_timeframe, self._config["candle_type_def"]
)
if self._lookback_period < 0:

View File

@@ -31,16 +31,16 @@ class RangeStabilityFilter(IPairList):
) -> None:
super().__init__(exchange, pairlistmanager, config, pairlistconfig, pairlist_pos)
self._days = pairlistconfig.get("lookback_days", 10)
self._min_rate_of_change = pairlistconfig.get("min_rate_of_change", 0.01)
self._max_rate_of_change = pairlistconfig.get("max_rate_of_change")
self._refresh_period = pairlistconfig.get("refresh_period", 86400)
self._days = self._pairlistconfig.get("lookback_days", 10)
self._min_rate_of_change = self._pairlistconfig.get("min_rate_of_change", 0.01)
self._max_rate_of_change = self._pairlistconfig.get("max_rate_of_change")
self._refresh_period = self._pairlistconfig.get("refresh_period", 86400)
self._def_candletype = self._config["candle_type_def"]
self._sort_direction: Optional[str] = pairlistconfig.get("sort_direction", None)
self._sort_direction: Optional[str] = self._pairlistconfig.get("sort_direction", None)
self._pair_cache: TTLCache = TTLCache(maxsize=1000, ttl=self._refresh_period)
candle_limit = exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"])
candle_limit = self._exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"])
if self._days < 1:
raise OperationalException("RangeStabilityFilter requires lookback_days to be >= 1")
if self._days > candle_limit: