Back to Ccxt

Fetch Ticker Where Available

wiki/examples/js/fetch-ticker-where-available.md

4.5.601.7 KB
Original Source
javascript
// @NO_AUTO_TRANSPILE
import ccxt from '../../js/ccxt.js';
import log from 'ololog';
import ansicolor from 'ansicolor';
ansicolor.nice;
let printUsage = function () {
    log('Usage: node', process.argv[1], 'symbol'.green);
};
(async function main() {
    if (process.argv.length > 2) {
        let symbol = process.argv[2].toUpperCase();
        for (let i = 0; i < ccxt.exchanges.length; i++) {
            let id = ccxt.exchanges[i];
            const exchange = new ccxt[id]();
            if (exchange.has.fetchTicker) {
                try {
                    await exchange.loadMarkets();
                    if (exchange.symbols.includes(symbol)) {
                        log(id.green);
                        const ticker = await exchange.fetchTicker(symbol);
                        log.dim(ticker);
                        if (ticker['baseVolume'] && ticker['quoteVolume']) {
                            if (ticker['bid'] > 1) {
                                if (ticker['baseVolume'] > ticker['quoteVolume'])
                                    log(id.bright, 'baseVolume > quoteVolume ← !'.bright);
                            }
                            else {
                                if (ticker['baseVolume'] < ticker['quoteVolume'])
                                    log(id.bright, 'baseVolume < quoteVolume ← !'.bright);
                            }
                        }
                    }
                    else {
                        log(id.yellow);
                    }
                }
                catch (e) {
                    log.error(id.red, e.toString().red);
                }
            }
        }
    }
    else {
        printUsage();
    }
    process.exit();
})();