java二进制筛选器失败:价格\u筛选器
我正在使用binance java API,并试图发布限价销售
但我一直收到错误:
com.binance.api.client.exception.BinanceApiException: Filter failure: PRICE_FILTER
我在寻找导致这个问题的原因,发现不同的硬币需要不同的精度。但是,我怎样才能找到这个精度呢
例如,当我这样做的时候
client.getExchangeInfo().getSymbolInfo("symbolname").getQuotePrecision()
然后尝试将我的设定价格设定为购买价格的1.5,例如:
int precision = client.getExchangeInfo().getSymbolInfo(TOKEN).getQuotePrecision()
NewOrderResponse res=client.newOrder(marketBuy(TOKEN,amount).newOrderRespType(NewOrderResponseType.FULL));
String buyPrice = res.getFills().get(0).getPrice();
String sellPrice = calculateSellprice(buyPrice, 1.3,precision);
private String calculateSellprice(String buyPrice, double i,int precision) {
return String.format("%." + precision + "f" , Double.parseDouble(buyPrice) * i);
}
我仍然收到同样的错误。那么,确定价格的正确方法是什么
# 1 楼答案
要获取精度信息以及与不同筛选器错误(如PRICE_filter和PRICE_PERCENTAGE)相关的其他筛选器信息,您需要调用/api/v3/exchangeInfo端点https://binance-docs.github.io/apidocs/spot/en/#exchange-information。如果您看到其中的响应数据,您将发现精度以及一个过滤器属性,该属性具有您需要遵守的所有特定过滤器属性(基于您提供的过滤器对)