Administrator
4 days ago 04a1828f4cca58545725aef8fb6eb6312d3d1e83
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,15 @@
    `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 '对向加仓挂单数量',
    `base_take_profit_per_grid`        VARCHAR(32) DEFAULT NULL COMMENT '单格止盈张数(基础仓位止盈,支持小数)',
    `base_take_profit_grid_count`      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 +77,41 @@
    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`;
-- ============================================================
-- 升级脚本:基础仓位止盈挂单参数(2026-09 新增)
-- ============================================================
ALTER TABLE `strategy_status`
    ADD COLUMN `base_take_profit_per_grid`   VARCHAR(32) DEFAULT NULL COMMENT '单格止盈张数(基础仓位止盈,支持小数)' AFTER `tp_trigger_opposite_add_quantity`,
    ADD COLUMN `base_take_profit_grid_count` INT(11) DEFAULT 0 COMMENT '止盈网格数量(基础仓位止盈)' AFTER `base_take_profit_per_grid`;