长期反转信号 - 完整用户指南

概述

长期反转信号(Long-Term Reversal Signal)通过分析较长时间段(天/周)的K线形态来检测趋势反转。它识别:

  • LONGTERM_SMART_LONG_SIGNAL:熊市趋势(80% 红K线)+ 价格向下移动 + 看涨反转 → 进入多头(LONG)
  • LONGTERM_SMART_SHORT_SIGNAL:牛市趋势(80% 绿K线)+ 价格向上移动 + 看跌反转 → 进入空头(SHORT)

设置说明

步骤 1:启用长期交易配置文件

文件: tradesettings.yaml

General:
  Profile: "long"  # 必须为 "long" 才能启用长期反转信号

选项: scalp | day | swing | long | hft

关键: 只有 long 配置文件支持长期反转信号。


步骤 2:配置K线数据间隔

文件: tradesettings.yaml

Kline:
  summaryInterval: "1d"  # 用于信号分析的日K线

支持的间隔:

  • 推荐: 1d(1天)- 最适合长期分析
  • 备选: 12h(12小时)- 信号更频繁,但稳定性较低

重要: summaryInterval 必须与策略间隔(步骤3)匹配,否则会出现 "kline data not found" 错误。


步骤 3:为 Long 配置文件设置策略间隔

文件: tradesettings.yaml

strategyIntervals:
  hft:     ["1m"]              # 高频交易
  scalp:   ["15m"]             # 短线:3m, 5m, 15m
  day:     ["15m", "30m"]      # 日内交易
  swing:   ["1h", "2h"]        # 波段交易
  long:    ["1d"]              # 长期:1d, 12h(推荐:1d)
  default: ["5m"]

长期交易:

  • 使用 ["1d"] 进行日线分析(最稳定)
  • 可使用 ["12h"] 进行更频繁检查
  • 可组合: ["1d", "12h"] 用于多时间框架分析

必须匹配: 确保此间隔存在于您的K线数据配置中。


步骤 4:启用并配置长期反转分析

文件: tradesettings.yaml → 决策设置

decision_settings:
  # 长期反转分析
  enabled_long_term_reversal: true
  candle_lookback_count: 12
  required_color_percent: 0.7
  required_movement_percent: 0.4
  last_n_candles_check: 2
  min_confidence_threshold: 70.0

配置参数说明:

参数 描述 推荐 范围
enabled_long_term_reversal 信号主开关 true true/false
candle_lookback_count 分析的近期K线数量 12(12天) 10-20
required_color_percent 必须同色的K线百分比 0.7(70%) 0.6-0.8
required_movement_percent 所需最小价格变动 0.4(40%) 0.3-0.6
last_n_candles_check 显示反转的近期K线 2 1-3
min_confidence_threshold 触发所需最小置信度 70.0(70%) 60-80

微调指南:

保守型(信号少但质量高):

candle_lookback_count: 15
required_color_percent: 0.8      # 80% 同色
required_movement_percent: 0.5   # 50% 价格变动
last_n_candles_check: 2
min_confidence_threshold: 75.0

激进型(信号多,质量较低):

candle_lookback_count: 10
required_color_percent: 0.6      # 60% 同色
required_movement_percent: 0.3   # 30% 价格变动
last_n_candles_check: 1
min_confidence_threshold: 65.0

平衡型(推荐起点):

candle_lookback_count: 12
required_color_percent: 0.7      # 70% 同色
required_movement_percent: 0.4   # 40% 价格变动
last_n_candles_check: 2
min_confidence_threshold: 70.0

步骤 5:将长期信号添加到支持的操作

文件: tradesettings.yaml → 决策设置

decision_settings:
  # 触发交易信号的波动性操作
  supported_volatility_action:
    - "BUY"
    - "SELL"
    - "PUMP"
    - "CRASH"
    - "LONGTERM_SMART_SHORT_SIGNAL"  # 新增
    - "LONGTERM_SMART_LONG_SIGNAL"   # 新增

关键: 如果不添加这两个信号,系统将跳过长期反转订单!


步骤 6:重置交易对配置

必需操作:symbols.json 中移除所有交易对,以强制与新信号设置重新同步。

为何必要:

