Độ chính xác tính toán giao dịch đối với đồng tiền cơ bản (dữ liệu sau dấu phẩy) Trả về kiểu số
Độ chính xác của giao dịch đối với giá cả (dữ liệu sau dấu phẩy) Trả về kiểu giá trị number
Giao dịch với số lượng nhỏ nhất Trả về kiểu giá trị number
Giao dịch với số lượng đặt hàng lớn nhất Trả về kiểu giá trị number
Độ chính xác của giao dịch đối với số tiền giao dịch (dữ liệu sau dấu phẩy) Trả về kiểu giá trị number
Số tiền đặt hàng tối thiểu (tạm dịch là số tiền đặt hàng mà giao diện giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch giao dịch) Trả về kiểu giá trị number
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 }