智能交易决策模块:自动交易用户指南

概览

智能交易决策模块 是一个先进的交易管理系统,基于可配置规则自动关闭仓位,不依赖交易所级别的止损 (SL) 或止盈 (TP) 订单。相反,它持续监控交易,并根据以下因素做出智能退出决策:

  • K线形态反转(动能变化)
  • 基于时间的阈值规则(动态止损)
  • 止盈倍数规则(分级盈利锁定)
  • 全局安全限制(紧急退出)

配置结构

1. 主要设置 (IntelligentRuleOptions)


IntelligentRuleOptions:
  IsEnabled: true                      # 智能退出主开关
  UseOriginalTPAsBase: false           # 保留供未来使用
  EnableAdaptiveThresholds: false      # 保留供未来使用
  MinimumHoldTime: 1                   # 任何退出前的最短持有时间(分钟)(防止过早关闭)
  MaximumBuyHoldTime: 20              # 在N分钟后强制关闭多头仓位
  MaximumSellHoldTime: 10             # 在N分钟后强制关闭空头仓位

关键参数:

  • IsEnabled:设置为 false 以禁用所有智能规则,依赖交易所的SL/TP
  • MinimumHoldTime:防止市场噪音干扰 - 交易必须持续指定分钟数才能激活规则
  • MaximumBuyHoldTime/MaximumSellHoldTime:终极安全措施 - 不论盈亏,强制退出

2. 基于K线的退出规则(动能反转检测)


CandleExitRules:
  IsEnabled: false                     # 启用K线形态退出
  OppositesCandlesCount: 2             # 触发退出的连续相反K线数量
  ExitPercentage: 100                  # 关闭仓位的百分比(100 = 完全退出,50 = 部分退出)
  RuleName: "动能反转退出"
  RequireMinimumProfit: null           # 可选:仅当利润 >= 此百分比时退出(例如 2.0)

工作原理:

  • 多头交易:当出现 OppositesCandlesCount 根连续的 红色 K线时退出
  • 空头交易:当出现 OppositesCandlesCount 根连续的 绿色 K线时退出
  • 使用场景:在动能反转变成亏损之前快速捕捉

示例:


# 在3根连续红色K线后退出50%的仓位(针对多头)
CandleExitRules:
  IsEnabled: true
  OppositesCandlesCount: 3
  ExitPercentage: 50
  RequireMinimumProfit: 1.5  # 仅当已有1.5%+利润时触发

3. 阈值规则(基于时间的止损和利润保护)

阈值规则在特定时间间隔激活,并当利润/亏损超过阈值时关闭交易。

多头交易阈值


LongTrade:
  ThresholdRules:
    - Minutes: 30                      # 30分钟后
      ThresholdPer: -80.0              # 若亏损 >= 80% 关闭(止损)
      RuleName: "快速止损 - 多头"
      
    - Minutes: 360                     # 6小时后
      ThresholdPer: -60.0              # 若亏损 >= 60% 关闭(更严格的止损)
      RuleName: "扩展止损 - 多头"
      
    - Minutes: 720                     # 12小时后
      ThresholdPer: -50.0              # 若亏损 >= 50% 关闭(利润保护)
      RuleName: "利润保护 - 多头"

空头交易阈值


ShortTrade:
  ThresholdRules:
    - Minutes: 15
      ThresholdPer: -30.0              # 空头更严格的止损(波动性更高)
      RuleName: "快速止损 - 空头"
      
    - Minutes: 60
      ThresholdPer: -20.0
      RuleName: "严格止损 - 空头"
      
    - Minutes: 180
      ThresholdPer: -15.0
      RuleName: "利润保护 - 空头"

解释:

  • 负值 = 止损保护(当利润低于阈值时关闭)
  • 正值 = 锁定利润(当利润回落到阈值时关闭)
  • 规则是 累积的 - 在每个时间间隔检查所有适用规则

4. 止盈规则(分级盈利锁定)

止盈规则根据 原始止盈目标的倍数 在达到利润里程碑时卖出部分仓位。


LongTrade:
  TakeProfitRules:
    - TpMultiplier: 0.2                # 在原始TP的20%时(例如,10% TP → 在2%触发)
      SellPer: 100                     # 卖出100%的仓位
      RuleName: "10%目标 - 多头"
      IsEnabled: true
      UseMarketOrder: true

多级止盈示例:


# 假设原始止盈目标为10%
TakeProfitRules:
  - TpMultiplier: 0.5    # 在5%利润时触发 (0.5 × 10%)
    SellPer: 25          # 卖出25%的仓位
    IsEnabled: true
    
  - TpMultiplier: 1.0    # 在10%利润时触发 (1.0 × 10%)
    SellPer: 30          # 再卖出30%(现已卖出55%)
    IsEnabled: true
    
  - TpMultiplier: 2.0    # 在20%利润时触发
    SellPer: 25          # 再卖出25%(现已卖出80%)
    IsEnabled: true
    
  - TpMultiplier: 5.0    # 在50%利润时触发
    SellPer: 20          # 卖出剩余20%(完全关闭)
    IsEnabled: true

