Merge pull request #3040 from freqtrade/pairlist_message
reduce Pairlist message warning level
This commit is contained in:
commit
19a9782a40
@ -67,21 +67,37 @@ class IPairList(ABC):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def verify_blacklist(pairlist: List[str], blacklist: List[str]) -> List[str]:
|
def verify_blacklist(pairlist: List[str], blacklist: List[str],
|
||||||
|
aswarning: bool) -> List[str]:
|
||||||
"""
|
"""
|
||||||
Verify and remove items from pairlist - returning a filtered pairlist.
|
Verify and remove items from pairlist - returning a filtered pairlist.
|
||||||
|
Logs a warning or info depending on `aswarning`.
|
||||||
|
Pairlists explicitly using this method shall use `aswarning=False`!
|
||||||
|
:param pairlist: Pairlist to validate
|
||||||
|
:param blacklist: Blacklist to validate pairlist against
|
||||||
|
:param aswarning: Log message as Warning or info
|
||||||
|
:return: pairlist - blacklisted pairs
|
||||||
"""
|
"""
|
||||||
for pair in deepcopy(pairlist):
|
for pair in deepcopy(pairlist):
|
||||||
if pair in blacklist:
|
if pair in blacklist:
|
||||||
|
if aswarning:
|
||||||
logger.warning(f"Pair {pair} in your blacklist. Removing it from whitelist...")
|
logger.warning(f"Pair {pair} in your blacklist. Removing it from whitelist...")
|
||||||
|
else:
|
||||||
|
logger.info(f"Pair {pair} in your blacklist. Removing it from whitelist...")
|
||||||
pairlist.remove(pair)
|
pairlist.remove(pair)
|
||||||
return pairlist
|
return pairlist
|
||||||
|
|
||||||
def _verify_blacklist(self, pairlist: List[str]) -> List[str]:
|
def _verify_blacklist(self, pairlist: List[str], aswarning: bool = True) -> List[str]:
|
||||||
"""
|
"""
|
||||||
Proxy method to verify_blacklist for easy access for child classes.
|
Proxy method to verify_blacklist for easy access for child classes.
|
||||||
|
Logs a warning or info depending on `aswarning`.
|
||||||
|
Pairlists explicitly using this method shall use aswarning=False!
|
||||||
|
:param pairlist: Pairlist to validate
|
||||||
|
:param aswarning: Log message as Warning or info.
|
||||||
|
:return: pairlist - blacklisted pairs
|
||||||
"""
|
"""
|
||||||
return IPairList.verify_blacklist(pairlist, self._pairlistmanager.blacklist)
|
return IPairList.verify_blacklist(pairlist, self._pairlistmanager.blacklist,
|
||||||
|
aswarning=aswarning)
|
||||||
|
|
||||||
def _whitelist_for_active_markets(self, pairlist: List[str]) -> List[str]:
|
def _whitelist_for_active_markets(self, pairlist: List[str]) -> List[str]:
|
||||||
"""
|
"""
|
||||||
@ -113,6 +129,5 @@ class IPairList(ABC):
|
|||||||
if pair not in sanitized_whitelist:
|
if pair not in sanitized_whitelist:
|
||||||
sanitized_whitelist.append(pair)
|
sanitized_whitelist.append(pair)
|
||||||
|
|
||||||
sanitized_whitelist = self._verify_blacklist(sanitized_whitelist)
|
|
||||||
# We need to remove pairs that are unknown
|
# We need to remove pairs that are unknown
|
||||||
return sanitized_whitelist
|
return sanitized_whitelist
|
||||||
|
@ -106,7 +106,7 @@ class VolumePairList(IPairList):
|
|||||||
|
|
||||||
# Validate whitelist to only have active market pairs
|
# Validate whitelist to only have active market pairs
|
||||||
pairs = self._whitelist_for_active_markets([s['symbol'] for s in sorted_tickers])
|
pairs = self._whitelist_for_active_markets([s['symbol'] for s in sorted_tickers])
|
||||||
pairs = self._verify_blacklist(pairs)
|
pairs = self._verify_blacklist(pairs, aswarning=False)
|
||||||
# Limit to X number of pairs
|
# Limit to X number of pairs
|
||||||
pairs = pairs[:self._number_pairs]
|
pairs = pairs[:self._number_pairs]
|
||||||
logger.info(f"Searching {self._number_pairs} pairs: {pairs}")
|
logger.info(f"Searching {self._number_pairs} pairs: {pairs}")
|
||||||
|
@ -91,6 +91,6 @@ class PairListManager():
|
|||||||
pairlist = pl.filter_pairlist(pairlist, tickers)
|
pairlist = pl.filter_pairlist(pairlist, tickers)
|
||||||
|
|
||||||
# Validation against blacklist happens after the pairlists to ensure blacklist is respected.
|
# Validation against blacklist happens after the pairlists to ensure blacklist is respected.
|
||||||
pairlist = IPairList.verify_blacklist(pairlist, self.blacklist)
|
pairlist = IPairList.verify_blacklist(pairlist, self.blacklist, True)
|
||||||
|
|
||||||
self._whitelist = pairlist
|
self._whitelist = pairlist
|
||||||
|
@ -240,8 +240,6 @@ def test_pairlist_class(mocker, whitelist_conf, markets, pairlist):
|
|||||||
(['ETH/BTC', 'TKN/BTC', 'ETH/USDT'], "is not compatible with your stake currency"),
|
(['ETH/BTC', 'TKN/BTC', 'ETH/USDT'], "is not compatible with your stake currency"),
|
||||||
# BCH/BTC not available
|
# BCH/BTC not available
|
||||||
(['ETH/BTC', 'TKN/BTC', 'BCH/BTC'], "is not compatible with exchange"),
|
(['ETH/BTC', 'TKN/BTC', 'BCH/BTC'], "is not compatible with exchange"),
|
||||||
# BLK/BTC in blacklist
|
|
||||||
(['ETH/BTC', 'TKN/BTC', 'BLK/BTC'], "in your blacklist. Removing "),
|
|
||||||
# BTT/BTC is inactive
|
# BTT/BTC is inactive
|
||||||
(['ETH/BTC', 'TKN/BTC', 'BTT/BTC'], "Market is not active")
|
(['ETH/BTC', 'TKN/BTC', 'BTT/BTC'], "Market is not active")
|
||||||
])
|
])
|
||||||
|
Loading…
Reference in New Issue
Block a user