-- ============================================= -- K线模拟功能 — 数据库补丁 -- ============================================= -- 1. 新建 coin_kline 表(K线蜡烛数据) CREATE TABLE IF NOT EXISTS `coin_kline` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `coin_code` varchar(20) NOT NULL COMMENT '币种代码', `interval` varchar(5) NOT NULL COMMENT '周期: 15m/1h/4h/1d/1M', `open_time` bigint(20) NOT NULL COMMENT '开盘时间戳(ms)', `open_price` decimal(20,8) NOT NULL, `high_price` decimal(20,8) NOT NULL, `low_price` decimal(20,8) NOT NULL, `close_price` decimal(20,8) NOT NULL, `volume` decimal(20,4) DEFAULT 0 COMMENT '模拟成交量', `close_time` bigint(20) NOT NULL COMMENT '收盘时间戳(ms)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_coin_interval_open` (`coin_code`, `interval`, `open_time`), KEY `idx_coin_interval_close` (`coin_code`, `interval`, `close_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='K线蜡烛数据'; -- 2. coin 表新增K线配置字段 ALTER TABLE `coin` ADD COLUMN `trade_start_time` varchar(5) DEFAULT '09:00' COMMENT '交易开始时间 HH:mm', ADD COLUMN `trade_end_time` varchar(5) DEFAULT '23:00' COMMENT '交易结束时间 HH:mm', ADD COLUMN `max_change_percent` decimal(5,2) DEFAULT 5.00 COMMENT '每日最大涨跌幅(%)', ADD COLUMN `simulation_enabled` tinyint(1) DEFAULT 0 COMMENT '1=启用K线模拟';