fixed filled safety orders wrongly displayed

This commit is contained in:
Nicolás Sánchez 2025-09-06 11:58:50 -03:00
parent 5983fa244e
commit d621c5bf4a
4 changed files with 16 additions and 6 deletions

View File

@ -669,6 +669,7 @@ public class InstanceInterface {
safetyOrderId = firstSafetyOrder.has("id") && firstSafetyOrder.get("id").isJsonPrimitive() ? firstSafetyOrder.get("id").getAsString() : "";
}
}
int safetyOrdersFilled = value.has("safety_orders_filled") && value.get("safety_orders_filled").isJsonPrimitive() ? value.get("safety_orders_filled").getAsInt() : 0;
double feesPaidInBase = value.has("fees_paid_in_base") && value.get("fees_paid_in_base").isJsonPrimitive() ? value.get("fees_paid_in_base").getAsDouble() : 0.0;
double feesPaidInQuote = value.has("fees_paid_in_quote") && value.get("fees_paid_in_quote").isJsonPrimitive() ? value.get("fees_paid_in_quote").getAsDouble() : 0.0;
double partialProfit = value.has("partial_profit") && value.get("partial_profit").isJsonPrimitive() ? value.get("partial_profit").getAsDouble() : 0.0;
@ -717,6 +718,7 @@ public class InstanceInterface {
takeProfitOrder,
safetyOrderId,
safetyOrders,
safetyOrdersFilled,
feesPaidInBase,
feesPaidInQuote,
partialProfit,
@ -848,6 +850,7 @@ public class InstanceInterface {
WorkerData workerData = new WorkerData(
workerStatsData.getPair(),
workerStatsData.getSoAmount(),
workerStatsData.getSafetyOrdersFilled(),
workerStatsData.getNumberOfSafetyOrders(),
workerStatsData.getDealUptime(),
workerStatsData.getNextSoPrice(),
@ -1058,7 +1061,6 @@ public class InstanceInterface {
private final double dealStartTime;
private final double dealUptime;
private final double totalUptime;
private final double price;
private final double takeProfitPrice;
private final double nextSoPrice;
@ -1066,6 +1068,7 @@ public class InstanceInterface {
private final JsonObject takeProfitOrder;
private final String soOrderId;
private final JsonArray safetyOrders;
private final int safetyOrdersFilled;
private final double feesPaidInBase;
private final double feesPaidInQuote;
private final double partialProfit;
@ -1075,7 +1078,7 @@ public class InstanceInterface {
private final OldLongDictionary oldLongDictionary; //Change type
private final String statusString;
public WorkerStatsData(String pair, boolean isShort, boolean isBoosted, boolean isPaused, boolean autoSwitchEnabled, boolean stopWhenProfit, double orderSize, double quoteSpent, double baseBought, int soAmount, int numberOfSafetyOrders, int tpMode, String profitTable, double startTime, double startPrice, double dealStartTime, double dealUptime, double totalUptime, double price, double takeProfitPrice, double nextSoPrice, String tpOrderId, JsonObject takeProfitOrder, String soOrderId, JsonArray safetyOrders, double feesPaidInBase, double feesPaidInQuote, double partialProfit, String safetyPriceTable, String dealOrderHistory, String pauseReason, OldLongDictionary oldLong, String statusString) {
public WorkerStatsData(String pair, boolean isShort, boolean isBoosted, boolean isPaused, boolean autoSwitchEnabled, boolean stopWhenProfit, double orderSize, double quoteSpent, double baseBought, int soAmount, int numberOfSafetyOrders, int tpMode, String profitTable, double startTime, double startPrice, double dealStartTime, double dealUptime, double totalUptime, double price, double takeProfitPrice, double nextSoPrice, String tpOrderId, JsonObject takeProfitOrder, String soOrderId, JsonArray safetyOrders, int safetyOrdersFilled, double feesPaidInBase, double feesPaidInQuote, double partialProfit, String safetyPriceTable, String dealOrderHistory, String pauseReason, OldLongDictionary oldLong, String statusString) {
this.pair = pair;
this.isShort = isShort;
this.isBoosted = isBoosted;
@ -1101,6 +1104,7 @@ public class InstanceInterface {
this.takeProfitOrder = takeProfitOrder;
this.soOrderId = soOrderId;
this.safetyOrders = safetyOrders;
this.safetyOrdersFilled = safetyOrdersFilled;
this.feesPaidInBase = feesPaidInBase;
this.feesPaidInQuote = feesPaidInQuote;
this.partialProfit = partialProfit;
@ -1135,6 +1139,7 @@ public class InstanceInterface {
public JsonObject getTakeProfitOrder() { return takeProfitOrder; }
public String getSoOrderId() { return soOrderId; }
public JsonArray getSafetyOrders() { return safetyOrders; }
public int getSafetyOrdersFilled() { return safetyOrdersFilled; }
public double getFeesPaidInBase() { return feesPaidInBase; }
public double getFeesPaidInQuote() { return feesPaidInQuote; }
public double getPartialProfit() { return partialProfit; }

View File

@ -105,6 +105,7 @@ public class WorkerInterface {
safetyOrderId = firstSafetyOrder.has("id") && firstSafetyOrder.get("id").isJsonPrimitive() ? firstSafetyOrder.get("id").getAsString() : "";
}
}
int safetyOrdersFilled = value.has("safety_orders_filled") && value.get("safety_orders_filled").isJsonPrimitive() ? value.get("safety_orders_filled").getAsInt() : 0;
String tpOrderId = takeProfitOrder.has("id") && takeProfitOrder.get("id").isJsonPrimitive() ? takeProfitOrder.get("id").getAsString() : null;
double feesPaidInBase = value.has("fees_paid_in_base") && value.get("fees_paid_in_base").isJsonPrimitive() ? value.get("fees_paid_in_base").getAsDouble() : 0.0;
double feesPaidInQuote = value.has("fees_paid_in_quote") && value.get("fees_paid_in_quote").isJsonPrimitive() ? value.get("fees_paid_in_quote").getAsDouble() : 0.0;
@ -154,6 +155,7 @@ public class WorkerInterface {
takeProfitOrder,
safetyOrderId,
safetyOrders,
safetyOrdersFilled,
feesPaidInBase,
feesPaidInQuote,
partialProfit,
@ -1224,6 +1226,8 @@ public class WorkerInterface {
"Take profit order ID: " + result.getTpOrderId() + "\n" +
"Safety order ID: " + result.getSoOrderId() + "\n" +
"Safety orders online: " + result.getSafetyOrders().size() + "\n" +
"Safety orders filled: " + result.getSafetyOrdersFilled() + "\n" +
"Max safety orders: " + result.getNumberOfSafetyOrders() + "\n" +
"Short: " + result.getIsShort() + "\n" +
"Boosted: " + result.getIsBoosted() + "\n" +
"Paused: " + result.getIsPaused() + "\n" + isPausedExtraString +
@ -1232,8 +1236,6 @@ public class WorkerInterface {
"Order size: " + result.getOrderSize() + "\n" +
"Quote in deal: " + result.getQuoteSpent() + "\n" +
"Base in deal: " + result.getBaseBought() + "\n" +
"Safety orders sent: " + (result.getSoAmount()-1) + "\n" +
"Max safety orders: " + result.getNumberOfSafetyOrders() + "\n" +
"Start time: " + HomeFragment.timeStampConverter(result.getStartTime(), false) + "\n" +
"Total uptime: " + WorkerCardAdapter.formatSeconds(result.getTotalUptime()) + "\n" +
"Start price: " + String.format(Locale.ROOT, numberFormat,result.getStartPrice()) + "\n" +

View File

@ -5,6 +5,7 @@ import com.example.dcav2gui.InstanceInterface;
public class WorkerData {
private final String pair;
private final int amountOfSafetyOrders;
private final int safetyOrdersFilled;
private final int maxSafetyOrders;
private final double uptime;
private final double nextSoPrice;
@ -19,13 +20,14 @@ public class WorkerData {
private final boolean stopWhenProfit;
private final InstanceInterface.OldLongDictionary oldLongDictionary;
public WorkerData(String pair, int amountOfSafetyOrders, int maxSafetyOrders, double uptime,
public WorkerData(String pair, int amountOfSafetyOrders, int safetyOrdersFilled, int maxSafetyOrders, double uptime,
double nextSoPrice, double price, double takeProfitPrice, double totalAmountOfQuote, double totalAmountOfBase, boolean isShort,
boolean isBoosted, boolean isAuto, boolean isPaused, boolean stopWhenProfit,
InstanceInterface.OldLongDictionary oldLongDictionary) {
this.pair = pair;
this.amountOfSafetyOrders = amountOfSafetyOrders;
this.safetyOrdersFilled = safetyOrdersFilled;
this.maxSafetyOrders = maxSafetyOrders;
this.uptime = uptime;
this.nextSoPrice = nextSoPrice;
@ -43,6 +45,7 @@ public class WorkerData {
public String getPair() { return pair; }
public int getAmountOfSafetyOrders() { return amountOfSafetyOrders; }
public int getSafetyOrdersFilled() { return safetyOrdersFilled; }
public int getMaxSafetyOrders() { return maxSafetyOrders; }
public double getUptime() { return uptime; }
public double getNextSoPrice() { return nextSoPrice; }

View File

@ -116,7 +116,7 @@ public class WorkerCardAdapter{
percentage.setTextColor(Color.parseColor("#CACACA"));
}
String safetyOrdersToDisplay = worker.getAmountOfSafetyOrders()-1 + "/" + worker.getMaxSafetyOrders();
String safetyOrdersToDisplay = worker.getSafetyOrdersFilled() + "/" + worker.getMaxSafetyOrders();
safetyOrders.setText(safetyOrdersToDisplay);
uptime.setText(formatSeconds(worker.getUptime()));