我发送订单购买binance,响应中出现错误:
{"code":-1111,"msg":"Precision is over the maximum defined for this asset."}
以下是数量的计算方法:
string quanyty = Convert.ToString(Math.Round(Balance()/PriceCTSIBTC(),8));//balance/Price = 10.5673824567
请求如下:
var request = new RestRequest("/api/v3/order", Method.POST);
request.AddHeader("X-MBX-APIKEY", apikey);
request.AddQueryParameter("symbol", "CTSIBTC");
request.AddQueryParameter("side", "BUY");
request.AddQueryParameter("type", "STOP_LOSS_LIMIT");
request.AddQueryParameter("timeInForce", "GTC");
request.AddQueryParameter("quantity", quanyty);
request.AddQueryParameter("price", price);
request.AddQueryParameter("timestamp", timestamp);
request.AddQueryParameter("signature", CreateSignature(request.Parameters, secret));
request.AddQueryParameter("stopPrice", stopPrice);
var response = client.Get(request);
一开始我用CCD_ 1取整,然后通过CCD_ 2实现。这个错误并没有消失。
您需要对交易对的价格和数量使用正确的精度。例如,ETHUSD在价格上使用2位小数,在数量上使用5位小数。你可以使用这样的语法来按照API期望的方式格式化你的数字
"{:0.0{}f}".format(1.2345, 2)
您还可以使用API查找数量精度,该精度在LOT_SIZE
过滤器下称为stepSize
。