优化
This commit is contained in:
parent
82c85dfade
commit
3aa332a210
4
pom.xml
4
pom.xml
@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>vip.uuquant</groupId>
|
||||
<artifactId>uuquant-java-runner</artifactId>
|
||||
<version>20260329.1811</version>
|
||||
<version>20260707.1453</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>vip.uuquant</groupId>
|
||||
<artifactId>uuquant-exchange-api</artifactId>
|
||||
<version>20260327.1656</version>
|
||||
<version>20260619.0130</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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<String, GridBuyOrder> pendingBuyOrders = new ConcurrentHashMap<>();
|
||||
/** 已成交待止盈的多头仓位 */
|
||||
/**
|
||||
* 已成交待止盈的多头仓位
|
||||
*/
|
||||
private final List<GridPosition> openPositions = new CopyOnWriteArrayList<>();
|
||||
/** 正在平仓中的仓位,防止重复触发 */
|
||||
/**
|
||||
* 正在平仓中的仓位,防止重复触发
|
||||
*/
|
||||
private final Map<String, Boolean> 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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user