Olá! Estou desenvolvendo uma aplicação para fins de estudo e tenho estudado o TestNet. Tenho conseguido obter todos dados e abrir ordens. No momento estou desenvolvendo a função GRID, e quando tento abrir as ordens limit, recebo o erro 1013: PriceFilter. Li a documentação e o preço esta dentro da margen de 20% de queda ou 5x o valor do preço. o valor do lote está ok.
Por exemplo, em um grid de 5 ordens no BNBUSDT, onde deveria abrir ordens em 520, 510, 500, 490 e 480 por exemplo, ele vai abrir a ordem de 520 e 510, a terceira ja retorna 1013.
Um trecho do código:
StrategyGridUser newGrid = filterGrid.get();
JsonObject gridJson = JsonParser.parseString(newGrid.getConfigStrategy()).getAsJsonObject();
Double quota = Double.parseDouble(gridJson.get("quota").toString().replace("\"", ""));
Double nGrids = Double.parseDouble(gridJson.get("nGrid").toString().replace("\"", ""));
Double percentGrid = Double.parseDouble(gridJson.get("percentGrid").toString().replace("\"", "")) / 100;
Double valueBase = Double.parseDouble(gridJson.get("valueBase").toString().replace("\"", ""));
Double targetOrder = (valueBase * percentGrid) + valueBase;
Integer grid = 1;
List<List<TransactionSpotGrid>> listOperations = new ArrayList<>();
for (int i = 0; i < nGrids; i++) {
// sb.append("Asset: " + acronym + " | Order: " + grid + " | Quota: " + quota + " | ValueBase: " + valueBase + " | Target Order: " + targetOrder + "\n");
List<TransactionSpotGrid> operations = tharseoAPIService.newOrderLimitGrid(user, asset, "BUY", quota.toString(), valueBase.toString(), targetOrder);
listOperations.add(operations);
grid++;
valueBase = valueBase - (valueBase * percentGrid);
targetOrder = (valueBase * percentGrid) + valueBase;
}
recebo de volta: {“code”:-1013,“msg”:“Filter failure: PRICE_FILTER”}
ja tentei aguardar mais de um minuto entre cada operação mas o resultado é sempre o mesmo, da certo as duas primeiras e a terceira em diante falha.