-- 分步止盈状态细分：添加新的exit_reason值支持
-- 执行时间：2026-01-27

-- 1. 更新exit_reason字段注释，说明新的状态值
ALTER TABLE `trades` MODIFY COLUMN `exit_reason` VARCHAR(50) 
  COMMENT '平仓原因: manual(手动), stop_loss(止损), take_profit(单次止盈), trailing_stop(移动止损), sync(同步), take_profit_partial_then_take_profit(第一目标止盈后第二目标止盈), take_profit_partial_then_stop(第一目标止盈后剩余仓位止损), take_profit_partial_then_trailing_stop(第一目标止盈后剩余仓位移动止损)';

-- 2. 验证字段长度是否足够（VARCHAR(50)应该足够）
SELECT 
    COLUMN_NAME,
    COLUMN_TYPE,
    COLUMN_COMMENT
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    TABLE_SCHEMA = DATABASE()
    AND TABLE_NAME = 'trades'
    AND COLUMN_NAME = 'exit_reason';

-- 3. 查看当前exit_reason的分布情况（用于验证）
SELECT 
    exit_reason,
    COUNT(*) as count,
    ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM trades WHERE status = 'closed'), 2) as percentage
FROM 
    trades
WHERE 
    status = 'closed'
GROUP BY 
    exit_reason
ORDER BY 
    count DESC;

-- 说明：
-- 新的状态值：
-- - take_profit_partial_then_take_profit: 第一目标止盈（50%仓位）后，剩余仓位第二目标止盈
-- - take_profit_partial_then_stop: 第一目标止盈（50%仓位）后，剩余仓位止损（保本）
-- - take_profit_partial_then_trailing_stop: 第一目标止盈（50%仓位）后，剩余仓位移动止损
--
-- 这些状态用于更准确地统计胜率和盈亏比：
-- - 第一目标止盈后剩余仓位止损，应该算作"部分成功"（第一目标已达成）
-- - 第一目标止盈后剩余仓位第二目标止盈，应该算作"完整成功"
