mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-14 04:03:55 +00:00
Merge 0b7cb2a1a8
into 2fe67edab3
This commit is contained in:
commit
ccd4264d7a
|
@ -34,8 +34,11 @@ class MarketCapPairList(IPairList):
|
|||
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._refresh_period = self._pairlistconfig.get(
|
||||
"refresh_period", 86400)
|
||||
self._category = self._pairlistconfig.get("category", None)
|
||||
self._marketcap_cache: TTLCache = TTLCache(
|
||||
maxsize=1, ttl=self._refresh_period)
|
||||
self._def_candletype = self._config["candle_type_def"]
|
||||
|
||||
_coingecko_config = self._config.get("coingecko", {})
|
||||
|
@ -46,7 +49,8 @@ class MarketCapPairList(IPairList):
|
|||
)
|
||||
|
||||
if self._max_rank > 250:
|
||||
raise OperationalException("This filter only support marketcap rank up to 250.")
|
||||
raise OperationalException(
|
||||
"This filter only support marketcap rank up to 250.")
|
||||
|
||||
@property
|
||||
def needstickers(self) -> bool:
|
||||
|
@ -85,6 +89,12 @@ class MarketCapPairList(IPairList):
|
|||
"description": "Max rank of assets",
|
||||
"help": "Maximum rank of assets to use from the pairlist",
|
||||
},
|
||||
"category": {
|
||||
"type": "string",
|
||||
"default": None,
|
||||
"description": "The Category",
|
||||
"help": "Th Category of the coin e.g layer-1 default None",
|
||||
},
|
||||
"refresh_period": {
|
||||
"type": "number",
|
||||
"default": 86400,
|
||||
|
@ -133,6 +143,7 @@ class MarketCapPairList(IPairList):
|
|||
marketcap_list = self._marketcap_cache.get("marketcap")
|
||||
|
||||
if marketcap_list is None:
|
||||
|
||||
data = self._coingecko.get_coins_markets(
|
||||
vs_currency="usd",
|
||||
order="market_cap_desc",
|
||||
|
@ -140,6 +151,7 @@ class MarketCapPairList(IPairList):
|
|||
page="1",
|
||||
sparkline="false",
|
||||
locale="en",
|
||||
**({"category": self._category} if self._category else {})
|
||||
)
|
||||
if data:
|
||||
marketcap_list = [row["symbol"] for row in data]
|
||||
|
@ -153,11 +165,11 @@ class MarketCapPairList(IPairList):
|
|||
if market == "futures":
|
||||
pair_format += f":{self._stake_currency.upper()}"
|
||||
|
||||
top_marketcap = marketcap_list[: self._max_rank :]
|
||||
top_marketcap = marketcap_list[: self._max_rank:]
|
||||
|
||||
for mc_pair in top_marketcap:
|
||||
test_pair = f"{mc_pair.upper()}/{pair_format}"
|
||||
if test_pair in pairlist:
|
||||
if test_pair in pairlist and test_pair not in filtered_pairlist:
|
||||
filtered_pairlist.append(test_pair)
|
||||
if len(filtered_pairlist) == self._number_assets:
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue
Block a user