系统会缓存交易对特定的波动性设置。旧交易对不会在其配置中包含新的 LONGTERM_SMART_* 信号。

重置方法:

选项 1:删除 symbols.json

rm symbols.json
# 重启机器人 - 它将重新同步所有交易对

选项 2:手动编辑(如果同步已禁用)

编辑 symbols.json 并为每个交易对添加信号:

{
  "BTCUSDT": {
    "volatility_settings": {
      "supported_volatility_action": [
        "BUY",
        "SELL",
        "PUMP",
        "CRASH",
        "LONGTERM_SMART_SHORT_SIGNAL",
        "LONGTERM_SMART_LONG_SIGNAL"
      ]
    }
  }
}

选项 3:清空并重新同步

# 1. 备份当前交易对
cp symbols.json symbols.json.backup

# 2. 清空文件
echo "[]" > symbols.json

# 3. 以启用同步的方式重启机器人

信号逻辑说明

LONGTERM_SMART_LONG_SIGNAL(看涨反转)

条件:

  1. 70%+ 红K线 在回溯期内(熊市趋势)
  2. 40%+ 价格向下移动(首根K线开盘 → 末根K线收盘)
  3. 最后2根K线为绿(看涨反转开始)
  4. 置信度 ≥ 70%

示例:

第1-10天: ████████░░ (80% 红) - 强劲熊市趋势
价格:$100 → $60(下跌40%)✓
第11-12天: ░░(绿K线)- 检测到反转!
→ 多头信号在 $65 触发

LONGTERM_SMART_SHORT_SIGNAL(看跌反转)

条件:

  1. 70%+ 绿K线 在回溯期内(牛市趋势)
  2. 40%+ 价格向上移动(首根K线开盘 → 末根K线收盘)
  3. 最后2根K线为红(看跌反转开始)
  4. 置信度 ≥ 70%

示例:

第1-10天: ░░░░░░░░██ (80% 绿) - 强劲牛市趋势
价格:$50 → $80(上涨60%)✓
第11-12天: ██(红K线)- 检测到反转!
→ 空头信号在 $75 触发

理解日志输出

有效信号示例:

LONGTERM_SMART_LONG_SIGNAL: 熊市趋势=9/12 (75.0%) | 
向下移动 ✓ | 最后2根K线:看涨反转 ✓ | 
十字星:1 | 置信度:77.5% | 趋势强度:2.34%

解读:

  • 9/12 红K线 = 75% 熊市(满足70%阈值)
  • 向下移动 = 价格下跌40%+(已验证)
  • 最后2根看涨 = 反转确认(2根绿K线)
  • 1 十字星 = 1根犹豫K线(允许)
  • 77.5% 置信度 = 高质量信号
  • 2.34% 趋势强度 = 平均K线实体大小

无效信号示例:

LONGTERM_SMART_LONG_SIGNAL: 熊市=7/12 (58.3%) | 
移动有效:false | 最后2根反转有效:false | 
十字星:2 | 置信度:0.0%

失败原因:

  • 仅58.3% 红K线(需70%)
  • 移动验证失败(价格未下跌40%)
  • 最后2根K线非看涨
  • 结果:信号被拒绝

按交易风格的配置示例

超保守型(加密鲸鱼)

信号少,准确率极高

decision_settings:
  enabled_long_term_reversal: true
  candle_lookback_count: 20        # 分析20天
  required_color_percent: 0.85     # 85% 同色
  required_movement_percent: 0.6   # 60% 价格变动
  last_n_candles_check: 3          # 3根反转K线
  min_confidence_threshold: 80.0   # 80% 置信度

温和型(推荐给大多数用户)

平衡方法

decision_settings:
  enabled_long_term_reversal: true
  candle_lookback_count: 12        # 12天
  required_color_percent: 0.7      # 70% 同色
  required_movement_percent: 0.4   # 40% 变动
  last_n_candles_check: 2          # 2根反转K线
  min_confidence_threshold: 70.0   # 70% 置信度

激进型(活跃交易者)

信号多,接受较低质量

