mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 08:18:07 +00:00
108 lines
3.9 KiB
JavaScript
108 lines
3.9 KiB
JavaScript
|
|
|
|
import ccxt from '../../js/ccxt.js';
|
|
import ololog from 'ololog';
|
|
import asTable from 'as-table';
|
|
|
|
|
|
const table = asTable.configure ({ delimiter: ' | ' }),
|
|
//-----------------------------------------------------------------------------
|
|
log = ololog.unlimited.noLocate.handleNodeErrors ();(async function main () {
|
|
|
|
const symbol = 'BTC/USDT'
|
|
|
|
const exchange = new ccxt.latoken ({
|
|
'verbose': process.argv.includes ('--verbose'),
|
|
// uncomment and change for your keys to enable private calls
|
|
// 'apiKey': 'YOUR_API_KEY',
|
|
// 'secret': 'YOUR_API_SECRET',
|
|
})
|
|
|
|
await exchange.loadMarkets ()
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
log (exchange.id, 'has', exchange.has)
|
|
|
|
// public API
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const markets = Object.values (exchange.markets)
|
|
log ('Loaded', markets.length, exchange.id, 'markets:')
|
|
log (table (markets.map (x => exchange.omit (x, [ 'info', 'limits', 'precision' ]))))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const currencies = Object.values (exchange.currencies)
|
|
log ('Loaded', currencies.length, exchange.id, 'currencies:')
|
|
log (table (currencies.map (x => exchange.omit (x, [ 'info', 'limits' ]))))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const time = await exchange.fetchTime ()
|
|
log ('Exchange time:', exchange.iso8601 (time))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const ticker = await exchange.fetchTicker (symbol)
|
|
log (ticker)
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const tickers = await exchange.fetchTickers ()
|
|
log (table (Object.values (tickers).map (x =>
|
|
exchange.omit (x, [ 'info', 'bid', 'ask', 'bidVolume', 'askVolume', 'timestamp' ]))))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const orderbook = await exchange.fetchOrderBook (symbol)
|
|
log (orderbook)
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const trades = await exchange.fetchTrades (symbol)
|
|
log (table (trades.map (x => exchange.omit (x, [ 'info', 'timestamp' ]))))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
// private API
|
|
|
|
if (exchange.checkRequiredCredentials (false)) {
|
|
|
|
const balance = await exchange.fetchBalance ()
|
|
log (exchange.omit (balance, [ 'info' ]))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const order = await exchange.createOrder (symbol, 'limit', 'buy', 0.001, 10000)
|
|
log (order)
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const openOrders = await exchange.fetchOpenOrders (symbol)
|
|
log (table (openOrders.map (x => exchange.omit (x, [ 'info', 'timestamp' ]))))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const canceled = await exchange.cancelOrder (order['id'], order['symbol'])
|
|
log (canceled)
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const closedOrders = await exchange.fetchClosedOrders (symbol)
|
|
log (table (closedOrders.map (x => exchange.omit (x, [ 'info', 'timestamp' ]))))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const canceledOrders = await exchange.fetchCanceledOrders (symbol)
|
|
log (table (canceledOrders.map (x => exchange.omit (x, [ 'info', 'timestamp' ]))))
|
|
|
|
log ('-------------------------------------------------------------------')
|
|
|
|
const myTrades = await exchange.fetchMyTrades (symbol)
|
|
log (table (myTrades.map (x => exchange.omit (x, [ 'info', 'timestamp' ]))))
|
|
|
|
}
|
|
|
|
}) () |