Skip to content

Commit

Permalink
added examples/js/live-ticker.js
Browse files Browse the repository at this point in the history
  • Loading branch information
kroitor committed Dec 18, 2017
1 parent 24a3d07 commit 97da09f
Showing 1 changed file with 70 additions and 0 deletions.
70 changes: 70 additions & 0 deletions examples/js/live-ticker.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
"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, 'symbol'.yellow)
printSupportedExchanges ()
}

let printTicker = async (id, symbol, depth) => {

// 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 ()

if (symbol in exchange.markets) {

while (true) {

const ticker = await exchange.fetchTicker (symbol)

log ('--------------------------------------------------------')
log (exchange.id.green, symbol.yellow, exchange.iso8601 (exchange.milliseconds ()))
log (ccxt.omit (ticker, 'info'))
}

} else {

log.error ('Symbol', symbol.bright, 'not found')
}


} else {

log ('Exchange ' + id.red + ' not found')
printSupportedExchanges ()
}
}

(async function main () {

if (process.argv.length > 3) {

const id = process.argv[2]
const symbol = process.argv[3].toUpperCase ()
await printTicker (id, symbol)

} else {

printUsage ()
}

process.exit ()

}) ()

0 comments on commit 97da09f

Please sign in to comment.