From 1e792f025712da88d5f53e7ef22462301d6cf071 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 13 May 2026 17:22:06 +0800
Subject: [PATCH] refactor(okxNewPrice): 账户配置
---
src/main/java/com/xcong/excoin/modules/okxApi/OkxConfig.java | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxApi/OkxConfig.java b/src/main/java/com/xcong/excoin/modules/okxApi/OkxConfig.java
index b20732d..b9c4f7f 100644
--- a/src/main/java/com/xcong/excoin/modules/okxApi/OkxConfig.java
+++ b/src/main/java/com/xcong/excoin/modules/okxApi/OkxConfig.java
@@ -48,6 +48,7 @@
private final String contract;
private final String leverage;
private final String marginMode;
+ private final String posMode;
private final BigDecimal gridRate;
private final BigDecimal overallTp;
private final BigDecimal maxLoss;
@@ -57,6 +58,8 @@
private final BigDecimal marginRatioLimit;
private final BigDecimal contractMultiplier;
private final PnLPriceMode unrealizedPnlPriceMode;
+ private final BigDecimal maxPosSize;
+ private BigDecimal step;
private OkxConfig(Builder builder) {
this.apiKey = builder.apiKey;
@@ -65,6 +68,7 @@
this.contract = builder.contract;
this.leverage = builder.leverage;
this.marginMode = builder.marginMode;
+ this.posMode = builder.posMode;
this.gridRate = builder.gridRate;
this.overallTp = builder.overallTp;
this.maxLoss = builder.maxLoss;
@@ -74,6 +78,7 @@
this.marginRatioLimit = builder.marginRatioLimit;
this.contractMultiplier = builder.contractMultiplier;
this.unrealizedPnlPriceMode = builder.unrealizedPnlPriceMode;
+ this.maxPosSize = builder.maxPosSize;
}
// ==================== WS 地址 ====================
@@ -90,6 +95,14 @@
: "wss://wspap.okx.com:8443/ws/v5/private";
}
+ // ==================== REST 地址 ====================
+
+ public String getRestBaseUrl() {
+ return isProduction
+ ? "https://www.okx.com"
+ : "https://www.okx.cab";
+ }
+
// ==================== 认证信息 ====================
public String getApiKey() { return apiKey; }
@@ -104,6 +117,7 @@
// ==================== 持仓配置 ====================
public String getMarginMode() { return marginMode; }
+ public String getPosMode() { return posMode; }
// ==================== 策略参数 ====================
@@ -111,6 +125,7 @@
public BigDecimal getOverallTp() { return overallTp; }
public BigDecimal getMaxLoss() { return maxLoss; }
public String getQuantity() { return quantity; }
+ public BigDecimal getMaxPosSize() { return maxPosSize; }
public int getGridQueueSize() { return gridQueueSize; }
// ==================== 风险控制 ====================
@@ -121,6 +136,9 @@
public BigDecimal getContractMultiplier() { return contractMultiplier; }
public PnLPriceMode getUnrealizedPnlPriceMode() { return unrealizedPnlPriceMode; }
+
+ public BigDecimal getStep() { return step; }
+ public void setStep(BigDecimal step) { this.step = step; }
// ==================== 环境 ====================
@@ -137,6 +155,7 @@
private String contract = "BTC-USDT-SWAP";
private String leverage = "100";
private String marginMode = "cross";
+ private String posMode = "long_short_mode";
private BigDecimal gridRate = new BigDecimal("0.0035");
private BigDecimal overallTp = new BigDecimal("5");
private BigDecimal maxLoss = new BigDecimal("15");
@@ -146,6 +165,7 @@
private BigDecimal marginRatioLimit = new BigDecimal("0.2");
private BigDecimal contractMultiplier = new BigDecimal("1");
private PnLPriceMode unrealizedPnlPriceMode = PnLPriceMode.LAST_PRICE;
+ private BigDecimal maxPosSize = new BigDecimal("10");
public Builder apiKey(String apiKey) { this.apiKey = apiKey; return this; }
public Builder secretKey(String secretKey) { this.secretKey = secretKey; return this; }
@@ -153,6 +173,7 @@
public Builder contract(String contract) { this.contract = contract; return this; }
public Builder leverage(String leverage) { this.leverage = leverage; return this; }
public Builder marginMode(String marginMode) { this.marginMode = marginMode; return this; }
+ public Builder posMode(String posMode) { this.posMode = posMode; return this; }
public Builder gridRate(BigDecimal gridRate) { this.gridRate = gridRate; return this; }
public Builder overallTp(BigDecimal overallTp) { this.overallTp = overallTp; return this; }
public Builder maxLoss(BigDecimal maxLoss) { this.maxLoss = maxLoss; return this; }
@@ -160,6 +181,7 @@
public Builder isProduction(boolean isProduction) { this.isProduction = isProduction; return this; }
public Builder contractMultiplier(BigDecimal contractMultiplier) { this.contractMultiplier = contractMultiplier; return this; }
public Builder unrealizedPnlPriceMode(PnLPriceMode mode) { this.unrealizedPnlPriceMode = mode; return this; }
+ public Builder maxPosSize(BigDecimal maxPosSize) { this.maxPosSize = maxPosSize; return this; }
public OkxConfig build() {
return new OkxConfig(this);
--
Gitblit v1.9.1