取引のベース通貨のカウント精度 (小数点後の位数) 数値の種類を返します.
取引の価格の精度 (小数点後の数字) 数値の種類を返します.
取引の最小量 数値の種類を返します.
取引の最大回数 数値の種類を返します.
取引に対する取引金額の精度 (小数点後の位数) 数値の種類を返します.
最小の注文金額 (注文タイプが制限価格の注文の場合,下記のインターフェースが送信する金額 (*価格);注文タイプがbuy-marketの場合,下記のインターフェースが送信する
amountタブ) 数値の種類を返します.
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 }