From a7bd76dfd00efc7b03999c4559cf8554e34c19cb Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 02 Aug 2024 16:56:34 +0800
Subject: [PATCH] 1
---
src/main/java/project/contract/job/ContractOrderCalculationServiceImpl.java | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/main/java/project/contract/job/ContractOrderCalculationServiceImpl.java b/src/main/java/project/contract/job/ContractOrderCalculationServiceImpl.java
index a423405..23f50cd 100644
--- a/src/main/java/project/contract/job/ContractOrderCalculationServiceImpl.java
+++ b/src/main/java/project/contract/job/ContractOrderCalculationServiceImpl.java
@@ -89,7 +89,12 @@
* @param currentPrice 当前点位
*/
public void settle(ContractOrder order, String profit_loss, double currentPrice) {
-
+// (保证金*杠杆)= 仓位总价
+// (仓位总价/开仓价格)= 数量
+// (当前价格-开仓价格)* 数量 = 盈亏
+// (盈亏/保证金)*100 = 盈亏率
+ logger.info("---------进入盈亏计算----------------");
+ logger.info("---------order_close_line_type----------------"+order_close_line_type);
double mul = Arith.mul(order.getDeposit_open(), order.getLever_rate());//仓位
double div = Arith.div(mul, order.getTrade_avg_price());//持有币的数量
double amount = Arith.mul(div, Arith.sub(currentPrice, order.getTrade_avg_price()));
@@ -210,15 +215,19 @@
}
} else {
+ logger.info("---------进入单个持仓----------------");
+ logger.info("---------order.getProfit()----------------"+order.getProfit());
+ logger.info("---------order.getDeposit()----------------"+order.getDeposit());
+ logger.info("---------order_close_line----------------"+order_close_line);
if (order.getProfit() < 0 && (Arith.div(order.getDeposit(), Math.abs(order.getProfit())) <= Arith
.div(order_close_line, 100))) {
+ logger.info("---------进入强平了----------------");
/**
* 低于系统默认平仓线,进行强平
*/
this.contractOrderService.saveClose(order.getPartyId().toString(), order.getOrder_no());
return;
}
-
}
}
--
Gitblit v1.9.3