Administrator
2026-09-22 8f3d68cfbd98254f92d5c83be9ee52764936377f
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,11 @@
    `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 '空头止损触发价',
    `current_round`  INT(11)      DEFAULT 0  COMMENT '当前轮次',
    `total_rounds`   INT(11)      DEFAULT 0  COMMENT '总轮数上限',
    `accumulated_long_loss`       INT(11)      DEFAULT 0  COMMENT '多头累计止损次数',
@@ -69,3 +73,27 @@
    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';