3
Seguir
1444
Seguidores

Resuelva el problema de precisión del pedido obteniendo la profundidad

Creado el: 2020-03-20 09:10:52, Actualizado el: 2020-03-20 09:11:16
comments   2
hits   1602

Debido a la falta de uniformidad de las diferentes plataformas, FMZ no tiene una función de devolución de precisión de orden uniforme. Si la estrategia es solo para una moneda, es mejor, si se desea compatibilidad con varios pares de transacciones y compatibilidad con varias plataformas, se recomienda el uso de la profundidad de captación, basado en la información de profundidad para calcular automáticamente la precisión de la orden. Por supuesto, si se desea operar con varias monedas, se recomienda usar HttpQuery para acceder a la interfaz de API original. La función es la siguiente:

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
}