强熊市趋势反转确认机制

This commit is contained in:
zhangkun9038@dingtalk.com 2026-01-08 21:16:19 +08:00
parent 182d5d8a65
commit db03b35b27
6 changed files with 633 additions and 0 deletions

View File

@ -0,0 +1,234 @@
# 方案A强熊市趋势反转确认机制
## 📌 背景与问题
### 问题发现
通过对 `ruchang.log` 入场诊断数据的分析,发现策略存在严重的"**抄底抄在半山腰**"问题:
- **67.1%** 的入场属于高危"半山腰抄底"
- **100%** 的入场发生在强熊市环境(`market_state == 'strong_bear'`
- **100%** 的入场时 MACD 处于下降趋势(`macd_1h < macd_signal_1h`
- **65%** 的入场价格跌破布林下轨
- **12%** 的入场 RSI 极度超卖(< 20恐慌杀跌
### 问题本质
策略的目标是 **6 小时左右持仓的中短线交易**,但在强熊市+下跌趋势中:
1. **下跌趋势未结束**MACD 下降意味着价格还在惯性下跌
2. **技术反弹难持续**:即使 ML 给出高置信度,在熊市中往往只是"技术性反弹"而非"趋势反转"
3. **时间窗口不足**6 小时持仓无法等待趋势真正反转,容易在反弹夭折后止损
这导致策略频繁"接飞刀"——看起来是技术超卖的低位,但几小时后看却是"半山腰"。
---
## 🎯 解决方案
### 核心思路
在强熊市环境中,**增加趋势反转确认条件**,只有出现明确的反转信号后才允许入场。
### 实现逻辑
#### 1. 识别强熊市环境
```python
strong_bear_mask = (dataframe['market_state'] == 'strong_bear')
```
#### 2. 计算趋势反转信号(满足任意一条即可)
| 反转信号 | 判断条件 | 含义 |
|---------|---------|------|
| **MACD上穿信号线** | `macd_1h > macd_signal_1h` | 下跌动能减弱,可能转为上涨 |
| **RSI回升** | `rsi_1h >= 25` | 从极度超卖(<20回升恐慌杀跌结束 |
| **价格回到布林带内** | `bb_position >= 0` | 价格企稳,不再持续跌破下轨 |
其中布林位置计算方式:
```python
bb_position = (close - bb_lower) / (bb_upper - bb_lower)
# bb_position < 0跌破下轨
# bb_position = 0刚好在下轨
# bb_position > 0在布林带内
```
#### 3. 应用过滤规则
```python
# 在强熊市中,必须有趋势反转信号才能入场
final_condition = final_condition & (~strong_bear_mask | trend_reversal)
```
逻辑解读:
- 如果**不是**强熊市 → 保持原有入场逻辑
- 如果**是**强熊市 → 必须同时满足原条件 **AND** 趋势反转信号
---
## 💻 代码实现
### 修改位置
文件:`freqtrade/templates/freqaiprimer.py`
方法:`populate_entry_trend()`
位置:第 655-676 行
### 完整代码
```python
# 合并所有条件
condition_count = (
close_to_bb_lower_1h.astype(int) +
rsi_condition_1h.astype(int) +
stochrsi_condition_1h.astype(int) +
macd_condition_1h.astype(int) +
(volume_spike | bb_width_condition).astype(int) +
trend_confirmation.astype(int)
)
final_condition = condition_count >= self.min_condition_count.value
# ========== 方案A强熊市中增加趋势反转确认条件 ==========
# 针对6小时中短线策略避免在下跌趋势中"抄底抄在半山腰"
strong_bear_mask = (dataframe['market_state'] == 'strong_bear')
if strong_bear_mask.any():
# 计算布林位置(价格在布林带中的相对位置)
bb_position = (dataframe['close'] - dataframe['bb_lower_1h']) / \
(dataframe['bb_upper_1h'] - dataframe['bb_lower_1h'] + 1e-8) # 避免除零
# 趋势反转信号(至少满足其一)
trend_reversal = (
(dataframe['macd_1h'] > dataframe['macd_signal_1h']) | # MACD上穿信号线
(dataframe['rsi_1h'] >= 25) | # RSI从极度超卖回升
(bb_position >= 0) # 价格回到布林带内
)
# 在强熊市中,必须有趋势反转信号才能入场
final_condition = final_condition & (~strong_bear_mask | trend_reversal)
# ========== 趋势反转确认结束 ==========
# 设置入场信号
dataframe.loc[final_condition, 'enter_long'] = 1
```
---
## 📊 预期效果
### 入场质量改善
- ✅ **大幅减少高危入场**:从 67.1% 降低到 <30%
- ✅ **避免 MACD 下降时盲目入场**:确保下跌趋势已减弱
- ✅ **过滤恐慌杀跌底部**RSI<20 时等待回升到 25 以上
- ✅ **等待价格企稳**:不在持续跌破布林下轨时入场
### 盈利表现优化
- 📈 提高入场成功率(减少"接飞刀"
- 📈 降低止损频率(等待趋势反转后入场)
- 📈 更适配 6 小时中短线策略的时间窗口
---
## 🧪 测试验证
### 1. 运行回测
```bash
freqtrade backtesting \
--config config.json \
--strategy FreqaiPrimer \
--timerange=20251201-20260108
```
### 2. 分析入场质量
```bash
python3 tools/analyze_entry_quality.py outputs/ruchang.log
```
### 3. 对比关键指标
| 指标 | 修改前 | 目标 |
|------|--------|------|
| 高危入场比例 | 67.1% | <30% |
| 强熊市入场数量 | 70 | 大幅减少 |
| MACD下降时入场 | 100% | <50% |
| 入场成功率 | 待测 | 提升 |
---
## 🔧 参数调优
如果方案 A 效果不理想,可以调整以下参数:
### 1. RSI 回升阈值(当前 25
```python
# 更保守:要求 RSI 回升到 30
(dataframe['rsi_1h'] >= 30)
# 更激进:允许 RSI 20 以上
(dataframe['rsi_1h'] >= 20)
```
### 2. 布林位置阈值(当前 0
```python
# 更保守:要求价格回到布林带中部
(bb_position >= 0.2)
# 更激进:允许仍在下轨附近
(bb_position >= -0.1)
```
### 3. 趋势反转条件组合
```python
# 当前满足任意一条OR
trend_reversal = (condition1 | condition2 | condition3)
# 更严格:至少满足两条
trend_reversal = (
(condition1.astype(int) + condition2.astype(int) + condition3.astype(int)) >= 2
)
```
---
## 🔄 回退方案
如果方案 A 导致入场机会过少或整体收益下降:
### 选项 1注释趋势反转确认代码
```python
# 注释掉第 655-676 行
# if strong_bear_mask.any():
# ...
```
### 选项 2仅在极端情况应用
```python
# 只在 RSI < 15极度恐慌时应用趋势反转确认
extreme_bear = strong_bear_mask & (dataframe['rsi_1h'] < 15)
final_condition = final_condition & (~extreme_bear | trend_reversal)
```
### 选项 3改为其他市场状态
```python
# 不仅在 strong_bear也在 weak_bear 应用
bear_mask = dataframe['market_state'].isin(['strong_bear', 'weak_bear'])
```
---
## 📚 相关文档
- [入场质量分析工具](../tools/analyze_entry_quality.py)
- [入场诊断日志](../outputs/ruchang.log)
- [策略主文件](../freqtrade/templates/freqaiprimer.py)
- [动态阈值机制](./README.md#动态ml阈值)
---
## 📝 更新日志
| 日期 | 版本 | 说明 |
|------|------|------|
| 2026-01-08 | v1.0 | 初版实施,针对强熊市增加趋势反转确认 |
---
## 💡 后续优化方向
1. **方案 B**:在强熊市中进一步提高 ML 阈值(从 0.85 到 0.90+
2. **方案 C**:增加"冷静期"机制(跌破布林下轨后等待 1-2 根 K 线)
3. **自适应调整**:根据回测结果动态调整 RSI/布林位置阈值
4. **市场状态细化**:区分"温和下跌"和"恐慌杀跌",使用不同策略

View File

@ -654,6 +654,26 @@ class FreqaiPrimer(IStrategy):
)
final_condition = condition_count >= self.min_condition_count.value
# ========== 方案A强熊市中增加趋势反转确认条件 ==========
# 针对6小时中短线策略避免在下跌趋势中"抄底抄在半山腰"
strong_bear_mask = (dataframe['market_state'] == 'strong_bear')
if strong_bear_mask.any():
# 计算布林位置(价格在布林带中的相对位置)
bb_position = (dataframe['close'] - dataframe['bb_lower_1h']) / \
(dataframe['bb_upper_1h'] - dataframe['bb_lower_1h'] + 1e-8) # 避免除零
# 趋势反转信号(至少满足其一)
trend_reversal = (
(dataframe['macd_1h'] > dataframe['macd_signal_1h']) | # MACD上穿信号线
(dataframe['rsi_1h'] >= 25) | # RSI从极度超卖回升
(bb_position >= 0) # 价格回到布林带内
)
# 在强熊市中,必须有趋势反转信号才能入场
final_condition = final_condition & (~strong_bear_mask | trend_reversal)
# ========== 趋势反转确认结束 ==========
# 设置入场信号
dataframe.loc[final_condition, 'enter_long'] = 1

60
outputs/chicang.log Normal file
View File

@ -0,0 +1,60 @@
币种 入场时间 入场价格 出场时间 出场价格 盈利金额 盈利比例
0 BTC/USDT 2025-12-10 00:03:00+00:00 92665.00000 2025-12-10 01:03:00+00:00 92168.000000 -2.435686 -0.70%
1 BTC/USDT 2025-12-11 18:36:00+00:00 90463.50000 2025-12-12 13:03:00+00:00 92411.200000 6.969545 1.99%
2 BTC/USDT 2025-12-13 16:54:00+00:00 90117.10000 2025-12-13 20:03:00+00:00 90191.800000 -0.270109 -0.08%
3 DOGE/USDT 2025-12-10 00:03:00+00:00 0.14818 2025-12-10 01:03:00+00:00 0.146780 -3.864144 -1.10%
4 DOGE/USDT 2025-12-11 22:24:00+00:00 0.14075 2025-12-12 15:15:00+00:00 0.139800 -2.920455 -0.83%
5 DOGE/USDT 2025-12-13 17:33:00+00:00 0.13902 2025-12-13 21:33:00+00:00 0.138220 -2.572487 -0.73%
6 KAITO/USDT 2025-12-14 05:54:00+00:00 0.60950 2025-12-14 06:42:00+00:00 0.612300 1.046589 0.30%
7 MASK/USDT 2025-12-11 15:03:00+00:00 0.59920 2025-12-11 18:39:00+00:00 0.609600 5.509907 1.57%
8 MASK/USDT 2025-12-12 14:09:00+00:00 0.61320 2025-12-12 15:06:00+00:00 0.610400 -2.156895 -0.62%
9 MASK/USDT 2025-12-13 00:06:00+00:00 0.60530 2025-12-13 17:33:00+00:00 0.608500 1.288842 0.37%
10 MASK/USDT 2025-12-13 21:48:00+00:00 0.60810 2025-12-13 22:21:00+00:00 0.607100 -1.135103 -0.32%
11 PEPE/USDT 2025-12-10 00:06:00+00:00 0.00000 2025-12-10 00:06:00+00:00 0.000005 -0.560000 -0.16%
12 PEPE/USDT 2025-12-10 01:03:00+00:00 0.00000 2025-12-10 01:03:00+00:00 0.000005 -0.560000 -0.16%
13 PEPE/USDT 2025-12-10 19:09:00+00:00 0.00000 2025-12-10 19:09:00+00:00 0.000005 -0.560000 -0.16%
14 PEPE/USDT 2025-12-10 19:21:00+00:00 0.00000 2025-12-10 19:21:00+00:00 0.000005 -0.560000 -0.16%
15 PEPE/USDT 2025-12-11 15:03:00+00:00 0.00000 2025-12-11 15:03:00+00:00 0.000004 -0.560000 -0.16%
16 PEPE/USDT 2025-12-11 15:30:00+00:00 0.00000 2025-12-11 15:30:00+00:00 0.000004 -0.560000 -0.16%
17 PEPE/USDT 2025-12-12 10:36:00+00:00 0.00000 2025-12-12 10:36:00+00:00 0.000005 -0.560000 -0.16%
18 PEPE/USDT 2025-12-12 10:48:00+00:00 0.00000 2025-12-12 10:48:00+00:00 0.000005 -0.560000 -0.16%
19 PEPE/USDT 2025-12-14 01:03:00+00:00 0.00000 2025-12-14 01:03:00+00:00 0.000004 -0.560000 -0.16%
20 PEPE/USDT 2025-12-14 02:03:00+00:00 0.00000 2025-12-14 02:03:00+00:00 0.000004 -0.560000 -0.16%
21 SOL/USDT 2025-12-10 00:03:00+00:00 138.13000 2025-12-10 01:03:00+00:00 137.370000 -2.484181 -0.71%
22 SOL/USDT 2025-12-11 14:03:00+00:00 131.36000 2025-12-11 22:24:00+00:00 136.080000 12.006063 3.43%
23 SOL/USDT 2025-12-12 14:03:00+00:00 136.85000 2025-12-12 19:06:00+00:00 132.600000 -16.967941 -3.26%
24 SOL/USDT 2025-12-13 19:06:00+00:00 132.32000 2025-12-13 19:48:00+00:00 132.890000 0.946502 0.27%
25 SOL/USDT 2025-12-13 20:54:00+00:00 132.33000 2025-12-13 21:39:00+00:00 132.410000 -0.348577 -0.10%
26 SOL/USDT 2025-12-13 22:15:00+00:00 132.28000 2025-12-13 22:21:00+00:00 132.620000 0.338887 0.10%
27 SOL/USDT 2025-12-14 05:12:00+00:00 132.28000 2025-12-14 05:45:00+00:00 132.540000 0.127384 0.04%
28 SUI/USDT 2025-12-12 14:03:00+00:00 1.61340 2025-12-13 03:03:00+00:00 1.573700 -16.050958 -2.62%
29 SUI/USDT 2025-12-13 14:42:00+00:00 1.60210 2025-12-13 22:03:00+00:00 1.599800 -1.062063 -0.30%
30 SUI/USDT 2025-12-14 00:06:00+00:00 1.59720 2025-12-14 05:03:00+00:00 1.599500 -0.056396 -0.02%
31 SUI/USDT 2025-12-14 12:03:00+00:00 1.59280 2025-12-14 12:54:00+00:00 1.618600 5.104726 1.46%
32 SUI/USDT 2025-12-14 14:39:00+00:00 1.59970 2025-12-15 00:00:00+00:00 1.552900 -10.791227 -3.08%
33 TON/USDT 2025-12-10 17:03:00+00:00 1.64800 2025-12-11 00:03:00+00:00 1.657000 1.349878 0.39%
34 TON/USDT 2025-12-11 18:39:00+00:00 1.61500 2025-12-12 09:12:00+00:00 1.626000 1.821993 0.52%
35 TON/USDT 2025-12-12 10:03:00+00:00 1.63400 2025-12-12 12:06:00+00:00 1.643000 1.366242 0.39%
36 TON/USDT 2025-12-13 03:03:00+00:00 1.61000 2025-12-13 16:54:00+00:00 1.617000 0.960522 0.27%
37 TON/USDT 2025-12-14 13:18:00+00:00 1.60600 2025-12-14 15:15:00+00:00 1.598000 -2.302067 -0.66%
38 TRB/USDT 2025-12-10 00:06:00+00:00 22.65000 2025-12-10 01:03:00+00:00 22.420000 -4.111240 -1.17%
39 TRB/USDT 2025-12-10 19:09:00+00:00 22.50000 2025-12-10 22:03:00+00:00 22.060000 -7.398969 -2.11%
40 TRB/USDT 2025-12-11 14:06:00+00:00 20.97000 2025-12-12 09:12:00+00:00 21.240000 3.942833 1.13%
41 TRB/USDT 2025-12-12 23:03:00+00:00 20.90000 2025-12-13 14:42:00+00:00 20.860000 -1.229321 -0.35%
42 TRB/USDT 2025-12-13 20:42:00+00:00 20.96000 2025-12-13 22:51:00+00:00 20.980000 -0.226298 -0.06%
43 TRUMP/USDT 2025-12-10 01:03:00+00:00 5.88400 2025-12-10 03:03:00+00:00 5.889000 -0.262821 -0.08%
44 TRUMP/USDT 2025-12-11 13:03:00+00:00 5.64400 2025-12-11 15:30:00+00:00 5.668000 0.927115 0.26%
45 TRUMP/USDT 2025-12-13 17:06:00+00:00 5.57600 2025-12-13 19:06:00+00:00 5.582000 -0.183687 -0.05%
46 TRUMP/USDT 2025-12-13 21:33:00+00:00 5.55900 2025-12-13 21:42:00+00:00 5.568000 0.006195 0.00%
47 TRUMP/USDT 2025-12-13 22:03:00+00:00 5.55500 2025-12-14 06:42:00+00:00 5.518000 -2.889368 -0.82%
48 UNI/USDT 2025-12-10 00:03:00+00:00 5.75100 2025-12-10 01:03:00+00:00 5.657000 -6.276168 -1.79%
49 UNI/USDT 2025-12-10 18:03:00+00:00 5.65200 2025-12-10 20:18:00+00:00 5.873000 13.114473 3.74%
50 UNI/USDT 2025-12-10 22:27:00+00:00 5.67200 2025-12-11 00:03:00+00:00 5.597000 -5.184295 -1.48%
51 UNI/USDT 2025-12-14 05:30:00+00:00 5.47000 2025-12-14 07:09:00+00:00 5.479000 0.015408 0.00%
52 WCT/USDT 2025-12-10 17:21:00+00:00 0.08820 2025-12-10 23:21:00+00:00 0.087000 -5.318090 -1.52%
53 WCT/USDT 2025-12-11 18:48:00+00:00 0.08100 2025-12-11 20:36:00+00:00 0.081200 0.303506 0.09%
54 WCT/USDT 2025-12-12 10:24:00+00:00 0.08040 2025-12-12 17:03:00+00:00 0.078500 -13.031495 -2.51%
55 WCT/USDT 2025-12-12 23:03:00+00:00 0.08020 2025-12-13 22:03:00+00:00 0.081200 3.800590 1.09%
56 XRP/USDT 2025-12-11 11:03:00+00:00 2.01480 2025-12-11 18:45:00+00:00 2.022000 0.689744 0.20%
57 XRP/USDT 2025-12-11 20:36:00+00:00 2.01990 2025-12-12 09:42:00+00:00 2.027800 0.807785 0.23%
58 XRP/USDT 2025-12-13 03:03:00+00:00 2.01600 2025-12-13 17:06:00+00:00 2.02230

70
outputs/ruchang.log Normal file
View File

@ -0,0 +1,70 @@
2026-01-08 09:25:28,963 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 88211.100000 | vs 5K高点: -0.14% | vs EMA5: +0.00% | 布林位置: -0.11 | RSI: 14.9 | MACD: down | 市场: strong_bear | ML概率: 0.62
2026-01-08 09:25:28,971 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 88237.000000 | vs 5K高点: -0.11% | vs EMA5: +0.00% | 布林位置: -0.10 | RSI: 14.9 | MACD: down | 市场: strong_bear | ML概率: 0.67
2026-01-08 09:25:28,972 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 88138.300000 | vs 5K高点: -0.22% | vs EMA5: +0.00% | 布林位置: -0.14 | RSI: 14.9 | MACD: down | 市场: strong_bear | ML概率: 0.69
2026-01-08 09:25:28,972 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 88162.900000 | vs 5K高点: -0.36% | vs EMA5: +0.00% | 布林位置: -0.13 | RSI: 14.9 | MACD: down | 市场: strong_bear | ML概率: 0.71
2026-01-08 09:25:28,976 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 88356.900000 | vs 5K高点: -0.14% | vs EMA5: +0.00% | 布林位置: -0.01 | RSI: 23.1 | MACD: down | 市场: strong_bear | ML概率: 0.00
2026-01-08 09:25:29,300 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.546000 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: -0.22 | RSI: 23.4 | MACD: down | 市场: strong_bear | ML概率: 0.93
2026-01-08 09:25:29,301 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.550000 | vs 5K高点: +0.00% | vs EMA5: +0.00% | 布林位置: -0.16 | RSI: 23.4 | MACD: down | 市场: strong_bear | ML概率: 0.90
2026-01-08 09:25:29,308 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.546000 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: -0.22 | RSI: 23.4 | MACD: down | 市场: strong_bear | ML概率: 0.99
2026-01-08 09:25:29,308 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.546000 | vs 5K高点: -0.39% | vs EMA5: +0.00% | 布林位置: -0.22 | RSI: 23.4 | MACD: down | 市场: strong_bear | ML概率: 0.90
2026-01-08 09:25:29,309 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.548000 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: -0.12 | RSI: 26.5 | MACD: down | 市场: strong_bear | ML概率: 0.00
2026-01-08 09:25:29,681 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 1.953000 | vs 5K高点: -0.31% | vs EMA5: +0.00% | 布林位置: 0.04 | RSI: 29.6 | MACD: down | 市场: strong_bear | ML概率: 0.98
2026-01-08 09:25:29,685 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 1.954000 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: 0.05 | RSI: 29.6 | MACD: down | 市场: strong_bear | ML概率: 0.94
2026-01-08 09:25:29,685 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 1.957000 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: 0.08 | RSI: 29.6 | MACD: down | 市场: strong_bear | ML概率: 0.93
2026-01-08 09:25:29,686 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 1.955000 | vs 5K高点: -0.20% | vs EMA5: +0.00% | 布林位置: 0.06 | RSI: 29.6 | MACD: down | 市场: strong_bear | ML概率: 0.96
2026-01-08 09:25:29,686 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 1.952000 | vs 5K高点: -0.66% | vs EMA5: +0.00% | 布林位置: 0.03 | RSI: 29.6 | MACD: down | 市场: strong_bear | ML概率: 1.04
2026-01-08 09:25:29,993 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 1.975700 | vs 5K高点: -0.33% | vs EMA5: +0.00% | 布林位置: -0.18 | RSI: 27.5 | MACD: down | 市场: strong_bear | ML概率: 0.86
2026-01-08 09:25:29,994 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 1.979500 | vs 5K高点: -0.19% | vs EMA5: +0.00% | 布林位置: -0.10 | RSI: 27.5 | MACD: down | 市场: strong_bear | ML概率: 0.77
2026-01-08 09:25:29,994 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 1.982200 | vs 5K高点: -0.05% | vs EMA5: +0.00% | 布林位置: -0.04 | RSI: 27.5 | MACD: down | 市场: strong_bear | ML概率: 0.80
2026-01-08 09:25:29,995 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 1.978200 | vs 5K高点: -0.25% | vs EMA5: +0.00% | 布林位置: -0.13 | RSI: 27.5 | MACD: down | 市场: strong_bear | ML概率: 0.86
2026-01-08 09:25:29,995 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 1.978400 | vs 5K高点: -0.49% | vs EMA5: +0.00% | 布林位置: -0.12 | RSI: 27.5 | MACD: down | 市场: strong_bear | ML概率: 0.76
2026-01-08 09:25:30,650 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 129.570000 | vs 5K高点: -0.14% | vs EMA5: +0.00% | 布林位置: -0.07 | RSI: 28.0 | MACD: down | 市场: strong_bear | ML概率: 0.85
2026-01-08 09:25:30,651 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 129.640000 | vs 5K高点: -0.08% | vs EMA5: +0.00% | 布林位置: -0.06 | RSI: 28.0 | MACD: down | 市场: strong_bear | ML概率: 0.86
2026-01-08 09:25:30,652 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 129.410000 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: -0.11 | RSI: 28.0 | MACD: down | 市场: strong_bear | ML概率: 0.87
2026-01-08 09:25:30,653 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 129.400000 | vs 5K高点: -0.75% | vs EMA5: +0.00% | 布林位置: -0.12 | RSI: 28.0 | MACD: down | 市场: strong_bear | ML概率: 0.85
2026-01-08 09:25:30,654 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 130.060000 | vs 5K高点: -0.25% | vs EMA5: +0.00% | 布林位置: 0.08 | RSI: 32.5 | MACD: down | 市场: strong_bear | ML概率: 0.00
2026-01-08 09:25:31,027 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.133970 | vs 5K高点: -0.22% | vs EMA5: +0.00% | 布林位置: 0.00 | RSI: 24.7 | MACD: down | 市场: strong_bear | ML概率: 0.73
2026-01-08 09:25:31,030 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.134240 | vs 5K高点: -0.15% | vs EMA5: +0.00% | 布林位置: 0.04 | RSI: 24.7 | MACD: down | 市场: strong_bear | ML概率: 0.69
2026-01-08 09:25:31,030 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.134280 | vs 5K高点: -0.12% | vs EMA5: +0.00% | 布林位置: 0.05 | RSI: 24.7 | MACD: down | 市场: strong_bear | ML概率: 0.75
2026-01-08 09:25:31,031 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.134090 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: 0.02 | RSI: 24.7 | MACD: down | 市场: strong_bear | ML概率: 0.77
2026-01-08 09:25:31,032 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.134090 | vs 5K高点: -0.54% | vs EMA5: +0.00% | 布林位置: 0.02 | RSI: 24.7 | MACD: down | 市场: strong_bear | ML概率: 0.76
2026-01-08 09:25:31,321 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.075200 | vs 5K高点: -0.53% | vs EMA5: +0.00% | 布林位置: -0.07 | RSI: 15.2 | MACD: down | 市场: strong_bear | ML概率: 0.95
2026-01-08 09:25:31,322 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.075400 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: -0.04 | RSI: 15.2 | MACD: down | 市场: strong_bear | ML概率: 0.91
2026-01-08 09:25:31,323 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.075200 | vs 5K高点: -0.53% | vs EMA5: +0.00% | 布林位置: -0.07 | RSI: 15.2 | MACD: down | 市场: strong_bear | ML概率: 0.92
2026-01-08 09:25:31,323 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.075100 | vs 5K高点: -0.66% | vs EMA5: +0.00% | 布林位置: -0.09 | RSI: 15.2 | MACD: down | 市场: strong_bear | ML概率: 0.93
2026-01-08 09:25:31,324 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.075500 | vs 5K高点: -0.13% | vs EMA5: +0.00% | 布林位置: 0.02 | RSI: 19.1 | MACD: down | 市场: strong_bear | ML概率: 0.00
2026-01-08 09:25:31,664 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.409000 | vs 5K高点: -0.17% | vs EMA5: +0.00% | 布林位置: -0.09 | RSI: 29.9 | MACD: down | 市场: strong_bear | ML概率: 0.88
2026-01-08 09:25:31,666 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.416000 | vs 5K高点: -0.29% | vs EMA5: +0.00% | 布林位置: -0.05 | RSI: 29.9 | MACD: down | 市场: strong_bear | ML概率: 0.84
2026-01-08 09:25:31,666 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.424000 | vs 5K高点: -0.15% | vs EMA5: +0.00% | 布林位置: -0.00 | RSI: 29.9 | MACD: down | 市场: strong_bear | ML概率: 0.82
2026-01-08 09:25:31,667 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.419000 | vs 5K高点: -0.24% | vs EMA5: +0.00% | 布林位置: -0.03 | RSI: 29.9 | MACD: down | 市场: strong_bear | ML概率: 0.85
2026-01-08 09:25:31,668 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.419000 | vs 5K高点: -0.24% | vs EMA5: +0.00% | 布林位置: -0.03 | RSI: 29.9 | MACD: down | 市场: strong_bear | ML概率: 0.87
2026-01-08 09:25:31,983 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.552200 | vs 5K高点: -0.32% | vs EMA5: +0.00% | 布林位置: -0.17 | RSI: 34.3 | MACD: down | 市场: strong_bear | ML概率: 0.62
2026-01-08 09:25:31,984 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.555100 | vs 5K高点: -0.13% | vs EMA5: +0.00% | 布林位置: -0.13 | RSI: 34.3 | MACD: down | 市场: strong_bear | ML概率: 0.62
2026-01-08 09:25:31,985 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.552000 | vs 5K高点: -0.33% | vs EMA5: +0.00% | 布林位置: -0.18 | RSI: 34.3 | MACD: down | 市场: strong_bear | ML概率: 0.72
2026-01-08 09:25:31,986 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.553300 | vs 5K高点: -0.70% | vs EMA5: +0.00% | 布林位置: -0.16 | RSI: 34.3 | MACD: down | 市场: strong_bear | ML概率: 0.62
2026-01-08 09:25:31,987 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.558600 | vs 5K高点: -0.36% | vs EMA5: +0.00% | 布林位置: -0.04 | RSI: 40.3 | MACD: down | 市场: strong_bear | ML概率: 0.00
2026-01-08 09:25:32,334 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000004 | vs 5K高点: -0.33% | vs EMA5: +0.00% | 布林位置: -0.01 | RSI: 28.3 | MACD: down | 市场: strong_bear | ML概率: 0.63
2026-01-08 09:25:32,335 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000004 | vs 5K高点: -0.29% | vs EMA5: +0.00% | 布林位置: 0.01 | RSI: 28.3 | MACD: down | 市场: strong_bear | ML概率: 0.59
2026-01-08 09:25:32,335 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000004 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: 0.04 | RSI: 28.3 | MACD: down | 市场: strong_bear | ML概率: 0.59
2026-01-08 09:25:32,336 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000004 | vs 5K高点: -0.29% | vs EMA5: +0.00% | 布林位置: 0.01 | RSI: 28.3 | MACD: down | 市场: strong_bear | ML概率: 0.64
2026-01-08 09:25:32,337 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000004 | vs 5K高点: -0.69% | vs EMA5: +0.00% | 布林位置: 0.01 | RSI: 28.3 | MACD: down | 市场: strong_bear | ML概率: 0.62
2026-01-08 09:25:32,692 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 20.310000 | vs 5K高点: -0.83% | vs EMA5: +0.00% | 布林位置: 0.02 | RSI: 36.6 | MACD: down | 市场: strong_bear | ML概率: 0.76
2026-01-08 09:25:32,696 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 20.310000 | vs 5K高点: -0.44% | vs EMA5: +0.00% | 布林位置: 0.02 | RSI: 36.6 | MACD: down | 市场: strong_bear | ML概率: 0.73
2026-01-08 09:25:32,699 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 20.330000 | vs 5K高点: -0.34% | vs EMA5: +0.00% | 布林位置: 0.05 | RSI: 36.6 | MACD: down | 市场: strong_bear | ML概率: 0.75
2026-01-08 09:25:32,700 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 20.300000 | vs 5K高点: -0.49% | vs EMA5: +0.00% | 布林位置: 0.01 | RSI: 36.6 | MACD: down | 市场: strong_bear | ML概率: 0.77
2026-01-08 09:25:32,701 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 20.280000 | vs 5K高点: -0.54% | vs EMA5: +0.00% | 布林位置: -0.01 | RSI: 36.6 | MACD: down | 市场: strong_bear | ML概率: 0.88
2026-01-08 09:25:33,072 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.583300 | vs 5K高点: -0.26% | vs EMA5: +0.00% | 布林位置: -0.10 | RSI: 35.5 | MACD: down | 市场: strong_bear | ML概率: 0.91
2026-01-08 09:25:33,074 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.584200 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: -0.06 | RSI: 35.5 | MACD: down | 市场: strong_bear | ML概率: 0.91
2026-01-08 09:25:33,074 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.583800 | vs 5K高点: -0.17% | vs EMA5: +0.00% | 布林位置: -0.08 | RSI: 35.5 | MACD: down | 市场: strong_bear | ML概率: 0.93
2026-01-08 09:25:33,075 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.583000 | vs 5K高点: -0.55% | vs EMA5: +0.00% | 布林位置: -0.11 | RSI: 35.5 | MACD: down | 市场: strong_bear | ML概率: 0.96
2026-01-08 09:25:33,077 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.583900 | vs 5K高点: -0.39% | vs EMA5: +0.00% | 布林位置: -0.04 | RSI: 37.7 | MACD: down | 市场: strong_bear | ML概率: 0.00
2026-01-08 09:25:33,400 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.315000 | vs 5K高点: -0.23% | vs EMA5: +0.00% | 布林位置: -0.01 | RSI: 24.0 | MACD: down | 市场: strong_bear | ML概率: 0.67
2026-01-08 09:25:33,401 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.324000 | vs 5K高点: -0.06% | vs EMA5: +0.00% | 布林位置: 0.03 | RSI: 24.0 | MACD: down | 市场: strong_bear | ML概率: 0.67
2026-01-08 09:25:33,402 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.315000 | vs 5K高点: -0.23% | vs EMA5: +0.00% | 布林位置: -0.01 | RSI: 24.0 | MACD: down | 市场: strong_bear | ML概率: 0.69
2026-01-08 09:25:33,403 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.310000 | vs 5K高点: -0.64% | vs EMA5: +0.00% | 布林位置: -0.04 | RSI: 24.0 | MACD: down | 市场: strong_bear | ML概率: 0.68
2026-01-08 09:25:33,404 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.324000 | vs 5K高点: -0.37% | vs EMA5: +0.00% | 布林位置: 0.05 | RSI: 31.2 | MACD: down | 市场: strong_bear | ML概率: 0.00
2026-01-08 09:25:33,697 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.588000 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: -0.03 | RSI: 26.6 | MACD: down | 市场: strong_bear | ML概率: 0.89
2026-01-08 09:25:33,698 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.588000 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: -0.03 | RSI: 26.6 | MACD: down | 市场: strong_bear | ML概率: 0.89
2026-01-08 09:25:33,699 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.587000 | vs 5K高点: -0.27% | vs EMA5: +0.00% | 布林位置: -0.06 | RSI: 26.6 | MACD: down | 市场: strong_bear | ML概率: 0.95
2026-01-08 09:25:33,699 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.587500 | vs 5K高点: -0.47% | vs EMA5: +0.00% | 布林位置: -0.05 | RSI: 26.6 | MACD: down | 市场: strong_bear | ML概率: 0.97
2026-01-08 09:25:33,700 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.588400 | vs 5K高点: -0.32% | vs EMA5: +0.00% | 布林位置: 0.02 | RSI: 26.3 | MACD: down | 市场: strong_bear | ML概率: 0.00

View File

@ -0,0 +1,209 @@
#!/usr/bin/env python3
"""
入场质量分析脚本
分析准入场信号是否存在"抄底抄在半山腰"的问题
针对中短线策略6小时持仓的特殊需求
"""
import re
import sys
from collections import defaultdict
def parse_entry_log(log_file):
"""解析入场诊断日志"""
entries = []
with open(log_file, 'r', encoding='utf-8', errors='ignore') as f:
for line in f:
if '[入场诊断]' not in line:
continue
entry = {}
# 提取币对
pair_match = re.search(r'\[入场诊断\]\s+(\S+)\s+\|', line)
if pair_match:
entry['pair'] = pair_match.group(1)
# 提取价格
price_match = re.search(r'价格:\s+([0-9.]+)', line)
if price_match:
entry['price'] = float(price_match.group(1))
# 提取 vs 5K高点
high_match = re.search(r'vs 5K高点:\s+([+-]?[0-9.]+)%', line)
if high_match:
entry['vs_5k_high'] = float(high_match.group(1))
# 提取布林位置
bb_match = re.search(r'布林位置:\s+([0-9.-]+)', line)
if bb_match:
entry['bb_position'] = float(bb_match.group(1))
# 提取 RSI
rsi_match = re.search(r'RSI:\s+([0-9.]+)', line)
if rsi_match:
entry['rsi'] = float(rsi_match.group(1))
# 提取 MACD
macd_match = re.search(r'MACD:\s+(\w+)', line)
if macd_match:
entry['macd'] = macd_match.group(1)
# 提取市场状态
market_match = re.search(r'市场:\s+(\w+)', line)
if market_match:
entry['market_state'] = market_match.group(1)
# 提取 ML概率
ml_match = re.search(r'ML概率:\s+([0-9.-]+)', line)
if ml_match:
entry['ml_prob'] = float(ml_match.group(1))
if entry:
entries.append(entry)
return entries
def analyze_half_mountain_bottom_fishing(entries):
"""
分析是否存在"抄底抄在半山腰"的问题
针对6小时中短线策略的特殊判断标准
"""
if not entries:
print("❌ 没有找到入场诊断数据")
return
total = len(entries)
# 对于6小时中短线策略的"半山腰"判断标准
# 1. 技术指标判断
dangerous_patterns = []
for e in entries:
danger_score = 0
reasons = []
# 危险信号1: 虽然跌破布林下轨但MACD处于下降趋势下跌未止住
if e.get('bb_position', 0) < 0 and e.get('macd') == 'down':
danger_score += 3
reasons.append("跌破布林下轨+MACD下跌下跌未止住")
# 危险信号2: RSI极度超卖<20通常意味着恐慌性杀跌短期难反弹
if e.get('rsi', 50) < 20:
danger_score += 2
reasons.append(f"RSI极度超卖({e.get('rsi'):.1f}<20恐慌杀跌)")
# 危险信号3: 市场处于强熊市
if e.get('market_state') == 'strong_bear':
danger_score += 2
reasons.append("强熊市环境")
# 危险信号4: 价格仍接近5K高点-0.3%以内),说明没有充分回调
if e.get('vs_5k_high', -1) > -0.3:
danger_score += 1
reasons.append(f"未充分回调(vs5K高点{e.get('vs_5k_high'):+.2f}%)")
# 危险信号5: ML置信度虽高但可能只是"技术性反弹"信号
# 在强熊市+下跌趋势中ML高置信度可能是误判
if e.get('ml_prob', 0) > 0.7 and e.get('market_state') == 'strong_bear' and e.get('macd') == 'down':
danger_score += 1
reasons.append("强熊市中ML高置信度可能误判技术性反弹")
if danger_score >= 5: # 累积5分以上认为是"半山腰抄底"
dangerous_patterns.append({
'entry': e,
'danger_score': danger_score,
'reasons': reasons
})
# 统计分析
half_mountain_count = len(dangerous_patterns)
half_mountain_rate = half_mountain_count * 100 / total if total > 0 else 0
# 市场环境统计
strong_bear_count = sum(1 for e in entries if e.get('market_state') == 'strong_bear')
macd_down_count = sum(1 for e in entries if e.get('macd') == 'down')
rsi_extreme_oversold = sum(1 for e in entries if e.get('rsi', 50) < 20)
bb_breakdown_count = sum(1 for e in entries if e.get('bb_position', 0) < 0)
print("=" * 80)
print(f"📊 中短线策略6小时持仓入场质量分析")
print("=" * 80)
print(f"\n总计候选入场: {total}\n")
print("【核心问题:抄底抄在半山腰】")
print(f" 高危入场(半山腰抄底): {half_mountain_count}/{total} ({half_mountain_rate:.1f}%)")
if half_mountain_rate > 50:
print(f" ⚠️ 警告超过50%的入场属于高危'半山腰抄底'")
elif half_mountain_rate > 30:
print(f" ⚠️ 警告:{half_mountain_rate:.1f}%的入场属于高危'半山腰抄底'")
else:
print(f" ✅ 半山腰抄底比例较低")
print("\n【市场环境分析】")
print(f" 强熊市入场: {strong_bear_count}/{total} ({strong_bear_count*100//total}%)")
print(f" MACD下降趋势: {macd_down_count}/{total} ({macd_down_count*100//total}%)")
print(f" RSI极度超卖(<20): {rsi_extreme_oversold}/{total} ({rsi_extreme_oversold*100//total}%)")
print(f" 跌破布林下轨: {bb_breakdown_count}/{total} ({bb_breakdown_count*100//total}%)")
if strong_bear_count == total and macd_down_count == total:
print("\n ⚠️ 致命问题100%的入场发生在强熊市+下跌趋势中")
print(" 这种环境下的抄底,极易出现'接飞刀'现象")
print(" 对于6小时中短线策略这种入场时机非常不利")
# 详细列出部分高危案例
if dangerous_patterns:
print("\n【高危入场案例前10个")
for i, dp in enumerate(dangerous_patterns[:10], 1):
e = dp['entry']
print(f"\n 案例{i}: {e.get('pair')} | 危险评分: {dp['danger_score']}")
print(f" 价格: {e.get('price'):.6f}")
print(f" 技术面: vs5K高点{e.get('vs_5k_high'):+.2f}%, 布林位置{e.get('bb_position'):.2f}, RSI{e.get('rsi'):.1f}")
print(f" 环境: {e.get('market_state')}, MACD:{e.get('macd')}, ML概率:{e.get('ml_prob'):.2f}")
print(f" 危险原因: {'; '.join(dp['reasons'])}")
print("\n" + "=" * 80)
print("💡 针对中短线策略的建议:")
print("=" * 80)
if half_mountain_rate > 30:
print("\n 🔴 当前策略存在严重问题:")
print(" 1. 强熊市+MACD下跌 = 下跌趋势未结束,不适合抄底")
print(" 2. RSI极度超卖(<20) = 恐慌性杀跌,短期难有效反弹")
print(" 3. 6小时持仓周期无法等待趋势反转容易止损出局")
print("\n ✅ 改进建议:")
print(" 【方案A】增加趋势确认条件")
print(" - 要求 MACD 必须上穿信号线macd='up'")
print(" - 或者 RSI 从极度超卖回升到 25 以上")
print(" - 或者布林位置从负值回到 0 以上")
print(" 【方案B】在强熊市中提高ML阈值")
print(" - 当前strong_bear入场阈值0.85可能仍不够")
print(" - 建议在MACD=down时额外提高阈值到0.90+")
print(" 【方案C】增加'冷静期'机制:")
print(" - 跌破布林下轨后等待1-2根K线1-2小时")
print(" - 确认价格企稳后再入场")
else:
print("\n ✅ 入场质量整体可控")
print(" 但仍需关注市场环境变化")
print("=" * 80)
if __name__ == '__main__':
if len(sys.argv) < 2:
print("用法: python analyze_entry_quality.py <ruchang.log路径>")
print("示例: python analyze_entry_quality.py outputs/ruchang.log")
sys.exit(1)
log_file = sys.argv[1]
try:
entries = parse_entry_log(log_file)
analyze_half_mountain_bottom_fishing(entries)
except FileNotFoundError:
print(f"❌ 错误:找不到文件 {log_file}")
sys.exit(1)
except Exception as e:
print(f"❌ 错误:{e}")
import traceback
traceback.print_exc()
sys.exit(1)

40
方案A实施说明.txt Normal file
View File

@ -0,0 +1,40 @@
==========================================
方案A强熊市趋势反转确认 - 实施说明
==========================================
【修改位置】
freqtrade/templates/freqaiprimer.py
populate_entry_trend() 方法第655行之后
【修改内容】
在原有入场条件基础上,针对强熊市环境增加了趋势反转确认机制。
【核心逻辑】
1. 识别强熊市环境
- 条件market_state == 'strong_bear'
2. 计算趋势反转信号(满足任意一条即可)
✅ MACD上穿信号线macd_1h > macd_signal_1h
✅ RSI从极度超卖回升rsi_1h >= 25
✅ 价格回到布林带内bb_position >= 0
3. 应用过滤规则
- 在强熊市中,只有出现趋势反转信号的入场才被允许
- 在非强熊市中,保持原有入场逻辑不变
【预期效果】
✅ 减少67.1%的"半山腰抄底"高危入场
✅ 避免在MACD下降+RSI极度超卖时盲目入场
✅ 等待价格企稳或趋势反转信号后再入场
✅ 更适合6小时中短线策略的时间窗口
【测试建议】
1. 运行回测验证新策略效果
2. 检查 ruchang.log 中的入场诊断数据
3. 对比修改前后的入场成功率和盈利表现
4. 关注强熊市中的入场数量变化
【回退方案】
如果效果不理想可以注释掉第655-676行的趋势反转确认代码即可恢复原逻辑。
==========================================