C# Post请求未通过二进制
我发送了购买binance的订单,响应时出现错误:C# Post请求未通过二进制,c#,binance,C#,Binance,我发送了购买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.56738245
{"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);
起初,我用Math.Floor()
四舍五入,
然后通过
Math.Round()
实现。错误并没有消失。您需要对正在交易的交易对使用正确的价格和数量精度。例如,ETHUSD在价格上使用2位小数,在数量上使用5位小数。您可以使用这样的语法按照API所期望的方式格式化数字
"{:0.0{}f}".format(1.2345, 2)
您还可以使用API在
批量大小
过滤器下查找称为步长
的数量精度。如果该字段在数据库中定义为数字,则不应将结果转换为字符串,参数2:无法从“十进制”转换为“字符串”请参见以下内容: