Back to Ccxt

Binance Reload Markets

wiki/examples/py/binance-reload-markets.md

4.5.571.3 KB
Original Source
python
import ccxt.pro
from asyncio import run, gather


print('CCXT Pro version', ccxt.pro.__version__)


async def watch_order_book(exchange, symbol):
   while True:
       try:
           orderbook = await exchange.watch_order_book(symbol)
           datetime = exchange.iso8601(exchange.milliseconds())
           print(datetime, orderbook['nonce'], symbol, orderbook['asks'][0], orderbook['bids'][0])
       except Exception as e:
           print(type(e).__name__, str(e))
           break


async def reload_markets(exchange, delay):
   while True:
       try:
           await exchange.sleep(delay)
           markets = await exchange.load_markets(True)
           datetime = exchange.iso8601(exchange.milliseconds())
           print(datetime, 'Markets reloaded')
       except Exception as e:
           print(type(e).__name__, str(e))
           break


async def main():
   exchange = ccxt.pro.binance()
   await exchange.load_markets()
   # exchange.verbose = True
   symbol = 'BTC/USDT'
   delay = 60000  # every minute = 60 seconds = 60000 milliseconds
   loops = [watch_order_book(exchange, symbol), reload_markets(exchange, delay)]
   await gather(*loops)
   await exchange.close()


run(main())