主要特性:

  • 累积跟踪:系统会记住已卖出的部分(tp_sold_cumulative
  • 防止重复:每个止盈级别仅执行一次
  • 剩余数量:始终基于剩余仓位卖出,而非原始仓位

5. 全局安全设置


IntelligentGlobalSettings:
  MinProfitToEnableTP: 0.0             # 止盈规则激活前的最小利润百分比
  MaxLossBeforeForceClose: -30.0       # 紧急情况:若亏损超过此值强制关闭

参数:

  • MinProfitToEnableTP:防止在波动市场中激活止盈规则
  • MaxLossBeforeForceClose:终极保护 - 覆盖所有其他规则

决策优先级流程

系统按以下 严格顺序 评估规则:

  1. 🚨 紧急停止 (MaxLossBeforeForceClose) - 最高优先级
  2. ⏳ 最小持有时间 - 防止过早退出
  3. 🕐 最大持有时间 - 在时间限制后强制退出
  4. 🕯️ K线退出规则 - 动能反转检测
  5. ⏱️ 阈值规则 - 基于时间的止损/利润保护
  6. 🎯 止盈规则 - 分级盈利锁定
  7. ➡️ 继续 - 若无条件满足则不采取行动

按交易风格优化的设置

⚡ 超短线交易(1-15分钟)


IntelligentRuleOptions:
  IsEnabled: true
  MinimumHoldTime: 1              # 非常短的持有时间
  MaximumBuyHoldTime: 15          # 15分钟后退出多头
  MaximumSellHoldTime: 10         # 10分钟后退出空头
  
  CandleExitRules:
    IsEnabled: true
    OppositesCandlesCount: 2      # 快速反转检测
    ExitPercentage: 100           # 反转时完全退出
    RequireMinimumProfit: 0.5     # 仅当利润0.5%+时退出

LongTrade:
  ThresholdRules:
    - Minutes: 5
      ThresholdPer: -15.0         # 严格止损
    - Minutes: 10
      ThresholdPer: -10.0
      
  TakeProfitRules:
    - TpMultiplier: 0.3           # 快速盈利(TP的30%)
      SellPer: 50
    - TpMultiplier: 0.6
      SellPer: 50

IntelligentGlobalSettings:
  MinProfitToEnableTP: 0.0
  MaxLossBeforeForceClose: -20.0  # 严格的紧急停止

📊 日内交易(15分钟 - 4小时)


IntelligentRuleOptions:
  IsEnabled: true
  MinimumHoldTime: 5
  MaximumBuyHoldTime: 240         # 最大4小时
  MaximumSellHoldTime: 180        # 最大3小时
  
  CandleExitRules:
    IsEnabled: true
    OppositesCandlesCount: 3
    ExitPercentage: 50            # 反转时部分退出
    RequireMinimumProfit: 1.0

LongTrade:
  ThresholdRules:
    - Minutes: 30
      ThresholdPer: -30.0
    - Minutes: 120
      ThresholdPer: -20.0
    - Minutes: 180
      ThresholdPer: -15.0
      
  TakeProfitRules:
    - TpMultiplier: 0.5
      SellPer: 30
    - TpMultiplier: 1.0
      SellPer: 40
    - TpMultiplier: 2.0
      SellPer: 30

IntelligentGlobalSettings:
  MinProfitToEnableTP: 0.5
  MaxLossBeforeForceClose: -35.0

📈 波段交易(4小时 - 3天)


IntelligentRuleOptions:
  IsEnabled: true
  MinimumHoldTime: 30
  MaximumBuyHoldTime: 4320        # 3天
  MaximumSellHoldTime: 2880       # 2天
  
  CandleExitRules:
    IsEnabled: true
    OppositesCandlesCount: 5      # 需要更多确认
    ExitPercentage: 40
    RequireMinimumProfit: 2.0

LongTrade:
  ThresholdRules:
    - Minutes: 240                # 4小时
      ThresholdPer: -50.0
    - Minutes: 1440               # 24小时
      ThresholdPer: -35.0
    - Minutes: 2880               # 48小时
      ThresholdPer: -25.0
      
  TakeProfitRules:
    - TpMultiplier: 0.5
      SellPer: 20
    - TpMultiplier: 1.0
      SellPer: 30
    - TpMultiplier: 2.0
      SellPer: 25
    - TpMultiplier: 3.0
      SellPer: 25

IntelligentGlobalSettings:
  MinProfitToEnableTP: 1.0
  MaxLossBeforeForceClose: -50.0

🏔️ 长期交易(3+天)


IntelligentRuleOptions:
  IsEnabled: true
  MinimumHoldTime: 120            # 最小2小时
  MaximumBuyHoldTime: null        # 无时间限制(或43200分钟即30天)
  MaximumSellHoldTime: null
  
  CandleExitRules:
    IsEnabled: false              # 禁用 - 专注于基本面
    
LongTrade:
  ThresholdRules:
    - Minutes: 1440               # 1天
      ThresholdPer: -60.0
    - Minutes: 10080              # 1周
      ThresholdPer: -40.0
    - Minutes: 43200              # 1个月
      ThresholdPer: -30.0
      
  TakeProfitRules:
    - TpMultiplier: 1.0
      SellPer: 20
    - TpMultiplier: 2.0
      SellPer: 20
    - TpMultiplier: 5.0
      SellPer: 30
    - TpMultiplier: 10.0
      SellPer: 30

IntelligentGlobalSettings:
  MinProfitToEnableTP: 5.0        # 仅在5%以上锁定利润
  MaxLossBeforeForceClose: -70.0

模拟模式支持

系统完全支持 模拟模式,其中交易为模拟操作:


General:
  demo_mode: true  # 启用模拟模式

模拟模式功能:

  • ✅ 计算理论盈亏,无需真实交易所订单
  • ✅ 跟踪部分卖出和累积利润
  • ✅ 记录所有决策,带 [DEMO] 前缀
  • ✅ 与实时模式完全一致地更新交易状态

最佳实践

  1. 从保守开始
    • 开始时使用更宽松的止损和更长的最小持有时间
    • 随着对市场行为的了解逐步收紧
  2. 首先在模拟模式下测试
    • 始终在模拟模式下验证新配置
    • 监控决策日志以发现意外行为
  3. 分层保护
    • 结合K线退出 + 阈值规则 + 止盈规则
    • 每一层捕获不同的失败模式
  4. 空头特定注意事项
    • 对空头使用 更严格的止损(波动性更高)
    • 空头使用 更短的持有时间(均值回归风险)
    • 较低的止盈倍数(避免在熊市中过于贪婪)
  5. 监控 MinProfitToEnableTP
    • 设置高于典型点差 + 费用,以避免导致亏损的止盈
    • 超短线交易设置较低,波段/长期交易设置较高
  6. 紧急停止距离
    • MaxLossBeforeForceClose 应为“最坏情况”下可接受的亏损
    • 典型值:-20%(超短线),-35%(日内),-50%(波段),-70%(长期)

常见模式

激进超短线交易


MinimumHoldTime: 1
MaximumBuyHoldTime: 10
CandleExitRules: { OppositesCandlesCount: 2, ExitPercentage: 100 }
ThresholdRules: [{ Minutes: 3, ThresholdPer: -10.0 }]

保守波段交易


MinimumHoldTime: 60
MaximumBuyHoldTime: 7200  # 5天
CandleExitRules: { IsEnabled: false }
ThresholdRules: [{ Minutes: 1440, ThresholdPer: -40.0 }]

动能超短线交易


CandleExitRules: { IsEnabled: true, OppositesCandlesCount: 2, ExitPercentage: 50 }
TakeProfitRules: [
  { TpMultiplier: 0.2, SellPer: 50 },
  { TpMultiplier: 0.4, SellPer: 50 }
]

故障排除

问题 解决方案
交易过早退出 增加 MinimumHoldTime,扩大阈值百分比
交易在亏损中持有过久 降低阈值百分比,启用K线退出
止盈未触发 检查 MinProfitToEnableTP,验证倍数计算
K线退出不生效 确保 IsEnabled: true,检查K线历史是否填充
模拟盈亏不正确 验证 direction 字段是否正确(多头/空头/任意)

监控与日志

系统记录所有决策:


✅ BTCUSDT决策:部分卖出(25%) - 止盈触发(多头):12.50% 利润 >= 10.00% 阈值,卖出25% - 早期盈利锁定
📊 执行部分止盈:卖出25%(总计:25%),盈亏:125.40
🏁 ETHUSDT交易完全关闭:状态=胜利,总盈亏=543.20

关键指标:

  • 🎯 决策类型(继续/全部关闭/部分卖出)
  • 📊 执行确认(实时模式)
  • 🤖 模拟交易的 [DEMO] 前缀
  • 🏁 最终关闭并附盈亏总结

总结

智能交易决策模块 提供 复杂的基于规则的交易管理,独立于交易所级别的SL/TP订单运行。通过结合动能分析(K线)、基于时间的保护(阈值)和分级盈利锁定(止盈倍数),它提供了灵活、适应性强的交易管理,适用于从超短线到长期持有的各种交易风格。

📎 Related Topics