wiki/examples/js/poloniex-limits-amount-min.md
import ccxt from '../../js/ccxt.js';
import fs from 'fs';
import ololog from 'ololog'
const log = ololog.configure.unlimited.noLocate,
verbose = process.argv.includes ('--verbose'),
keysGlobal = 'keys.json',
keysLocal = 'keys.local.json',
keysFile = fs.existsSync (keysLocal) ? keysLocal : (fs.existsSync (keysGlobal) ? keysGlobal : false),
config = keysFile ? require ('../../' + keysFile) : {},
exchange = new ccxt.poloniex (ccxt.extend ({
enableRateLimit: true,
verbose,
}, config.poloniex || {}));(async () => {
const test = async function (symbol) {
try {
await exchange.createOrder (symbol, 'limit', 'buy', 0, 0)
} catch (e) {
if (e instanceof ccxt.InvalidOrder) {
const words = e.message.split (' ')
let minAmount = parseFloat (words[words.length - 1])
log.green ("'" + symbol + "': " + minAmount.toString () + ',')
} else {
throw e
}
}
}
await exchange.loadMarkets ()
for (let i = 0; i < exchange.symbols.length; i++) {
try {
await test (exchange.symbols[i])
} catch (e) {
if (e instanceof ccxt.InvalidNonce) {
log.yellow (e)
} else {
log.red (e)
throw e
}
}
await ccxt.sleep (5000) // sleep 5 seconds, no rush, safe delay
}
}) ()