5.6 KiB
5.6 KiB
交易日志说明文档
📋 日志优化内容
已优化开仓操作的日志输出,现在包含详细的计算依据和参数信息。
🔍 实时控制台日志示例
1. K线搜索日志
开始搜索上一根有效K线(实体涨幅阈值: 0.1%)
检查K线 id=1707825600: 实体涨幅=0.085%
检查K线 id=1707825300: 实体涨幅=0.156%
✓ 找到上一根有效K线: id=1707825300, 实体涨幅=0.156%
2. 信号检测详细日志
================================================================================
【信号检测】当前价格: 3245.67
【参考K线】上一根K线 ID: 1707825300
├─ 开盘价: 3240.00
├─ 收盘价: 3245.05
├─ 实体大小: 5.0500 (0.156%)
└─ 实体/3: 1.6833
【当前K线】ID: 1707825900, 开盘价: 3244.50
【触发价格】
├─ 做多触发价 = 3244.50 + 1.6833 = 3246.18
└─ 做空触发价 = 3244.50 - 1.6833 = 3242.82
================================================================================
3. 触发信号日志
开多信号
✅ 触发做多信号!
当前价格 3247.50 >= 做多触发价 3246.18
超出触发价: 1.3200 (0.041%)
开空信号
✅ 触发做空信号!
当前价格 3242.00 <= 做空触发价 3242.82
低于触发价: 0.8200 (0.025%)
反手信号
⚠️ 持多反手做空信号!
当前价格 3241.50 <= 做空触发价 3242.82
低于触发价: 1.3200 (0.041%)
📝 策略日志文件示例
日志文件位置: bitmart/strategy_log_YYYYMMDD.txt
开多日志示例
================================================================================
时间: 2024-02-13 14:35:22
操作: 开多
参考K线:
当前K线: id=1707825900 open=3244.50 high=3248.20 low=3243.10 close=3246.80
上一根K线: id=1707825300 open=3240.00 high=3245.50 low=3239.20 close=3245.05
实体大小=5.0500 (0.156%) 实体/3=1.6833
计算参数:
├─ 实体涨幅阈值: 0.1%
├─ 当前K线开盘价: 3244.50
├─ 上一根实体大小: 5.0500
├─ 上一根实体/3: 1.6833
├─ 做多触发价: 3244.50 + 1.6833 = 3246.18
└─ 做空触发价: 3244.50 - 1.6833 = 3242.82
开仓原因: 三分之一策略开多:当前价3247.50 >= 触发价3246.18
计算: 触发价 = 当前开盘3244.50 + 实体/3(1.6833) = 3246.18
超出触发价: 1.3200 (0.041%)
================================================================================
反手做空日志示例
================================================================================
时间: 2024-02-13 14:38:45
操作: 反手做空
参考K线:
当前K线: id=1707826200 open=3248.00 high=3250.30 low=3241.50 close=3242.10
上一根K线: id=1707825600 open=3246.00 high=3250.80 low=3245.20 close=3250.50
实体大小=4.5000 (0.139%) 实体/3=1.5000
计算参数:
├─ 实体涨幅阈值: 0.1%
├─ 当前K线开盘价: 3248.00
├─ 上一根实体大小: 4.5000
├─ 上一根实体/3: 1.5000
├─ 做多触发价: 3248.00 + 1.5000 = 3249.50
└─ 做空触发价: 3248.00 - 1.5000 = 3246.50
开仓原因: 持多反手做空:当前价3245.80 <= 触发价3246.50
计算: 触发价 = 当前开盘3248.00 - 实体/3(1.5000) = 3246.50
低于触发价: 0.7000 (0.021%)
================================================================================
📊 日志包含的关键信息
1. K线选择信息
- ✅ 搜索过程(显示每根K线的实体涨幅)
- ✅ 选中的K线ID和实体涨幅百分比
- ✅ 实体涨幅阈值(默认0.1%)
2. 计算参数
- ✅ 当前K线开盘价
- ✅ 上一根K线的开盘价、收盘价、最高价、最低价
- ✅ 上一根K线实体大小(绝对值和百分比)
- ✅ 实体/3的具体数值
3. 触发价格
- ✅ 做多触发价的完整计算公式
- ✅ 做空触发价的完整计算公式
- ✅ 当前价格与触发价的差值(绝对值和百分比)
4. 开仓原因
- ✅ 策略类型(开多/开空/反手做多/反手做空)
- ✅ 当前价格
- ✅ 触发价格
- ✅ 价格差异(超出或低于触发价的幅度)
🎯 日志级别说明
| 级别 | 用途 | 示例 |
|---|---|---|
DEBUG |
K线搜索过程 | 检查每根K线的实体涨幅 |
INFO |
一般信息 | 找到有效K线、信号检测参数 |
SUCCESS |
成功操作 | 触发信号、交易执行成功 |
WARNING |
警告信息 | 反手信号、未找到有效K线 |
ERROR |
错误信息 | 交易失败、验证失败 |
💡 使用建议
- 实时监控: 关注控制台输出的信号检测日志,了解当前市场状态
- 策略分析: 查看日志文件中的详细计算参数,分析开仓时机
- 参数优化: 根据日志中的实体涨幅数据,调整
min_prev_entity_pct阈值 - 回测验证: 使用日志文件中的完整信息进行策略回测和优化
🔧 可调整参数
在代码第70行可以调整实体涨幅阈值:
self.min_prev_entity_pct = 0.1 # 上一根K线实体涨幅(%)
建议范围: 0.05% - 0.3%
- 较小值:更容易找到参考K线,但可能包含噪音
- 较大值:参考K线更有效,但可能长时间找不到
📈 日志优化效果
| 优化项 | 优化前 | 优化后 |
|---|---|---|
| 计算依据 | ❌ 无 | ✅ 完整显示 |
| 参数信息 | ❌ 无 | ✅ 详细列出 |
| K线选择过程 | ❌ 无 | ✅ 实时显示 |
| 价格差异 | ❌ 无 | ✅ 绝对值+百分比 |
| 日志可读性 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
现在您可以清楚地看到每次开仓的完整计算过程和依据!🎉