লেনদেনের বেস মুদ্রার জন্য গণনার নির্ভুলতা (অংশিকের পরে সংখ্যার সংখ্যা) সংখ্যা টাইপ প্রদান করে
লেনদেনের মূল্যের সঠিকতা (অংশের পরে সংখ্যা) সংখ্যা টাইপ প্রদান করে
লেনদেনের সর্বনিম্ন পরিমাণ সংখ্যা টাইপ প্রদান করে
লেনদেনের সর্বোচ্চ পরিমাণ সংখ্যা টাইপ প্রদান করে
লেনদেনের পরিমাণের সাথে লেনদেনের নির্ভুলতা (অংশের পরে সংখ্যা) সংখ্যা টাইপ প্রদান করে
ন্যূনতম অর্ডার পরিমাণ (অর্ডারের ধরন সীমিত মূল্যের অর্ডার হলে, অর্ডার ইন্টারফেসের মাধ্যমে প্রেরিত পরিমাণ; অর্ডার ধরন ক্রয়-বাজার হলে, অর্ডার ইন্টারফেসের মাধ্যমে প্রেরিত পরিমাণ) সংখ্যা টাইপ প্রদান করে
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 }