290 lines
8.0 KiB
Markdown
290 lines
8.0 KiB
Markdown
# 策略优化建议评估与实施方案(2026-01-27)
|
||
|
||
## 📊 建议评估
|
||
|
||
### A. 过滤"垃圾信号"(提升胜率)
|
||
|
||
#### A1. 大盘Beta过滤优化
|
||
|
||
**建议**:
|
||
- BTC在15分钟内跌幅超过0.5%,禁止山寨币多单
|
||
|
||
**当前实现**:
|
||
- `BETA_FILTER_ENABLED`: True
|
||
- `BETA_FILTER_THRESHOLD`: -0.03(-3%)
|
||
- 时间窗口:需要检查(可能是4H或1H)
|
||
|
||
**评估**:
|
||
- ✅ **合理**:-0.5%比-3%更敏感,能更早过滤风险
|
||
- ⚠️ **注意**:需要确认当前实现的时间窗口
|
||
- ✅ **建议实施**:将阈值从-3%调整为-0.5%(-0.005)
|
||
|
||
**实施方案**:
|
||
- 修改`BETA_FILTER_THRESHOLD`: -0.03 → **-0.005**(-0.5%)
|
||
- 确认时间窗口为15分钟(如果不是,需要修改)
|
||
|
||
---
|
||
|
||
#### A2. 成交量激增过滤
|
||
|
||
**建议**:
|
||
- 当前15min成交量是过去24小时均值的2倍以上时才进场
|
||
|
||
**当前实现**:
|
||
- 已有`_check_volume_confirmation`方法,但可能只是检查24H成交量阈值
|
||
- 没有15分钟成交量激增过滤
|
||
|
||
**评估**:
|
||
- ✅ **合理**:成交量激增通常意味着真实趋势,而不是假突破
|
||
- ⚠️ **注意**:需要获取15分钟K线数据,可能增加API调用
|
||
- ✅ **建议实施**:实现15分钟成交量激增过滤
|
||
|
||
**实施方案**:
|
||
- 在`_check_volume_confirmation`中添加15分钟成交量激增检查
|
||
- 计算15分钟成交量 / 24小时平均成交量,如果 < 2.0,则拒绝交易
|
||
|
||
---
|
||
|
||
### B. 优化止盈策略(提升盈亏比)
|
||
|
||
#### B1. 分步止盈优化
|
||
|
||
**建议**:
|
||
- 第一目标位(如1.5倍ATR),到达后平仓50%并将剩余仓位设为保本损
|
||
|
||
**当前实现**:
|
||
- 第一目标:30%固定止盈(50%仓位)
|
||
- 第二目标:3.0:1盈亏比(剩余50%仓位)
|
||
- 已实现分步止盈和保本损
|
||
|
||
**评估**:
|
||
- ✅ **合理**:1.5倍ATR比30%固定止盈更灵活,适应不同波动率
|
||
- ⚠️ **注意**:需要确保ATR可用
|
||
- ✅ **建议实施**:将第一目标从30%固定改为1.5倍ATR
|
||
|
||
**实施方案**:
|
||
- 修改`position_manager.py`中的分步止盈逻辑
|
||
- 第一目标:`entry_price ± 1.5 * ATR`(如果ATR可用),否则使用固定百分比(如10%)
|
||
|
||
---
|
||
|
||
#### B2. 动态追踪止损优化
|
||
|
||
**建议**:
|
||
- 获利5%后自动跟随,回撤1.5%就平仓
|
||
|
||
**当前实现**:
|
||
- `TRAILING_STOP_ACTIVATION`: 0.20(20%)
|
||
- `TRAILING_STOP_PROTECT`: 0.10(10%)
|
||
|
||
**评估**:
|
||
- ✅ **合理**:5%激活比20%更容易触发,能更早保护利润
|
||
- ⚠️ **注意**:1.5%保护可能过紧,容易被震荡扫出
|
||
- ⚠️ **建议调整**:激活5%,保护2.5%(给回撤足够空间)
|
||
|
||
**实施方案**:
|
||
- `TRAILING_STOP_ACTIVATION`: 0.20 → **0.05**(5%)
|
||
- `TRAILING_STOP_PROTECT`: 0.10 → **0.025**(2.5%)
|
||
|
||
---
|
||
|
||
### C. 修正止损逻辑
|
||
|
||
**建议**:
|
||
- 基于ATR的动态止损:入场价 - 2.5 * ATR
|
||
|
||
**当前实现**:
|
||
- `ATR_STOP_LOSS_MULTIPLIER`: 1.5
|
||
- 止损选择逻辑:选择"更紧"的止损(已修复)
|
||
|
||
**评估**:
|
||
- ⚠️ **需要评估**:2.5倍比1.5倍更宽,可能增加单笔亏损
|
||
- ⚠️ **注意**:当前1.5倍已经收紧,如果改为2.5倍,可能回到之前的问题
|
||
- ⚠️ **建议**:保持1.5倍,或根据实际效果微调
|
||
|
||
**实施方案**:
|
||
- **暂不调整**:保持`ATR_STOP_LOSS_MULTIPLIER`为1.5
|
||
- 如果后续测试发现止损过紧,可以微调到2.0
|
||
|
||
---
|
||
|
||
### D. 针对当前配置的调整方案
|
||
|
||
#### D1. 止盈目标
|
||
|
||
**建议**:
|
||
- 30% → 8%-12%
|
||
|
||
**当前实现**:
|
||
- `TAKE_PROFIT_PERCENT`: 0.20(20%)
|
||
|
||
**评估**:
|
||
- ✅ **合理**:8%-12%比20%更容易触发,能提升止盈单比例
|
||
- ⚠️ **注意**:需要平衡止盈单比例和盈亏比
|
||
- ✅ **建议实施**:调整为10%(0.10)
|
||
|
||
**实施方案**:
|
||
- `TAKE_PROFIT_PERCENT`: 0.20 → **0.10**(10%)
|
||
|
||
---
|
||
|
||
#### D2. 止损目标
|
||
|
||
**建议**:
|
||
- 约10-15% → 基于ATR动态设定
|
||
|
||
**当前实现**:
|
||
- `STOP_LOSS_PERCENT`: 0.12(12%)
|
||
- `ATR_STOP_LOSS_MULTIPLIER`: 1.5
|
||
- 已实现基于ATR的动态止损
|
||
|
||
**评估**:
|
||
- ✅ **已实现**:当前已使用ATR动态止损
|
||
- ⚠️ **注意**:固定止损(12%)作为备选,ATR止损作为优先
|
||
- ✅ **建议保持**:当前实现已经合理
|
||
|
||
**实施方案**:
|
||
- **保持现状**:继续使用ATR动态止损,固定止损作为备选
|
||
|
||
---
|
||
|
||
#### D3. 信号强度
|
||
|
||
**建议**:
|
||
- 8 → 9-10
|
||
|
||
**当前实现**:
|
||
- `MIN_SIGNAL_STRENGTH`: 5
|
||
|
||
**评估**:
|
||
- ✅ **合理**:提高信号强度门槛,减少垃圾信号
|
||
- ⚠️ **注意**:9-10可能过严,可能导致交易机会过少
|
||
- ⚠️ **建议调整**:提高到7-8,而不是9-10
|
||
|
||
**实施方案**:
|
||
- `MIN_SIGNAL_STRENGTH`: 5 → **7**(先测试7,如果效果好再提高到8)
|
||
|
||
---
|
||
|
||
#### D4. 持仓时间锁
|
||
|
||
**建议**:
|
||
- 保持移除状态
|
||
|
||
**当前实现**:
|
||
- `MIN_HOLD_TIME_SEC`: 0(已移除)
|
||
|
||
**评估**:
|
||
- ✅ **已实现**:当前已移除持仓时间锁
|
||
- ✅ **建议保持**:继续移除
|
||
|
||
**实施方案**:
|
||
- **保持现状**:继续移除持仓时间锁
|
||
|
||
---
|
||
|
||
## ✅ 最终实施方案
|
||
|
||
### 优先级1:立即实施(关键优化)
|
||
|
||
1. **大盘Beta过滤优化**
|
||
- `BETA_FILTER_THRESHOLD`: -0.03 → **-0.005**(-0.5%)
|
||
- 确认时间窗口为15分钟
|
||
|
||
2. **止盈目标降低**
|
||
- `TAKE_PROFIT_PERCENT`: 0.20 → **0.10**(10%)
|
||
|
||
3. **动态追踪止损优化**
|
||
- `TRAILING_STOP_ACTIVATION`: 0.20 → **0.05**(5%)
|
||
- `TRAILING_STOP_PROTECT`: 0.10 → **0.025**(2.5%)
|
||
|
||
4. **信号强度提升**
|
||
- `MIN_SIGNAL_STRENGTH`: 5 → **7**
|
||
|
||
---
|
||
|
||
### 优先级2:后续实施(重要优化)
|
||
|
||
5. **成交量激增过滤**
|
||
- 实现15分钟成交量激增检查
|
||
- 15分钟成交量 / 24小时平均成交量 >= 2.0
|
||
|
||
6. **分步止盈优化**
|
||
- 第一目标:从30%固定改为1.5倍ATR
|
||
- 如果ATR不可用,使用10%固定
|
||
|
||
---
|
||
|
||
### 优先级3:保持现状(暂不调整)
|
||
|
||
7. **止损逻辑**
|
||
- 保持`ATR_STOP_LOSS_MULTIPLIER`为1.5
|
||
- 如果后续测试发现止损过紧,可以微调到2.0
|
||
|
||
8. **持仓时间锁**
|
||
- 保持移除状态
|
||
|
||
---
|
||
|
||
## 📊 配置调整清单
|
||
|
||
| 配置项 | 当前值 | 优化值 | 优先级 | 理由 |
|
||
|--------|--------|--------|--------|------|
|
||
| `BETA_FILTER_THRESHOLD` | -0.03 | **-0.005** | P1 | 更敏感地过滤大盘风险 |
|
||
| `TAKE_PROFIT_PERCENT` | 0.20 | **0.10** | P1 | 更容易触发,提升止盈单比例 |
|
||
| `TRAILING_STOP_ACTIVATION` | 0.20 | **0.05** | P1 | 更早保护利润 |
|
||
| `TRAILING_STOP_PROTECT` | 0.10 | **0.025** | P1 | 给回撤足够空间 |
|
||
| `MIN_SIGNAL_STRENGTH` | 5 | **7** | P1 | 减少垃圾信号 |
|
||
| `ATR_STOP_LOSS_MULTIPLIER` | 1.5 | **保持** | P3 | 当前已收紧,暂不调整 |
|
||
| `MIN_HOLD_TIME_SEC` | 0 | **保持** | P3 | 已移除,保持现状 |
|
||
|
||
---
|
||
|
||
## 🎯 预期效果
|
||
|
||
### 优化后预期
|
||
|
||
**胜率**:
|
||
- 当前:35.7%
|
||
- 预期:45% - 55%
|
||
|
||
**止盈单比例**:
|
||
- 当前:14.3%
|
||
- 预期:40% - 50%
|
||
|
||
**盈亏比**:
|
||
- 当前:需要计算
|
||
- 预期:1.5:1 - 2.0:1
|
||
|
||
**垃圾信号过滤**:
|
||
- 通过大盘Beta过滤和信号强度提升,减少震荡市交易
|
||
|
||
---
|
||
|
||
## ⚠️ 注意事项
|
||
|
||
1. **逐步调整**:不要一次性调整所有参数,可以先调整优先级1的参数,观察效果
|
||
2. **监控数据**:调整后密切监控交易数据,确认效果
|
||
3. **及时调整**:如果效果不理想,可以进一步微调参数
|
||
4. **保持一致性**:确保所有账号使用相同的配置
|
||
|
||
---
|
||
|
||
## ✅ 总结
|
||
|
||
**已评估的建议**:
|
||
- ✅ A1. 大盘Beta过滤优化:实施(-0.5%)
|
||
- ✅ A2. 成交量激增过滤:后续实施
|
||
- ✅ B1. 分步止盈优化:后续实施(1.5倍ATR)
|
||
- ✅ B2. 动态追踪止损优化:实施(5%激活,2.5%保护)
|
||
- ⚠️ C. 修正止损逻辑:保持现状(1.5倍)
|
||
- ✅ D1. 止盈目标:实施(10%)
|
||
- ✅ D2. 止损目标:保持现状(已实现ATR动态止损)
|
||
- ✅ D3. 信号强度:实施(7)
|
||
- ✅ D4. 持仓时间锁:保持现状(已移除)
|
||
|
||
**实施优先级**:
|
||
- **P1(立即实施)**:大盘Beta过滤、止盈目标、动态追踪止损、信号强度
|
||
- **P2(后续实施)**:成交量激增过滤、分步止盈优化
|
||
- **P3(保持现状)**:止损逻辑、持仓时间锁
|