4.8 KiB
4.8 KiB
策略改进文档
概述
本文档记录了FreqaiPrimer策略的改进内容,包括趋势判断逻辑优化、"火苗"策略实现、以及各种动态调整机制。
主要改进内容
1. 趋势判断逻辑优化
1.1 多维度趋势判断
- EMA趋势:不仅看EMA50/EMA200交叉,还考虑EMA斜率
- 价格动量:短期价格变化趋势
- 趋势强度:EMA斜率大小衡量趋势强度
- 趋势一致性:多指标投票机制
1.2 高级市场状态评估
- 趋势强度:-1.0到1.0的连续值,衡量趋势强弱
- 趋势可信度:0.0到1.0的值,衡量趋势判断的可靠性
- 价格动量:衡量价格变化速度
- 趋势一致性:短期与长期趋势的一致性
1.3 市场状态分类
strong_bull:市场得分 > 70weak_bull:市场得分 50-70neutral:市场得分 30-50weak_bear:市场得分 10-30strong_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. 注意事项
- 这些改进旨在提高策略在不同市场环境下的表现
- 需要在实际回测中验证改进效果
- 可能需要进一步调整参数以达到最佳效果