CCXT
JavaScript Examples

Coinone Fetch Tickers

Coinone Fetch Tickers — CCXT JavaScript code example.



import { nice as ansi } from 'ansicolor';
import ololog from 'ololog';
import asTable from 'as-table';

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

const { noLocate } = ololog;
const log = noLocate;

const table = asTable.configure ({
        delimiter: ' | '.dim,
        right: true,
    });

const exchange = new ccxt.coinone ({
    'verbose': process.argv.includes ('--verbose'),
})

let printTickersAsTable = function (exchange, tickers) {
    log (exchange.id.green, exchange.iso8601 (exchange.milliseconds ()))
    log ('Fetched', Object.values (tickers).length.toString ().green, 'tickers:')
    log (table (ccxt.sortBy (Object.values (tickers), 'symbol', false)))
}

async function fetchAllAndPrint () {
    const tickers = await exchange.fetchTickers ()
    log ('---------------------------------------- fetchTickers ----------------------------------------')
    printTickersAsTable (exchange, tickers)
}

async function fetchOneByOneAndPrint () {
    const markets = await exchange.loadMarkets ()
    const symbols = Object.keys (markets)
    const tickers = []

    log ('---------------------------------------- fetchTicker (one by one) ----------------------------------------')

    for (let i = 0; i < symbols.length; i++) {
        const ticker = await exchange.fetchTicker (symbols[i])
        tickers.push (ticker)
        log (`${i+1} / ${symbols.length}`)
        log ('\u001b[1A'.repeat (2))  // cursor up
    }

    printTickersAsTable (exchange, tickers)
}

(async () => {
    await fetchAllAndPrint ()
    log ('\n')
    await fetchOneByOneAndPrint ()
}) ()