From 01830e44921b187b448d8cce9c9a46b9ad55af43 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 02 May 2025 19:48:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/bingx' into bingx
---
src/main/java/project/contract/internal/ContractOrderServiceImpl.java | 20 ++++++--------------
1 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
index 006f318..bb79b65 100644
--- a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
+++ b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
@@ -460,8 +460,8 @@
}
public Map<String, Object> bulidOne(ContractOrder order) {
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a", Locale.ENGLISH);
- simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
DecimalFormat df = new DecimalFormat("#.##");
Map<String, Object> map = new HashMap<String, Object>();
map.put("order_no", order.getOrder_no());
@@ -501,29 +501,21 @@
} else {
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;
-
- // 得到强平价格
+ double leve = Double.parseDouble(map.get("lever_rate").toString());
+ //得到强平价格
if(null != map.get("direction")){
double liquidationPrice;
if(map.get("direction").equals("sell")){
- liquidationPrice = currentPrice + (100 / quantity);
+ liquidationPrice = currentPrice * (1 + (1 / leve));
}else{
- liquidationPrice = currentPrice - (100 / quantity);
+ liquidationPrice = currentPrice * (1 - 1 / leve);
}
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