diff --git a/examples/js/live-ticker.js b/examples/js/live-ticker.js index bd8086ac3aac..5d9e5f0ad427 100644 --- a/examples/js/live-ticker.js +++ b/examples/js/live-ticker.js @@ -14,7 +14,7 @@ let printUsage = function () { printSupportedExchanges () } -let printTicker = async (id, symbol, depth) => { +let printTicker = async (id, symbol) => { // check if the exchange is supported by ccxt let exchangeFound = ccxt.exchanges.indexOf (id) > -1 diff --git a/examples/js/live-tickers.js b/examples/js/live-tickers.js new file mode 100644 index 000000000000..5a230aead6b9 --- /dev/null +++ b/examples/js/live-tickers.js @@ -0,0 +1,69 @@ +"use strict"; + +const asTable = require ('as-table') + , log = require ('ololog').noLocate + , ansi = require ('ansicolor').nice + , ccxt = require ('../../ccxt.js') + +let printSupportedExchanges = function () { + log ('Supported exchanges:', ccxt.exchanges.join (', ').green) +} + +let printUsage = function () { + log ('Usage: node', process.argv[1], 'exchange'.green) + printSupportedExchanges () +} + +let printTickers = async (id) => { + + // check if the exchange is supported by ccxt + let exchangeFound = ccxt.exchanges.indexOf (id) > -1 + if (exchangeFound) { + + log ('Instantiating', id.green, 'exchange') + + // instantiate the exchange by id + let exchange = new ccxt[id] ({ enableRateLimit: true }) + + // load all markets from the exchange + let markets = await exchange.loadMarkets () + + while (true) { + + const tickers = await exchange.fetchTickers () + + log ('--------------------------------------------------------') + log (exchange.id.green, exchange.iso8601 (exchange.milliseconds ())) + log ('Fetched', Object.values (tickers).length.toString ().green, 'tickers:') + log (asTable.configure ({ delimiter: ' | '.dim, right: true }) ( + ccxt.sortBy (Object.values (tickers), 'quoteVolume', true) + .slice (0,20) + .map (ticker => ({ + symbol: ticker['symbol'], + price: ticker['last'].toFixed (8), + datetime: ticker['datetime'], + })))) + } + + } else { + + log ('Exchange ' + id.red + ' not found') + printSupportedExchanges () + } +} + +(async function main () { + + if (process.argv.length > 2) { + + const id = process.argv[2] + await printTickers (id) + + } else { + + printUsage () + } + + process.exit () + +}) () \ No newline at end of file