মুদ্রার নির্ভুলতা

লেখক:এক হাত ছেলে, তারিখ: ২০১৯-০৭-২৬ ১৫ঃ০৬ঃ২৩
ট্যাগঃসরঞ্জাম

  • $.getAmountPrecision ((মুদ্রা)

লেনদেনের বেস মুদ্রার জন্য গণনার নির্ভুলতা (অংশিকের পরে সংখ্যার সংখ্যা) সংখ্যা টাইপ প্রদান করে

  • $.getPricePrecision ((মুদ্রা)

লেনদেনের মূল্যের সঠিকতা (অংশের পরে সংখ্যা) সংখ্যা টাইপ প্রদান করে

  • $.getMinOrderAmount ((মুদ্রা)

লেনদেনের সর্বনিম্ন পরিমাণ সংখ্যা টাইপ প্রদান করে

  • $.getMaxOrderAmount ((মুদ্রা)

লেনদেনের সর্বোচ্চ পরিমাণ সংখ্যা টাইপ প্রদান করে

  • $.getValuePrecision ((মুদ্রা)

লেনদেনের পরিমাণের সাথে লেনদেনের নির্ভুলতা (অংশের পরে সংখ্যা) সংখ্যা টাইপ প্রদান করে

  • $.getMinValue ((মুদ্রা)

ন্যূনতম অর্ডার পরিমাণ (অর্ডারের ধরন সীমিত মূল্যের অর্ডার হলে, অর্ডার ইন্টারফেসের মাধ্যমে প্রেরিত পরিমাণ; অর্ডার ধরন ক্রয়-বাজার হলে, অর্ডার ইন্টারফেসের মাধ্যমে প্রেরিত পরিমাণ) সংখ্যা টাইপ প্রদান করে


var _symbols = _C(getSymbols)
var _cacheTicker = {}

function parseJson(str) {
    try {
        return JSON.parse(str)
    } catch(e) {
        Log(str + e.message + '#FF0000')
        return null
    }
}

function getSymbols() {
    var ret = parseJson(HttpQuery('https://api.huobi.pro/v1/common/symbols'))
    if (ret && ret.status === 'ok') {
        return ret.data
    } else {
        return null
    }
}

function getTicker(ex) {
    var currency = getCurreny(ex)
    if (_cacheTicker[currency] && Unix() - _cacheTicker[currency].UpdatedAt < TICKER_EXPIRE_TIME) {
        return _cacheTicker[currency]
    }
    var sym = currency.replace('_', '').toLocaleLowerCase()
    var ret = parseJson(HttpQuery('https://api.huobi.pro/market/detail/merged?symbol=' + sym))
    if (ret && ret.status === 'ok') {
        _cacheTicker[currency] = _.extend({ UpdatedAt: Unix() }, ret.tick)
        return ret.data
    } else {
        return null
    }
}

function getCurreny(ex) {
    var currency = null
    if (typeof(ex) === 'object') {
        return ex.GetCurrency()
    } else {
        return ex
    }
}

function getCoin(ex) {
    var currency = getCurreny(ex)
    var currencyAry = _.map(currency.split('_'), function(sym) { return sym.toLocaleLowerCase() })
    return _.find(_symbols, function(coin) {
        return currencyAry[0] === coin['base-currency'] && currencyAry[1] === coin['quote-currency']
    })
}

$.getSymbols = getSymbols

$.getAmountPrecision = function (ex) {
    var coin = getCoin(ex)
    if (coin) {
        return coin['amount-precision']
    }
    return 0
}

$.getPricePrecision = function(ex) {
    var coin = getCoin(ex)
    if (coin) {
        return coin['price-precision']
    }
    return 0
}

$.getMinOrderAmount = function(ex, price) {
    var coin = getCoin(ex)
    if (coin) {
        price = price || _C(getTicker, ex).close
        return +(new Decimal(coin['min-order-value']).mul(1.1).div(price).toFixed($.getAmountPrecision(ex), Decimal.ROUND_CEIL))
    }
    return 0
}

$.getMaxOrderAmount = function(ex) {
    var coin = getCoin(ex)
    if (coin) {
        return coin['max-order-amt']
    }
    return 0
}

$.getValuePrecision = function(ex) {
    var coin = getCoin(ex)
    if (coin) {
        return coin['value-precision']
    }
    return 0
}

$.getMinValue = function(ex) {
    var coin = getCoin(ex)
    if (coin) {
        return coin['min-order-value']
    }
    return 0
}


সম্পর্কিত

আরো