Пример #1
0
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
Пример #2
0
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
Пример #3
0
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)
Пример #4
0
    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()
]