From 15539625872167915a06ab1c4eafd4fd513666d4 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 06 Aug 2026 15:59:55 +0800
Subject: [PATCH] chore(gateApi): 注释掉网格交易中的止盈逻辑代码
---
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java | 109 +++++++++++++++++++++++++++---------------------------
1 files changed, 55 insertions(+), 54 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
index bef35fb..e8df6af 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -676,7 +676,6 @@
log.info("[Gate] 空单成交 gridId:{}, 当前持仓:{}张", filledQty, posSize);
- accumulatedShortLossCount++;
checkShortStopLongProfit(accumulatedShortLossCount, shortGridElement.getId() + 2);
}
@@ -708,7 +707,6 @@
// placeExcessTakeProfit(posSize, true);
log.info("[Gate] 多单成交 gridId:{}, 当前持仓:{}张", filledQty, posSize);
- accumulatedLongLossCount++;
checkLongStopShortProfit(accumulatedLongLossCount, longGridElement.getId() -2);
}
@@ -1287,6 +1285,8 @@
}
lastLongStopLossGridId = gridId;
+
+ accumulatedLongLossCount++;
log.info("[Gate] 多仓止损触发 gridId:{}, 止损次数:{}{}, 开始追单",
gridId, accumulatedLongLossCount, sameGrid ? "(同网格)" : "");
int newEntryGridId = gridId + 1;
@@ -1379,7 +1379,7 @@
*/
private void checkLongStopShortProfit(int times, int gridId) {
int[] r = ruleOf(times);
- int maxPos = config.getMaxPositionSize();
+ int maxPos = Integer.parseInt(config.getBaseQuantity());
if (maxPos <= 0) {
return;
}
@@ -1402,31 +1402,31 @@
}
// ---------- 己方(多仓)盈止(≥6次) ----------
- if (times >= 6 && thresholdPct > 0) {
- int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_LONG), longPositionSize.intValue());
- int excess = selfPos - thresholdPosNum;
- if (excess > 0) {
- int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
- if (perOrderQty <= 0) {
- perOrderQty = 1;
- }
- int totalOrders = excess / perOrderQty;
- if (totalOrders <= 0) {
- totalOrders = 1;
- }
- int entryGridId = 0; // 多仓建仓格
- for (int i = 0; i < totalOrders; i++) {
- int tpGridId = entryGridId + 2 * (i + 1); // 朝盈利方向(向上)间隔2格
- GridElement tpElem = GridElement.findById(tpGridId);
- if (tpElem == null) {
- break;
- }
- placeTakeProfitAtGrid(tpElem, true, perOrderQty, times);
- }
- log.info("[Gate] 止损{}→己方多仓止盈, excess:{}, 挂{}单, 每单{}张",
- times, excess, totalOrders, perOrderQty);
- }
- }
+// if (times >= 6 && thresholdPct > 0) {
+// int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_LONG), longPositionSize.intValue());
+// int excess = selfPos - thresholdPosNum;
+// if (excess > 0) {
+// int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
+// if (perOrderQty <= 0) {
+// perOrderQty = 1;
+// }
+// int totalOrders = excess / perOrderQty;
+// if (totalOrders <= 0) {
+// totalOrders = 1;
+// }
+// int entryGridId = 0; // 多仓建仓格
+// for (int i = 0; i < totalOrders; i++) {
+// int tpGridId = entryGridId + 2 * (i + 1); // 朝盈利方向(向上)间隔2格
+// GridElement tpElem = GridElement.findById(tpGridId);
+// if (tpElem == null) {
+// break;
+// }
+// placeTakeProfitAtGrid(tpElem, true, perOrderQty, times);
+// }
+// log.info("[Gate] 止损{}→己方多仓止盈, excess:{}, 挂{}单, 每单{}张",
+// times, excess, totalOrders, perOrderQty);
+// }
+// }
}
@@ -1435,7 +1435,7 @@
*/
private void checkShortStopLongProfit(int times, int gridId) {
int[] r = ruleOf(times);
- int maxPos = config.getMaxPositionSize();
+ int maxPos = Integer.parseInt(config.getBaseQuantity());
if (maxPos <= 0) {
return;
}
@@ -1458,31 +1458,31 @@
}
// ---------- 己方(空仓)盈止(≥6次) ----------
- if (times >= 6 && thresholdPct > 0) {
- int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_SHORT), shortPositionSize.intValue());
- int excess = selfPos - thresholdPosNum;
- if (excess > 0) {
- int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
- if (perOrderQty <= 0) {
- perOrderQty = 1;
- }
- int totalOrders = excess / perOrderQty;
- if (totalOrders <= 0) {
- totalOrders = 1;
- }
- int entryGridId = 0; // 空仓建仓格
- for (int i = 0; i < totalOrders; i++) {
- int tpGridId = entryGridId - 2 * (i + 1); // 朝盈利方向(向下)间隔2格
- GridElement tpElem = GridElement.findById(tpGridId);
- if (tpElem == null) {
- break;
- }
- placeTakeProfitAtGrid(tpElem, false, perOrderQty, times);
- }
- log.info("[Gate] 止损{}→己方空仓止盈, excess:{}, 挂{}单, 每单{}张",
- times, excess, totalOrders, perOrderQty);
- }
- }
+// if (times >= 6 && thresholdPct > 0) {
+// int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_SHORT), shortPositionSize.intValue());
+// int excess = selfPos - thresholdPosNum;
+// if (excess > 0) {
+// int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
+// if (perOrderQty <= 0) {
+// perOrderQty = 1;
+// }
+// int totalOrders = excess / perOrderQty;
+// if (totalOrders <= 0) {
+// totalOrders = 1;
+// }
+// int entryGridId = 0; // 空仓建仓格
+// for (int i = 0; i < totalOrders; i++) {
+// int tpGridId = entryGridId - 2 * (i + 1); // 朝盈利方向(向下)间隔2格
+// GridElement tpElem = GridElement.findById(tpGridId);
+// if (tpElem == null) {
+// break;
+// }
+// placeTakeProfitAtGrid(tpElem, false, perOrderQty, times);
+// }
+// log.info("[Gate] 止损{}→己方空仓止盈, excess:{}, 挂{}单, 每单{}张",
+// times, excess, totalOrders, perOrderQty);
+// }
+// }
}
@@ -1496,6 +1496,7 @@
return;
}
lastShortStopLossGridId = gridId;
+ accumulatedShortLossCount++;
log.info("[Gate] 空仓止损触发 gridId:{}, 止损次数:{}{}, 开始追单",
gridId, accumulatedShortLossCount, sameGrid ? "(同网格)" : "");
int newEntryGridId = gridId - 1;
--
Gitblit v1.9.1