A seguir, informações sobre encomendas pendentes que foram devolvidas. [{“Info”:{“symbol”:“ALICEUSDT”,“status”:“PARTIALLY_FILLED”,“clientOrderId”:“x-PtW46NoE_20FD0D3794C8F944”,“executedQty”:“1.3”,“cumQuote”:“10.4819”,“type”:“LIMIT”,“reduceOnly”:false,“orderId”:708818902,“price”:“8.063”,“avgPrice”:“8.0630”,“origQty”:“11.6”,“closePosition”:false,“time”:1626332174412,“side”:“SELL”,“workingType”:“CONTRACT_PRICE”,“priceProtect”:false,“updateTime”:1626332174485,“timeInForce”:“GTC”,“positionSide”:“SHORT”,“stopPrice”:“0”,“origType”:“LIMIT”},“Id”:“708818902”,“Price”:8.063,“Amount”:11.6,“DealAmount”:1.3,“AvgPrice”:8.063,“Status”:0,“Type”:1,“Offset”:0,“ContractType”:“swap”}]
O que se vê acima é o número de pendurados de 11,6, mas apenas 1,3 foram vendidos, e depois vendidos novamente os números que não foram vendidos. Mas se subtrairmos os dois dígitos srvOrder.Amount - srvOrder.DealAmount, obtemos 10.299999999999, em vez de 10.3. O erro de fluxo de precisão é o seguinte:
Sell(8.054, 10.299999999999): 400: {“code”:-1111,“msg”:“Precision is over the maximum defined for this asset.”}
A linguagem usada é JavaScript.