From 04063bcb7b9e9d8e0242c1313f54ccc1b71f0b6e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 25 Jun 2026 22:46:56 +0800
Subject: [PATCH] fix(gateApi): 调整网格交易参数配置
---
src/main/java/com/xcong/excoin/modules/okxApi/IOkxStrategy.java | 78 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxApi/IOkxStrategy.java b/src/main/java/com/xcong/excoin/modules/okxApi/IOkxStrategy.java
new file mode 100644
index 0000000..48fa840
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/okxApi/IOkxStrategy.java
@@ -0,0 +1,78 @@
+package com.xcong.excoin.modules.okxApi;
+
+import java.math.BigDecimal;
+
+/**
+ * OKX 策略通用接口 — WS 频道处理器的回调契约。
+ *
+ * <p>定义所有 OKX 交易策略必须实现的核心回调方法,使得不同的策略实现
+ * 可以无缝接入相同的 WebSocket 基础设施。
+ *
+ * <h3>实现类</h3>
+ * <ul>
+ * <li>{@link OkxProfitRecycleStrategy} — 盈利回收循环策略</li>
+ * </ul>
+ *
+ * <h3>WS 回调映射</h3>
+ * <table>
+ * <tr><th>WS频道</th><th>回调方法</th><th>说明</th></tr>
+ * <tr><td>mark-price</td><td>onKline / setMarkPrice</td><td>价格驱动 + PnL计算</td></tr>
+ * <tr><td>positions</td><td>onPositionUpdate</td><td>仓位变更通知</td></tr>
+ * <tr><td>orders</td><td>onAutoOrder</td><td>条件单状态变更</td></tr>
+ * </table>
+ *
+ * @author Administrator
+ */
+public interface IOkxStrategy {
+
+ /**
+ * K线/价格数据回调(公开频道 mark-price 推送)。
+ *
+ * @param price 最新价格(标记价或最新价)
+ */
+ void onKline(BigDecimal price);
+
+ /**
+ * 标记价格设置(用于 PnL 计算)。
+ *
+ * @param markPrice 标记价格
+ */
+ void setMarkPrice(BigDecimal markPrice);
+
+ /**
+ * 仓位更新回调(私有频道 positions 推送)。
+ *
+ * @param contract 合约名称
+ * @param direction 交易方向(LONG / SHORT)
+ * @param size 持仓张数(绝对值)
+ * @param entryPrice 开仓均价
+ */
+ void onPositionUpdate(String contract, Direction direction,
+ BigDecimal size, BigDecimal entryPrice);
+
+ /**
+ * 自动订单状态变更回调(私有频道 orders 推送)。
+ *
+ * @param orderId 条件单算法 ID(algoId)
+ * @param status 订单状态(如 "finished")
+ * @param reason 状态原因(如 "filled")
+ * @param orderType 订单类型(如 "entry-long", "plan-close-long-position")
+ * @param tradeId 成交 ID
+ */
+ void onAutoOrder(String orderId, String status, String reason,
+ String orderType, String tradeId);
+
+ /**
+ * 策略是否处于活跃状态(非 STOPPED/WAITING_KLINE)。
+ *
+ * @return true 表示策略正在运行
+ */
+ boolean isStrategyActive();
+
+ /**
+ * 保存 WS 客户端引用(用于判断订阅状态)。
+ *
+ * @param wsClient OKX WebSocket 客户端
+ */
+ void setWsClient(OkxKlineWebSocketClient wsClient);
+}
--
Gitblit v1.9.1