def get_exchange(exchange_name, quote_currency=None, must_authenticate=False, skip_init=False, auth_alias=None): key = (exchange_name, quote_currency) if key in exchange_cache: return exchange_cache[key] exchange_auth = get_exchange_auth(exchange_name, alias=auth_alias) has_auth = (exchange_auth['key'] != '' and exchange_auth['secret'] != '') if must_authenticate and not has_auth: raise ExchangeAuthEmpty(exchange=exchange_name.title(), filename=os.path.join( get_exchange_folder(exchange_name), 'auth.json')) exchange = CCXT( exchange_name=exchange_name, key=exchange_auth['key'], secret=exchange_auth['secret'], password=exchange_auth['password'] if 'password' in exchange_auth.keys() else '', quote_currency=quote_currency, ) exchange_cache[key] = exchange if not skip_init: exchange.init() return exchange
def get_exchange(exchange_name, base_currency=None, must_authenticate=False, skip_init=False): key = (exchange_name, base_currency) if key in exchange_cache: return exchange_cache[key] exchange_auth = get_exchange_auth(exchange_name) has_auth = (exchange_auth['key'] != '' and exchange_auth['secret'] != '') if must_authenticate and not has_auth: raise ExchangeAuthEmpty(exchange=exchange_name.title(), filename=os.path.join( get_exchange_folder(exchange_name), 'auth.json')) exchange = CCXT( exchange_name=exchange_name, key=exchange_auth['key'], secret=exchange_auth['secret'], base_currency=base_currency, ) exchange_cache[key] = exchange if not skip_init: exchange.init() return exchange
def get_exchange(exchange_name, base_currency=None, must_authenticate=False, skip_init=False, auth_alias=None): key = (exchange_name, base_currency) if key in exchange_cache: return exchange_cache[key] exchange_auth = get_exchange_auth(exchange_name, alias=auth_alias) has_auth = (exchange_auth['key'] != '' and exchange_auth['secret'] != '') if must_authenticate and not has_auth: raise ExchangeAuthEmpty( exchange=exchange_name.title(), filename=os.path.join( get_exchange_folder(exchange_name), 'auth.json' ) ) exchange = CCXT( exchange_name=exchange_name, key=exchange_auth['key'], secret=exchange_auth['secret'], base_currency=base_currency, ) exchange_cache[key] = exchange if not skip_init: exchange.init() return exchange
def setup(self): exchange_name = 'bittrex' auth = get_exchange_auth(exchange_name) self.exchange = CCXT( exchange_name=exchange_name, key=auth['key'], secret=auth['secret'], base_currency='usdt', ) self.exchange.init()
def find_exchanges(features=None, is_authenticated=False): ccxt_features = [] if features is not None: for feature in features: if not feature.endswith('Bundle'): ccxt_features.append(feature) exchange_names = [] for exchange_name in ccxt.exchanges: if is_authenticated: exchange_auth = get_exchange_auth(exchange_name) has_auth = (exchange_auth['key'] != '' and exchange_auth['secret'] != '') if not has_auth: continue log.debug('loading exchange: {}'.format(exchange_name)) exchange = getattr(ccxt, exchange_name)() if ccxt_features is None: has_feature = True else: try: has_feature = all( [exchange.has[feature] for feature in ccxt_features] ) except Exception: has_feature = False if has_feature: try: log.info('initializing {}'.format(exchange_name)) exchange_names.append(exchange_name) except Exception as e: log.warn( 'unable to initialize exchange {}: {}'.format( exchange_name, e ) ) return exchange_names