From d615fc515fc52d6ed970c11d59a017e48de4be32 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 16 Jun 2026 16:43:58 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/utils/TradeFeeUtil.java | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/nq/utils/TradeFeeUtil.java b/src/main/java/com/nq/utils/TradeFeeUtil.java
index 195ed57..c97e9de 100644
--- a/src/main/java/com/nq/utils/TradeFeeUtil.java
+++ b/src/main/java/com/nq/utils/TradeFeeUtil.java
@@ -5,16 +5,32 @@
public class TradeFeeUtil {
- public static final BigDecimal BUY_FEE_RATE = new BigDecimal("0.03");
+ /** 默认买入手续费率 0.0035 = 0.35% */
+ public static final BigDecimal BUY_FEE_RATE = new BigDecimal("0.0035");
private TradeFeeUtil() {
}
+ public static BigDecimal resolveBuyFeeRate(BigDecimal configured) {
+ if (configured == null || configured.compareTo(BigDecimal.ZERO) <= 0) {
+ return BUY_FEE_RATE;
+ }
+ return configured;
+ }
+
public static BigDecimal calcBuyFee(BigDecimal buyAmt) {
+ return calcBuyFee(buyAmt, BUY_FEE_RATE);
+ }
+
+ public static BigDecimal calcBuyFee(BigDecimal buyAmt, BigDecimal feeRate) {
if (buyAmt == null) {
return BigDecimal.ZERO;
}
- return buyAmt.multiply(BUY_FEE_RATE).setScale(2, RoundingMode.HALF_UP);
+ return buyAmt.multiply(resolveBuyFeeRate(feeRate)).setScale(2, RoundingMode.HALF_UP);
+ }
+
+ public static BigDecimal calcBuyFeeByNotional(BigDecimal notional, Integer lever, BigDecimal feeRate) {
+ return calcBuyFee(notional, feeRate);
}
public static BigDecimal calcBuyFeeByNotional(BigDecimal notional, Integer lever) {
--
Gitblit v1.9.3