From 4097ef07c0b62e4b2120d5296d3d86b9bfbd487e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 23 Sep 2026 11:48:47 +0800
Subject: [PATCH] feat(stations): 添加止盈触发对向加仓功能

---
 src/main/resources/db/station-schema.sql |   39 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 38 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/db/station-schema.sql b/src/main/resources/db/station-schema.sql
index f6ae3fa..0347ff6 100644
--- a/src/main/resources/db/station-schema.sql
+++ b/src/main/resources/db/station-schema.sql
@@ -4,6 +4,7 @@
 CREATE TABLE IF NOT EXISTS `strategy_status` (
     `id`             BIGINT(20)   NOT NULL AUTO_INCREMENT COMMENT '主键',
     `api_key_md5`    VARCHAR(64)  NOT NULL COMMENT 'apiKey MD5',
+    `alias_name`     VARCHAR(64)  DEFAULT NULL COMMENT '实例别名(Station 端自定义显示名)',
     `contract`       VARCHAR(32)  DEFAULT NULL COMMENT '合约名称',
     `state`          VARCHAR(32)  DEFAULT NULL COMMENT '策略状态:ACTIVE / STOPPED / WAITING_KLINE',
     `leverage`       VARCHAR(16)  DEFAULT NULL COMMENT '杠杆倍数',
@@ -20,8 +21,13 @@
     `add_position_quantity`       INT(11)      DEFAULT 0  COMMENT '加仓数量',
     `max_position_per_side`       INT(11)      DEFAULT 0  COMMENT '单边最大仓位',
     `add_position_start_threshold` INT(11)     DEFAULT 0  COMMENT '加仓启动阈值',
-    `place_excess_take_profit`    TINYINT(1)   DEFAULT 0  COMMENT '超额止盈开关',
+    `place_excess_take_profit`    VARCHAR(16)  DEFAULT 'off' COMMENT '止盈挂单模式:off / concentrated / dispersed',
     `price_drive_enabled`        TINYINT(1)   DEFAULT 1  COMMENT '价格驱动开关',
+    `dual_stop_loss_enabled`     TINYINT(1)   DEFAULT 0  COMMENT '双开止损触发开关',
+    `long_stop_loss_price`       VARCHAR(32)  DEFAULT NULL COMMENT '多头止损触发价',
+    `short_stop_loss_price`      VARCHAR(32)  DEFAULT NULL COMMENT '空头止损触发价',
+    `tp_trigger_opposite_add_enabled`  TINYINT(1) DEFAULT 0 COMMENT '止盈成交触发对向加仓开关',
+    `tp_trigger_opposite_add_quantity` INT(11)   DEFAULT 0 COMMENT '对向加仓挂单数量',
     `current_round`  INT(11)      DEFAULT 0  COMMENT '当前轮次',
     `total_rounds`   INT(11)      DEFAULT 0  COMMENT '总轮数上限',
     `accumulated_long_loss`       INT(11)      DEFAULT 0  COMMENT '多头累计止损次数',
@@ -69,3 +75,34 @@
     ADD COLUMN `stop_loss_count`       INT(11)     DEFAULT 0    COMMENT '止损阶梯次数'          AFTER `base_quantity`,
     ADD COLUMN `take_profit_grid_span` INT(11)     DEFAULT 2    COMMENT '止盈网格跨度'          AFTER `base_quantity`,
     ADD COLUMN `price_drive_enabled`   TINYINT(1)  DEFAULT 1    COMMENT '价格驱动开关'          AFTER `place_excess_take_profit`;
+
+-- ============================================================
+-- 实例别名(Station 端自定义显示名,2026-08 新增)
+-- ============================================================
+ALTER TABLE `strategy_status`
+    ADD COLUMN `alias_name` VARCHAR(64) DEFAULT NULL COMMENT '实例别名(Station 端自定义显示名)' AFTER `api_key_md5`;
+
+-- ============================================================
+-- 升级脚本:双开止损触发价参数(2026-09 新增)
+-- ============================================================
+ALTER TABLE `strategy_status`
+    ADD COLUMN `dual_stop_loss_enabled` TINYINT(1)  DEFAULT 0    COMMENT '双开止损触发开关' AFTER `price_drive_enabled`,
+    ADD COLUMN `long_stop_loss_price`   VARCHAR(32) DEFAULT NULL COMMENT '多头止损触发价' AFTER `dual_stop_loss_enabled`,
+    ADD COLUMN `short_stop_loss_price`  VARCHAR(32) DEFAULT NULL COMMENT '空头止损触发价' AFTER `long_stop_loss_price`;
+
+-- ============================================================
+-- 升级脚本:止盈挂单模式从布尔开关升级为三态字符串(2026-09 新增)
+-- off=关闭 / concentrated=集中止盈 / dispersed=分散止盈
+-- ============================================================
+ALTER TABLE `strategy_status`
+    MODIFY COLUMN `place_excess_take_profit` VARCHAR(16) DEFAULT 'off' COMMENT '止盈挂单模式:off / concentrated / dispersed';
+-- 旧数据迁移:1(开启)→concentrated,0(关闭)→off
+UPDATE `strategy_status` SET `place_excess_take_profit` = 'concentrated' WHERE `place_excess_take_profit` = '1';
+UPDATE `strategy_status` SET `place_excess_take_profit` = 'off' WHERE `place_excess_take_profit` = '0';
+
+-- ============================================================
+-- 升级脚本:止盈成交触发对向加仓(2026-09 新增)
+-- ============================================================
+ALTER TABLE `strategy_status`
+    ADD COLUMN `tp_trigger_opposite_add_enabled`  TINYINT(1) DEFAULT 0 COMMENT '止盈成交触发对向加仓开关' AFTER `short_stop_loss_price`,
+    ADD COLUMN `tp_trigger_opposite_add_quantity` INT(11)   DEFAULT 0 COMMENT '对向加仓挂单数量' AFTER `tp_trigger_opposite_add_enabled`;

--
Gitblit v1.9.1