text: # -*- coding: utf-8 -*-
  
  import ccxtpro
  from asyncio import gather, run
  
  
  async def symbol_loop(exchange, symbol):
      print('Starting the', exchange.id, 'symbol loop with', symbol)
      while True:
          try:
              orderbook = await exchange.watch_order_book(symbol)
              now = exchange.milliseconds()
              print(exchange.iso8601(now), exchange.id, symbol, orderbook['asks'][0], orderbook['bids'][0])
          except Exception as e:
              print(str(e))
              # raise e  # uncomment to break all loops in case of an error in any one of them
              break  # you can break just this one loop if it fails
  
  async def main():
      exchange = ccxtpro.kucoin({
          "apiKey": "YOUR_API_KEY",
          "secret": "YOUR_API_SECRET",
          "password": "YOUR_API_PASSWORD",
      })
      symbols = ['KDA/USDT', 'KDA/BTC', 'BTC/USDT']
      loops = [symbol_loop(exchange, symbol) for symbol in symbols]
      await gather(*loops)
      await exchange.close()
  
  
  run(main())
  