@@ -26,6 +26,7 @@ def __init__(self, exchange_config):
2626 self .exchanges = dict ()
2727 self .base_markets = dict ()
2828 self .top_pairs = None
29+ self .exclude = []
2930
3031 # Loads the exchanges using ccxt.
3132 for exchange in exchange_config :
@@ -45,6 +46,9 @@ def __init__(self, exchange_config):
4546
4647 if 'top_pairs' in exchange_config [exchange ]:
4748 self .top_pairs = exchange_config [exchange ]['top_pairs' ]
49+
50+ if 'exclude' in exchange_config [exchange ]:
51+ self .exclude = exchange_config [exchange ]['exclude' ]
4852 else :
4953 self .logger .error ("Unable to load exchange %s" , new_exchange )
5054
@@ -131,12 +135,16 @@ def get_top_markets(self, exchange, base_markets):
131135 tickers = self .exchanges [exchange ].fetch_tickers ()
132136
133137 for base_market in base_markets :
138+ if len (self .exclude ) > 0 :
139+ for pair_to_exclude in self .exclude :
140+ tickers .pop (pair_to_exclude + '/' + base_market , None )
141+
134142 values = [ (k , int (v ['quoteVolume' ])) for k ,v in tickers .items () if k .endswith (base_market ) ]
135143
136144 values = np .array (values , dtype = [('market' , 'U10' ), ('volume' , int )])
137145 values = np .sort (values , order = 'volume' )
138146
139- if ( len ( values ) > self .top_pairs ):
147+ if isinstance ( self . exclude , list ) and len ( self .exclude ) > 0 :
140148 limit = - self .top_pairs
141149 values = values [limit :]['market' ].tolist ()
142150 else :
@@ -193,6 +201,11 @@ def get_exchange_markets(self, exchanges=[], markets=[]):
193201 exchange_markets [exchange ] = { key : curr_markets [key ] for key in curr_markets
194202 if curr_markets [key ]['quote' ] in self .base_markets [exchange ] }
195203
204+ if isinstance (self .exclude , list ) and len (self .exclude ) > 0 :
205+ for base_market in self .base_markets [exchange ]:
206+ for pair_to_exclude in self .exclude :
207+ exchange_markets [exchange ].pop (pair_to_exclude + '/' + base_market , None )
208+
196209
197210 time .sleep (self .exchanges [exchange ].rateLimit / 1000 )
198211
0 commit comments