diff --git a/freqtrade/plugins/pairlist/pairlist_helpers.py b/freqtrade/plugins/pairlist/pairlist_helpers.py index 5967b1dfa..ca8fdc200 100644 --- a/freqtrade/plugins/pairlist/pairlist_helpers.py +++ b/freqtrade/plugins/pairlist/pairlist_helpers.py @@ -29,9 +29,8 @@ def expand_pairlist(wildcardpl: List[str], available_pairs: List[str], except re.error as err: raise ValueError(f"Wildcard error in {pair_wc}, {err}") - for element in result: - if not re.fullmatch(r'^[A-Za-z0-9:/-]+$', element): - result.remove(element) + result = [element for element in result if re.fullmatch(r'^[A-Za-z0-9:/-]+$', element)] + else: for pair_wc in wildcardpl: try: diff --git a/tests/plugins/test_pairlist.py b/tests/plugins/test_pairlist.py index a718a0e8d..f930bc066 100644 --- a/tests/plugins/test_pairlist.py +++ b/tests/plugins/test_pairlist.py @@ -1373,6 +1373,9 @@ def test_expand_pairlist(wildcardlist, pairs, expected): (['BTC/USDT:USDT'], ['BTC/USDT:USDT', 'BTC/USDT'], ['BTC/USDT:USDT']), + (['BB_BTC/USDT', 'CC_BTC/USDT', 'AA_ETH/USDT', 'XRP/USDT', 'ETH/USDT', 'XX_BTC/USDT'], + ['BTC/USDT', 'ETH/USDT'], + ['XRP/USDT', 'ETH/USDT']), ]) def test_expand_pairlist_keep_invalid(wildcardlist, pairs, expected): if expected is None: