Back to Ccxt

Kucoin Rate Limit

wiki/examples/js/kucoin-rate-limit.md

4.5.521.2 KB
Original Source
javascript


import ccxt from '../../js/ccxt.js';

async function main () {

   const exchange = new ccxt.kucoin()
   const markets = await exchange.loadMarkets ()
   const timeframe = '5m'
   const symbol = 'BTC/USDT'
   const since = undefined
   const limit = 1000

   let i = 0
   while (true) {
       try {
           const ohlcvs = await exchange.fetchOHLCV(symbol, timeframe, since, limit)
           const now = exchange.milliseconds()
           const datetime = exchange.iso8601(now)
           console.log(datetime, i, 'fetched', ohlcvs.length, symbol, timeframe, 'candles',
               'from', exchange.iso8601(ohlcvs[0][0]),
               'to', exchange.iso8601(ohlcvs[ohlcvs.length-1][0]))
       } catch (e) {
           if (e instanceof ccxt.RateLimitExceeded) {
               const now = exchange.milliseconds()
               const datetime = exchange.iso8601(now)
               console.log(datetime, i, e.constructor.name, e.message)
               await exchange.sleep(10000)
           } else {
               console.log(e.constructor.name, e.message)
               throw e
           }
       }
       i += 1
   }
}

main ()