def exchangeObject(exchange_in): exchanges = [ccxt.acx(),ccxt.bitbay(),ccxt.bitfinex(),ccxt.bitflyer(),ccxt.bithumb(),ccxt.bitlish(),ccxt.bitmarket(),ccxt.bitmex(),ccxt.bitso(), ccxt.bitstamp(),ccxt.bitstamp1(),ccxt.bittrex(),ccxt.bl3p(),ccxt.bleutrade(),ccxt.btcbox(),ccxt.btcchina(),ccxt.btcexchange(),ccxt.btcmarkets(),ccxt.btctradeua(),ccxt.btcturk(), ccxt.btcx(),ccxt.bxinth(),ccxt.ccex(),ccxt.cex(),ccxt.chbtc(),ccxt.chilebit(),ccxt.coincheck(),ccxt.coinfloor(),ccxt.coingi(),ccxt.coinmarketcap(),ccxt.coinmate(), ccxt.coinsecure(),ccxt.coinspot(),ccxt.cryptopia(),ccxt.dsx(),ccxt.exmo(),ccxt.flowbtc(),ccxt.foxbit(),ccxt.fybse(),ccxt.fybsg(),ccxt.gatecoin(),ccxt.gateio(),ccxt.gdax(), ccxt.gemini(),ccxt.getbtc(),ccxt.hitbtc(),ccxt.huobi(),ccxt.huobicny(),ccxt.independentreserve(),ccxt.itbit(),ccxt.jubi(),ccxt.kraken(),ccxt.kucoin(), ccxt.kuna(),ccxt.lakebtc(),ccxt.liqui(),ccxt.livecoin(),ccxt.luno(),ccxt.mercado(),ccxt.mixcoins(),ccxt.nova(),ccxt.okcoincny(),ccxt.okcoinusd(),ccxt.okex(),ccxt.paymium(), ccxt.poloniex(),ccxt.qryptos(),ccxt.quadrigacx(),ccxt.southxchange(),ccxt.surbitcoin(),ccxt.therock(),ccxt.tidex(),ccxt.urdubit(),ccxt.vaultoro(),ccxt.vbtc(), ccxt.virwox(),ccxt.wex(),ccxt.xbtce(),ccxt.yobit(),ccxt.yunbi(),ccxt.zaif(),ccxt.zb()] for count, exchange in enumerate([str(x) for x in exchanges]): if exchange_in.lower() in exchange: return exchanges[count] break
def get_data_for_graph(price1="last", price2="last"): print('data for: ', price1, price2) wex = ccxt.wex() data_for_graph = {} data = wex.fetch_tickers() for key in data: data_for_graph.update({key: data[key][price1]}) ticker_list = list(data_for_graph.keys()) ticker_list2 = [] for key in ticker_list: ticker_list2.append( "{1}/{0}".format(*key.split('/'))) # обратные тикеры for key in range(0, len(ticker_list)): # обратные котировки data_for_graph.update( {ticker_list2[key]: 1 / (data[ticker_list[key]][price2])}) #print(pformat(data_for_graph)) return data_for_graph
def main(): exchange = [] exchange.append(ccxt.wex({'verbose': False})) exchange.append(ccxt.okcoinusd({'verbose': False})) if len(sys.argv) > 1: filter = str(sys.argv[1]).upper() else: filter = '' while True: for ex in exchange: try: ex.loadMarkets() except KeyboardInterrupt: return 1 except: err = sys.exc_info()[1] print(err.args[0]) continue print( '===> begin {:<12}'.format(ex.id), '<========================================================================================================' ) print( ' market spread % bid price bid vol ask price ask vol spread datetime' ) print( "---------------------------------------------------------------------------------------------------------------------------------" ) for market in ex.markets: if len(filter) != 0 and (ex.markets[market]['quote'] != filter and ex.markets[market]['base'] != filter): continue try: orderbook = ex.fetch_order_book(market) ticker = ex.fetch_ticker(market) quoteVolume = ticker['quoteVolume'] baseVolume = ticker['baseVolume'] if type(quoteVolume) != float: quoteVolume = 0 except KeyboardInterrupt: return 1 except: err = sys.exc_info()[1] print(err.args[0]) continue bid = max(orderbook['bids'], key=lambda item: item[0]) if bid[0] < 1: continue ask = min(orderbook['asks'], key=lambda item: item[0]) spread = (ask[0] - bid[0]) spread_percent = spread / ask[0] * 100 print('{:>10}'.format(market), '{0:>5.2f}%'.format(spread_percent), '\t', '{0:>10.2f}'.format(bid[0]), '\t', '{0:>12.2f}'.format(baseVolume), '\t', '{0:>10.2f}'.format(ask[0]), '\t', '{0:>12.2f}'.format(quoteVolume), '\t', '{0:>10.2f}'.format(spread), '\t', '{:<.16}'.format(orderbook['datetime'])) print( '===> end', '{:<12}'.format(ex.id), '<==========================================================================================================\n' ) print('***') sleep(30)
ccxt.liqui(), ccxt.livecoin(), ccxt.luno(), ccxt.lykke(), ccxt.mercado(), ccxt.mixcoins(), ccxt.negociecoins(), ccxt.nova(), ccxt.okcoincny(), ccxt.okcoinusd(), ccxt.okex(), ccxt.paymium(), ccxt.poloniex(), ccxt.qryptos(), ccxt.quadrigacx(), ccxt.quoinex(), ccxt.southxchange(), ccxt.surbitcoin(), ccxt.therock(), ccxt.tidex(), ccxt.urdubit(), ccxt.vaultoro(), ccxt.vbtc(), ccxt.virwox(), ccxt.wex(), ccxt.xbtce(), ccxt.yobit(), ccxt.yunbi(), ccxt.zaif(), ccxt.zb() ]