Back to Ccxt

Poloniex Limits Amount Min

wiki/examples/js/poloniex-limits-amount-min.md

4.5.601.5 KB
Original Source
javascript
// @NO_AUTO_TRANSPILE
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
    }
})();