myTestFreqAI/doc/strategy_improvements.md

4.8 KiB
Raw Blame History

策略改进文档

概述

本文档记录了FreqaiPrimer策略的改进内容包括趋势判断逻辑优化、"火苗"策略实现、以及各种动态调整机制。

主要改进内容

1. 趋势判断逻辑优化

1.1 多维度趋势判断

  • EMA趋势不仅看EMA50/EMA200交叉还考虑EMA斜率
  • 价格动量:短期价格变化趋势
  • 趋势强度EMA斜率大小衡量趋势强度
  • 趋势一致性:多指标投票机制

1.2 高级市场状态评估

  • 趋势强度-1.0到1.0的连续值,衡量趋势强弱
  • 趋势可信度0.0到1.0的值,衡量趋势判断的可靠性
  • 价格动量:衡量价格变化速度
  • 趋势一致性:短期与长期趋势的一致性

1.3 市场状态分类

  • strong_bull:市场得分 > 70
  • weak_bull:市场得分 50-70
  • neutral:市场得分 30-50
  • weak_bear:市场得分 10-30
  • strong_bear:市场得分 ≤ 10

2. "火苗"策略实现

2.1 动态入场策略

  • 在下跌趋势中strong_bear, weak_bear提高入场门槛提高10-30%
  • 在上升趋势中strong_bull, weak_bull降低入场门槛降低5-15%
  • 根据趋势强度和可信度动态调整入场阈值

2.2 积极的出场策略

  • 在下跌趋势中降低出场阈值降低10-30%),更容易触发出场
  • 在下跌趋势中缩短最大持仓时间24小时
  • 在下跌趋势中持仓超过1小时且有小幅盈利时考虑提前出场

2.3 积极的止损策略

  • 在下跌趋势中采用更保守的止损策略
  • 在下跌趋势中更快地锁定利润如利润超过3%时使用更小的止损幅度)
  • 在下跌趋势中小幅亏损时更积极地止损

2.4 价格保护机制

  • 在强熊市中只有当价格比上次卖出价格低1.5%时才允许再次入场
  • 根据趋势强度和可信度动态调整价格保护阈值
  • 防止在下跌趋势中频繁交易和追高的情况

3. 动态参数调整

3.1 入场阈值动态调整

  • 根据趋势强度和可信度动态调整入场阈值
  • 在下跌趋势中,根据趋势强度和可信度调整入场门槛
  • 在上升趋势中,根据趋势强度和可信度调整入场门槛

3.2 出场阈值动态调整

  • 根据趋势强度和可信度动态调整出场阈值
  • 在下跌趋势中,根据趋势强度调整出场阈值

3.3 止损策略动态调整

  • 根据趋势强度调整止损激进程度
  • 在下跌趋势中,根据趋势强度和可信度调整止损策略

4. 代码变更详情

4.1 市场状态计算逻辑改进

  • 修改了 populate_any_indicators 方法中的趋势计算逻辑
  • 增加了趋势强度、价格动量、趋势一致性等指标
  • 添加了MACD和RSI趋势强度计算

4.2 高级市场状态评估方法

  • 新增 get_advanced_market_state 方法
  • 返回包含状态、强度、可信度、动量、一致性等信息的字典

4.3 入场逻辑改进

  • 修改了 confirm_trade_entry 方法
  • 使用高级市场状态信息进行决策
  • 实现了动态阈值调整

4.4 出场逻辑改进

  • 修改了 confirm_trade_exit 方法
  • 使用高级市场状态信息进行决策
  • 实现了动态阈值调整

4.5 止损逻辑改进

  • 修改了 custom_stoploss 方法
  • 使用高级市场状态信息进行决策
  • 实现了动态止损调整

4.6 量价关系指标添加

  • 成交量趋势指标

    • volume_change: 成交量变化率
    • volume_ma_ratio: 成交量移动平均比值
    • volume_std: 成交量标准差(衡量成交量波动性)
    • volume_cv: 成交量变异系数
    • volume_zscore: 成交量Z分数检测异常成交量
    • volume_trend: 成交量趋势(成交量是否在上升通道)
    • volume_ema_fast/slow: 成交量EMA趋势
  • 量价关系指标

    • price_change: 价格变化率
    • volume_price_confirmation: 量价确认度(价格和成交量同向变动)
    • volume_price_ratio: 量价比率(成交量/价格)
    • bearish_divergence: 熊市背离(价格创新高但成交量未创新高)
    • bullish_divergence: 牛市背离(价格创新低但成交量未创新低)
    • obv: OBV平衡成交量
    • volume_price_corr_short/medium: 量价相关系数(短期/中期窗口)

5. 移除的逻辑

  • 移除了冷启动保护逻辑,确保回测和实盘的一致性

6. 改进效果

  • 更准确的趋势判断:通过多维度指标提高了趋势判断的准确性
  • 更灵活的策略响应:根据市场状态动态调整策略参数
  • 更好的风险控制:在不利市场条件下更积极地保护利润
  • 更高的适应性:能够更好地适应不同的市场环境

7. 注意事项

  • 这些改进旨在提高策略在不同市场环境下的表现
  • 需要在实际回测中验证改进效果
  • 可能需要进一步调整参数以达到最佳效果