From 3aa332a21034411db8fbceaf87c654b0ec1bd221 Mon Sep 17 00:00:00 2001
From: dongzp_book <90fanhua@gmail.com>
Date: Wed, 8 Jul 2026 22:19:52 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 4 +-
.../com/sample/trend/StrategyApplication.java | 4 +-
.../trend/strategy/AutoGridStrategy.java | 47 +++++++++----------
3 files changed, 26 insertions(+), 29 deletions(-)
diff --git a/pom.xml b/pom.xml
index 6be101e..278c562 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,13 +16,13 @@
vip.uuquant
uuquant-java-runner
- 20260329.1811
+ 20260707.1453
vip.uuquant
uuquant-exchange-api
- 20260327.1656
+ 20260619.0130
diff --git a/src/main/java/com/sample/trend/StrategyApplication.java b/src/main/java/com/sample/trend/StrategyApplication.java
index 2101c0e..507f310 100644
--- a/src/main/java/com/sample/trend/StrategyApplication.java
+++ b/src/main/java/com/sample/trend/StrategyApplication.java
@@ -11,8 +11,8 @@ public class StrategyApplication {
// 调试模式
DebugConfig debugConfig = new DebugConfig();
debugConfig.setAgentHost("192.168.0.105");
- debugConfig.setRobotId(2038210296263434242L);
- debugConfig.setRobotApiKey("454d7146f092fdbbcfdef0ff554d9aa4");
+ debugConfig.setRobotId(2074501096701927426L);
+ debugConfig.setRobotApiKey("be7520970034b54cb7f2bccab0d546ca");
StrategyRunner strategyRunner = StrategyRunner.getInstance();
strategyRunner.setDebugConfig(debugConfig);
diff --git a/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java b/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java
index 4a2c827..bf7cb1f 100644
--- a/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java
+++ b/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java
@@ -10,19 +10,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import vip.uuquant.exhangeapi.core.WebSocketConnectionStatus;
import vip.uuquant.exhangeapi.core.WebSocketMessageHandler;
-import vip.uuquant.exhangeapi.enums.ExchangeType;
-import vip.uuquant.exhangeapi.enums.MarginType;
-import vip.uuquant.exhangeapi.enums.OrderSide;
-import vip.uuquant.exhangeapi.enums.OrderStatus;
-import vip.uuquant.exhangeapi.enums.PositionSide;
-import vip.uuquant.exhangeapi.enums.PositionStatus;
-import vip.uuquant.exhangeapi.enums.QtyUnitType;
+import vip.uuquant.exhangeapi.enums.*;
import vip.uuquant.exhangeapi.impl.bitget.BitGetClient;
import vip.uuquant.tradesystem.runner.enums.AlarmLevel;
import vip.uuquant.tradesystem.runner.enums.RobotChartType;
import vip.uuquant.tradesystem.runner.strategy.BaseStrategy;
import vip.uuquant.tradesystem.runner.vo.AccountVO;
-import vip.uuquant.tradesystem.runner.vo.RobotVO;
import vip.uuquant.tradesystem.runner.vo.SymbolVO;
import java.math.BigDecimal;
@@ -60,7 +53,9 @@ public class AutoGridStrategy extends BaseStrategy {
private BigDecimal lowerBound;
private boolean testMode;
private int leverage;
- /** 最大待成交买单数量 */
+ /**
+ * 最大待成交买单数量
+ */
private int gridCount;
// 精度
@@ -78,11 +73,17 @@ public class AutoGridStrategy extends BaseStrategy {
private volatile boolean upperBoundPaused;
private volatile boolean lowerBoundPaused;
- /** 待成交买单:key = 网格价格字符串 */
+ /**
+ * 待成交买单:key = 网格价格字符串
+ */
private final Map pendingBuyOrders = new ConcurrentHashMap<>();
- /** 已成交待止盈的多头仓位 */
+ /**
+ * 已成交待止盈的多头仓位
+ */
private final List openPositions = new CopyOnWriteArrayList<>();
- /** 正在平仓中的仓位,防止重复触发 */
+ /**
+ * 正在平仓中的仓位,防止重复触发
+ */
private final Map closingPositions = new ConcurrentHashMap<>();
private final Object tradeLock = new Object();
@@ -204,7 +205,7 @@ public class AutoGridStrategy extends BaseStrategy {
tryParams("base_quantity", "atr_multiplier", "kline_interval", "kline_period",
"grid_adjust_interval", "min_gap", "max_gap", "upper_bound", "lower_bound",
- "grid_count", "testMode");
+ "grid_count", "test_mode");
baseQuantity = getRunParams().getBigDecimal("base_quantity");
atrMultiplier = getRunParams().getBigDecimal("atr_multiplier");
@@ -215,7 +216,7 @@ public class AutoGridStrategy extends BaseStrategy {
maxGap = getRunParams().getBigDecimal("max_gap");
upperBound = getRunParams().getBigDecimal("upper_bound");
lowerBound = getRunParams().getBigDecimal("lower_bound");
- testMode = getRunParams().getBooleanValue("testMode");
+ testMode = getRunParams().getBooleanValue("test_mode");
leverage = getRunParams().getIntValue("leverage");
if (leverage <= 0) {
leverage = 10;
@@ -239,11 +240,7 @@ public class AutoGridStrategy extends BaseStrategy {
}
}
- RobotVO robotInfo = getRobotInfo();
- if (robotInfo != null) {
- robotId = robotInfo.getRobotId();
- }
-
+ robotId = getRobotConfig().getRobotId();
initBitGetClient();
initCharts();
@@ -303,11 +300,11 @@ public class AutoGridStrategy extends BaseStrategy {
AccountVO account = getAccount();
bitGetClient.init(account.getApiKey(), account.getSecretKey(), account.getPassphrase(),
null, CommonConstant.webSocketManager);
- try {
- bitGetClient.setLeverage(getSymbol(), leverage);
- } catch (Exception e) {
- logger.warn("设置杠杆失败:{}", e.getMessage());
- }
+// try {
+// bitGetClient.setLeverage(getSymbol(), leverage);
+// } catch (Exception e) {
+// logger.warn("设置杠杆失败:{}", e.getMessage());
+// }
try {
bitGetClient.createPublicWebsocket(webSocketMessageHandler);
bitGetClient.createPrivateWebsocket(webSocketMessageHandler);
@@ -844,7 +841,7 @@ public class AutoGridStrategy extends BaseStrategy {
// ======================== 工具方法 ========================
private JSONObject buildOrderRequest(String side, String tradeSide, String orderType,
- BigDecimal price, BigDecimal size, boolean reduceOnly) {
+ BigDecimal price, BigDecimal size, boolean reduceOnly) {
JSONObject orderInfo = new JSONObject();
orderInfo.put("symbol", getPlainSymbol());
orderInfo.put("marginMode", MARGIN_MODE);