3
Suivre
1444
Abonnés

Résolvez le problème de précision de la commande en obtenant la profondeur

Créé le: 2020-03-20 09:10:52, Mis à jour le: 2020-03-20 09:11:16
comments   2
hits   1602

En raison de l’inhomogénéité des échanges, FMZ n’a pas de fonction de retour de précision de commande uniforme. Si la stratégie est de ne faire qu’une seule monnaie, il est préférable d’utiliser la profondeur d’acquisition, qui permet de calculer automatiquement la précision de commande en fonction de l’information de profondeur. La fonction est la suivante:

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
}