由于各个交易所的不统一,FMZ并没有统一的下单精度返回函数。如果策略只做一个币种还好,如果要兼容多个交易对又兼容多个交易所,这里推荐使用获取深度,根据深度信息自动推算出下单精度。当然,如果要交易多个币种,还是推荐用HttpQuery访问原始API接口。 函数如下:
function GetPrecision(){
var precision = {price:0, amount:0}
var depth = exchange.GetDepth()
for(var i=0;i<exchange.GetDepth().Asks.length;i++){
var amountPrecision = exchange.GetDepth().Asks[i].Amount.toString().indexOf('.') > -1 ? exchange.GetDepth().Asks[i].Amount.toString().split('.')[1].length : 0
precision.amount = Math.max(precision.amount,amountPrecision)
var pricePrecision = exchange.GetDepth().Asks[i].Price.toString().indexOf('.') > -1 ? exchange.GetDepth().Asks[i].Price.toString().split('.')[1].length : 0
precision.price = Math.max(precision.price,pricePrecision)
}
return precision
}
arrow 这个放在init里边跑一次还是不错的
拥抱机遇展望未来 时间复杂度噌噌噌往上跑