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);