decision_settings:
  enabled_long_term_reversal: true
  candle_lookback_count: 8         # 仅8天
  required_color_percent: 0.65     # 65% 同色
  required_movement_percent: 0.3   # 30% 变动
  last_n_candles_check: 1          # 1根反转K线
  min_confidence_threshold: 65.0   # 65% 置信度

故障排除

问题:"SKIPPING ORDER: Volatility direction not in supported options"

原因: 交易对特定配置覆盖全局设置。

解决方案:symbols.json 的交易对特定配置中添加信号:

{
  "BTCUSDT": {
    "volatility_settings": {
      "supported_volatility_action": [
        "LONGTERM_SMART_SHORT_SIGNAL",
        "LONGTERM_SMART_LONG_SIGNAL"
      ]
    }
  }
}

问题:"Insufficient candles for long-term analysis"

原因: 加载的历史数据不足。

解决方案:

  1. 减少 candle_lookback_count(例如,从15降至10)
  2. 等待更多数据积累
  3. 检查K线数据是否正确获取

问题:"kline data not found"

原因: summaryIntervalstrategyIntervals 不匹配。

解决方案: 确保匹配:

Kline:
  summaryInterval: "1d"

strategyIntervals:
  long: ["1d"]  # 必须匹配!

问题:未生成信号

