Back to Ccxt

Apex Watch

wiki/examples/ts/apex-watch.md

4.5.531.7 KB
Original Source
javascript
// AUTO-TRANSPILE //

'use strict';

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

console.log ('CCXT Version:', ccxt.version); // eslint-disable-line import/no-named-as-default-member

async function loop (exchange, symbol) {
   while (true) { // eslint-disable-line no-constant-condition
       try {
           const ticker = await exchange.watchTicker (symbol);
           console.log (new Date () + ' ' + exchange.id + ' ' + symbol);
           console.log (ticker);
           await exchange.sleep (1000);
       } catch (e) {
           console.log (e);
           // do nothing and retry on next loop iteration
           // throw e // uncomment to break all loops in case of an error in any one of them
           // break // you can also break just this one loop if it fails
       }
   }
}

async function main () {
   const exchange = new ccxt.pro.apex ({ // eslint-disable-line import/no-named-as-default-member
       'apiKey': 'your api Key',
       'secret': 'your api secret',
       'walletAddress': 'your eth address',
       'options': {
           'accountId': 'your account id',
           'passphrase': 'your api passphrase',
           'seeds': 'your zklink omni seed',
           'brokerId': '',
       },
   });
   exchange.setSandboxMode (true);
   if (exchange.has['watchTicker']) {
       await exchange.loadMarkets ();
       const targetSymbols = [ 'BTC-USDT', 'ETH-USDT' ];
       for (let i = 0; i < targetSymbols.length; i++) {
           const symbol = targetSymbols[i];
           await loop (exchange, symbol);
       }
   } else {
       console.log (exchange.id + ' does not support watchTicker yet');
   }
}

main ();