From 7b73a544cec17c05b5931cf6c2b5cdf598e127b4 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 07 Aug 2024 18:36:09 +0800
Subject: [PATCH] 1
---
src/main/java/project/contract/internal/ContractOrderServiceImpl.java | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
index a7330c2..006f318 100644
--- a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
+++ b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
@@ -502,6 +502,28 @@
map.put("profit", df.format(Arith.sub(Arith.add(order.getAmount_close(), order.getDeposit()), order.getDeposit_open())));
}
+
+ double currentPrice = Double.parseDouble(map.get("trade_avg_price").toString());
+
+ // 计算仓位总价
+ double positionValue = Double.parseDouble(map.get("deposit_open").toString()) * Double.parseDouble(map.get("lever_rate").toString());
+
+ // 计算数量
+ double quantity = positionValue / currentPrice;
+
+ // 得到强平价格
+ if(null != map.get("direction")){
+ double liquidationPrice;
+ if(map.get("direction").equals("sell")){
+ liquidationPrice = currentPrice + (100 / quantity);
+ }else{
+ liquidationPrice = currentPrice - (100 / quantity);
+ }
+ DecimalFormat dfs = new DecimalFormat("#.#####");
+ String formattedPrice = dfs.format(liquidationPrice);
+ map.put("qiangPing",formattedPrice);
+ }
+
map.put("volume", order.getVolume());
map.put("volume_open", order.getVolume_open());
--
Gitblit v1.9.3