检查清单:

  • Profile: "long" 已设置
  • enabled_long_term_reversal: true
  • 信号已添加到 supported_volatility_action
  • symbols.json 已重置/更新
  • 可用K线足够(≥ candle_lookback_count
  • 阈值不过于严格(尝试降低数值)

最佳实践

1. 从保守开始

从高阈值开始,逐步放宽:

required_color_percent: 0.8      # 从80%开始
required_movement_percent: 0.5   # 从50%开始
min_confidence_threshold: 75.0   # 从75%开始

2. 监控信号质量

跟踪信号1-2周:

  • 信号太少?→ 降低阈值
  • 假信号太多?→ 提高阈值
  • 平衡良好?→ 保持当前设置

3. 与其他指标结合

不要仅依赖反转信号。与以下结合使用:

  • 成交量分析
  • RSI/MACD 确认
  • 支撑/阻力位
  • 市场情绪

4. 根据市场条件调整

牛市:

# 偏好多头信号
required_color_percent: 0.65  # 更容易触发多头
last_n_candles_check: 1       # 更快检测反转

熊市:

# 偏好空头信号或提高质量
required_color_percent: 0.75  # 更严格要求
last_n_candles_check: 2       # 更好地确认反转

5. 回测您的设置

上线前:

  1. 启用模拟交易模式
  2. 用您的设置运行2-4周
  3. 分析胜率和盈利能力
  4. 相应调整

完整配置模板

# tradesettings.yaml - 完整的长期反转设置

General:
  Profile: "long"

Kline:
  summaryInterval: "1d"

strategyIntervals:
  long: ["1d"]
  default: ["5m"]

decision_settings:
  # 长期反转分析
  enabled_long_term_reversal: true
  candle_lookback_count: 12
  required_color_percent: 0.7
  required_movement_percent: 0.4
  last_n_candles_check: 2
  min_confidence_threshold: 70.0
  
  # 支持的信号
  supported_volatility_action:
    - "BUY"
    - "SELL"
    - "PUMP"
    - "CRASH"
    - "LONGTERM_SMART_SHORT_SIGNAL"
    - "LONGTERM_SMART_LONG_SIGNAL"

最终检查清单

启动机器人前:

  • [ ] 设置 Profile: "long"
  • [ ] 设置 summaryInterval: "1d"
  • [ ] 设置 strategyIntervals.long: ["1d"]
  • [ ] 启用 enabled_long_term_reversal: true
  • [ ] 配置阈值参数
  • [ ] 将两个信号添加到 supported_volatility_action
  • [ ] 删除/重置 symbols.json
  • [ ] 重启机器人
  • [ ] 验证日志显示信号检测
  • [ ] 仔细监控前几个信号

预期结果

正确配置后:

信号频率:

  • 保守:每周1-3个信号
  • 温和:每周3-7个信号
  • 激进:每周7-15个信号

典型置信度水平:

  • 70-75%:最低可行信号
  • 75-85%:良好质量信号
  • 85-95%:优秀信号
  • 95%+:罕见,极强信号

成功率(回测):

  • 保守设置:约65-75% 胜率
  • 温和设置:约55-65% 胜率
  • 激进设置:约45-55% 胜率

注:实际结果因市场条件、交易对选择和退出策略而异。


风险管理配置

选项 A:物理止损/止盈(简单直接)

适用于固定百分比退出。最适合希望风险/回报比可预测的保守交易者。

#################################################
# 5. 智能止损/止盈设置
#################################################
SLTPSettings:
  StopLossPercent: 5.0          # -5% 亏损时退出
  TakeProfitPercent: 15.0       # +15% 盈利时退出
  
  # 高级功能(可选)
  EnableTrailingSl: true          # 价格有利移动时锁定利润
  TrailingSlOffsetPercent: 2.0    # 止损保持在峰值下方2%
  
  EnableBreakeven: true           # 盈利后将止损移至盈亏平衡
  BreakevenActivationPercent: 3.0 # 盈利+3%时激活
  BreakevenBufferPercent: 0.5     # 止损设为+0.5%(略高于入场价)
  
  EnableTrailingTp: false         # 追踪止盈(高级)
  TrailingTpTriggerPercent: 10.0  # +10%时开始追踪
  TrailingTpOffsetPercent: 2.0    # 止盈保持在当前价格上方2%
  
  EnableDynamicTrailingScaling: false  # 根据盈利水平缩放追踪偏移
  TrailingScalingMap:             # 盈利增加时收紧追踪
    "5.0": 2.0    # +5%盈利:2%偏移
    "10.0": 1.5   # +10%盈利:1.5%偏移
    "15.0": 1.0   # +15%盈利:1%偏移
    "20.0": 0.5   # +20%盈利:0.5%偏移

长期交易推荐配置:

保守(资本保全):

SLTPSettings:
  StopLossPercent: 8.0           # 更宽止损应对日线波动
  TakeProfitPercent: 20.0        # 2.5:1 回报风险比
  EnableTrailingSl: true
  TrailingSlOffsetPercent: 3.0   # 3% 追踪止损
  EnableBreakeven: true
  BreakevenActivationPercent: 5.0
  BreakevenBufferPercent: 1.0

温和(平衡):

SLTPSettings:
  StopLossPercent: 6.0           # -6% 止损
  TakeProfitPercent: 15.0        # +15% 止盈(2.5:1)
  EnableTrailingSl: true
  TrailingSlOffsetPercent: 2.5
  EnableBreakeven: true
  BreakevenActivationPercent: 4.0
  BreakevenBufferPercent: 0.5

激进(更高风险/回报):

SLTPSettings:
  StopLossPercent: 4.0           # 更紧止损
  TakeProfitPercent: 12.0        # 3:1 比率
  EnableTrailingSl: true
  TrailingSlOffsetPercent: 2.0
  EnableBreakeven: true
  BreakevenActivationPercent: 3.0
  BreakevenBufferPercent: 0.3

选项 B:智能动态退出规则(高级与自适应)

适用于基于时间和K线形态的退出。最适合希望智能、情境感知决策的交易者。

#################################################
# 7. 智能规则选项(动态退出)
#################################################
IntelligentRuleOptions:
  IsEnabled: true                    # 启用智能退出规则
  UseOriginalTPAsBase: false         # 不使用固定止盈作为基准
  EnableAdaptiveThresholds: true     # 根据市场条件调整阈值
  MinimumHoldTime: 2                 # 至少持有2根K线(1d间隔为2天)
  MaximumBuyHoldTime: 30             # 多头最多强制退出30天
  MaximumSellHoldTime: 20            # 空头最多强制退出20天
  
  # K线形态反转退出
  CandleExitRules:
    IsEnabled: true                  # 检测到反转形态时退出
    OppositesCandlesCount: 3         # 3根相反颜色K线后退出
    ExitPercentage: 100              # 关闭100%仓位
    RuleName: "趋势反转退出"
    RequireMinimumProfit: 2.0        # 至少+2%盈利才退出
  
  # 多头交易规则(看涨反转仓位)
  LongTrade:
    ThresholdRules:
      # 基于时间的止损(逐步放宽)
      - Minutes: 1440                # 1天后(1440分钟)
        ThresholdPer: -6.0           # -6%亏损时退出
        RuleName: "第1天止损 - 多头"
      
      - Minutes: 4320                # 3天后
        ThresholdPer: -8.0           # 允许-8%亏损
        RuleName: "第3天止损 - 多头"
      
      - Minutes: 10080               # 7天后
        ThresholdPer: -10.0          # 允许-10%亏损
        RuleName: "第1周止损 - 多头"
      
      - Minutes: 20160               # 14天后
        ThresholdPer: -5.0           # 若仍未盈利则收紧
        RuleName: "第2周保护 - 多头"
    
    TakeProfitRules:
      # 逐步止盈
      - TpMultiplier: 0.5            # +10%盈利(20%止盈 * 0.5)
        SellPer: 30                  # 卖出30%仓位
        RuleName: "部分退出1 - 多头"
        IsEnabled: true
        UseMarketOrder: true
      
      - TpMultiplier: 1.0            # +20%盈利(完整止盈)
        SellPer: 50                  # 卖出剩余的50%
        RuleName: "部分退出2 - 多头"
        IsEnabled: true
        UseMarketOrder: true
      
      - TpMultiplier: 1.5            # +30%盈利(1.5倍止盈)
        SellPer: 100                 # 关闭全部仓位
        RuleName: "全部退出 - 多头"
        IsEnabled: true
        UseMarketOrder: true
  
  # 空头交易规则(看跌反转仓位)
  ShortTrade:
    ThresholdRules:
      # 空头更紧止损(加密货币中更具风险)
      - Minutes: 1440                # 1天后
        ThresholdPer: -5.0           # -5%亏损时退出
        RuleName: "第1天止损 - 空头"
      
      - Minutes: 2880                # 2天后
        ThresholdPer: -7.0           # 允许-7%亏损
        RuleName: "第2天止损 - 空头"
      
      - Minutes: 7200                # 5天后
        ThresholdPer: -10.0          # 最大-10%亏损容忍
        RuleName: "第5天止损 - 空头"
      
      - Minutes: 14400               # 10天后
        ThresholdPer: -4.0           # 显著收紧
        RuleName: "第10天保护 - 空头"
    
    TakeProfitRules:
      # 空头更快止盈
      - TpMultiplier: 0.4            # +8%盈利
        SellPer: 40                  # 关闭40%
        RuleName: "快速退出1 - 空头"
        IsEnabled: true
        UseMarketOrder: true
      
      - TpMultiplier: 0.7            # +14%盈利
        SellPer: 60                  # 关闭剩余60%
        RuleName: "快速退出2 - 空头"
        IsEnabled: true
        UseMarketOrder: true
      
      - TpMultiplier: 1.0            # +20%盈利
        SellPer: 100                 # 关闭全部
        RuleName: "全部退出 - 空头"
        IsEnabled: true
        UseMarketOrder: true

#################################################
# 8. 全局安全与亏损控制
#################################################
IntelligentGlobalSettings:
  MinProfitToEnableTP: 1.0           # 允许止盈退出前需+1%盈利
  MaxLossBeforeForceClose: -15.0     # -15%亏损时紧急退出(覆盖所有规则)

理解智能规则:

基于时间的阈值:

  • 初期允许更宽止损(市场需要时间移动)
  • 若交易无效则逐步收紧
  • 示例:第1天允许-6%,第3天-8%,但2周后仅-5%

K线退出规则:

  • 通过连续相反颜色K线检测趋势反转
  • 多头:3根红K线后退出(看跌反转)
  • 空头:3根绿K线后退出(看涨反转)
  • RequireMinimumProfit:仅在盈利时退出(避免恐慌卖出)

逐步止盈:

  • TpMultiplier: 0.5 = 在目标盈利50%时退出
  • SellPer: 30 = 仅卖出30%仓位(保留70%运行)
  • 锁定收益,同时让赢家继续运行

全局安全:

  • MaxLossBeforeForceClose: -15.0 = -15%亏损时紧急开关
  • 覆盖所有其他规则以防止灾难性损失

比较:物理SL/TP vs 智能规则

特性 物理SL/TP 智能规则
简单性 非常简单 更复杂
可预测性 固定百分比 动态调整
时间感知 有(渐进止损)
形态识别 有(K线反转)
部分退出 全有或全无 渐进式退出
市场适应 静态 自适应阈值
最适合 保守、设置后不管 活跃交易者、优化

按交易风格推荐配置

保守长期持有者

使用物理SL/TP:

SLTPSettings:
  StopLossPercent: 10.0          # 宽止损应对波动
  TakeProfitPercent: 25.0        # 耐心盈利目标
  EnableTrailingSl: true
  TrailingSlOffsetPercent: 4.0
  EnableBreakeven: true
  BreakevenActivationPercent: 8.0

IntelligentRuleOptions:
  IsEnabled: false               # 保持简单

平衡波段交易者

使用组合:

SLTPSettings:
  StopLossPercent: 7.0           # 基础保护
  TakeProfitPercent: 0.0         # 禁用固定止盈
  EnableTrailingSl: true
  TrailingSlOffsetPercent: 2.5

IntelligentRuleOptions:
  IsEnabled: true
  CandleExitRules:
    IsEnabled: true              # 反转时退出
    OppositesCandlesCount: 3
  LongTrade:
    TakeProfitRules:             # 改用智能止盈
      - TpMultiplier: 0.5
        SellPer: 40
      - TpMultiplier: 1.0
        SellPer: 100

IntelligentGlobalSettings:
  MaxLossBeforeForceClose: -12.0

活跃优化者

使用完整智能系统:

SLTPSettings:
  StopLossPercent: 0.0           # 禁用物理SL/TP
  TakeProfitPercent: 0.0
  EnableTrailingSl: false

IntelligentRuleOptions:
  IsEnabled: true
  EnableAdaptiveThresholds: true  # 完全动态控制
  CandleExitRules:
    IsEnabled: true
    OppositesCandlesCount: 2     # 快速反转检测
  # 使用上方显示的所有阈值和止盈规则

IntelligentGlobalSettings:
  MinProfitToEnableTP: 0.5
  MaxLossBeforeForceClose: -10.0

重要注意事项

对于1日K线:

  • 智能规则中的 Minutes = 实际分钟
  • 1天 = 1440分钟
  • 1周 = 10080分钟
  • 相应规划您的时间阈值

仓位规模:

  • 使用更宽止损时采用更小仓位(长期波动)
  • 每笔交易不要冒险超过资本的2-3%
  • 智能规则最适合3-5%仓位规模

需要回测:

  • 先在历史数据上测试SL/TP设置
  • 监控胜率和每笔交易平均利润
  • 根据实际表现调整阈值

市场条件:

  • 牛市:更宽止损,更高止盈
  • 熊市:更紧止损,更快止盈
  • 根据整体投资组合风险调整 MaxLossBeforeForceClose

附加资源

  • 定期查看日志:grep "LONGTERM_SMART" bot.log
  • 监控置信度水平以评估信号质量
  • 根据历史表现调整 min_confidence_threshold
  • 跟踪SL/TP命中率以优化风险管理
  • 使用 IntelligentGlobalSettings.MaxLossBeforeForceClose 作为投资组合保护

扩展最终检查清单

信号配置:

  • [ ] 设置 Profile: "long"
  • [ ] 设置 summaryInterval: "1d"
  • [ ] 设置 strategyIntervals.long: ["1d"]
  • [ ] 启用 enabled_long_term_reversal: true
  • [ ] 配置阈值参数
  • [ ] 将两个信号添加到 supported_volatility_action
  • [ ] 删除/重置 symbols.json

风险管理:

  • [ ] 选择SL/TP方法(物理 vs 智能)
  • [ ] 配置止损百分比
  • [ ] 配置止盈目标
  • [ ] 设置全局安全限制(MaxLossBeforeForceClose
  • [ ] 先用小仓位测试
  • [ ] 验证紧急退出机制有效

启动:

  • [ ] 重启机器人
  • [ ] 验证日志显示信号检测
  • [ ] 仔细监控前几个信号
  • [ ] 跟踪SL/TP执行
  • [ ] 根据实际表现调整

📎 Related Topics