CtrlK
BlogDocsLog inGet started
Tessl Logo

root-cause-tracing

量化交易系统异常根因追踪。当交易系统出现策略切换失败、风控拦截、订单执行异常、仓位计算错误等深层问题时,使用此 Skill 进行系统性根因分析。

90

1.11x
Quality

92%

Does it follow best practices?

Impact

77%

1.11x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

量化交易系统根因追踪

当系统异常发生在执行深层且难以直接定位时使用。

适用场景

  • 策略切换(ORB ↔ Grid)失败或延迟
  • 风控拦截了看似正常的交易信号
  • 仓位计算结果与预期不符
  • 订单执行异常(滑点过大、未成交、重复下单)
  • 汇率服务返回异常数据
  • 数据库连接或写入异常

追踪方法论

Step 1: 症状收集

收集以下信息:
1. 错误发生时间 (精确到秒)
2. 错误描述 (日志原文)
3. 受影响的品种/账户
4. 当时的市场状态 (价格、波动率)
5. 最近一次正常执行的时间

Step 2: 影响范围界定

确定:
- 这是偶发还是必现?
- 影响单一品种还是多品种?
- 是否与特定时间段/市场状态相关?
- 其他系统组件是否正常?

Step 3: 假设生成与验证

对量化交易系统,优先检查以下常见根因:

排查层级检查点诊断命令/方法
数据层行情连接是否正常检查 MT5 连接状态和心跳
数据层汇率缓存是否过期检查 ExchangeRateService 缓存 TTL
计算层Decimal 精度异常打印中间计算步骤的 Decimal 值
计算层保证金计算溢出检查极端价格/杠杆组合
风控层回撤熔断误触发验证 current_drawdown_percent 来源
风控层风控参数配置错误比对 config 与实际生效值
执行层MT5 订单被拒检查 MT5 return code 和错误码
执行层网络超时/重试检查网络延迟和重试日志
日志层策略切换记录查看 strategy_logs 表的切换轨迹
数据库层连接池耗尽检查 PostgreSQL 活跃连接数

Step 4: 修复与验证

1. 先在测试环境复现问题
2. 定位并修复根因代码
3. 编写回归测试
4. 验证修复在生产环境的效果
5. 监控 24h 确认无复发

日志分析指南

关键日志文件

文件内容
windows_bot.log交易机器人主日志
auto_sync_engine.log同步引擎日志
sync_service.log同步服务日志
策略切换日志src/trading_bot/ 内部日志

日志搜索模式

# 搜索错误和异常
grep -i "ERROR\|EXCEPTION\|FAILED\|BLOCKED" windows_bot.log | tail -50

# 搜索风控拦截事件
grep "MAX DRAWDOWN\|Margin Constraint\|BLOCKED" windows_bot.log

# 搜索策略切换
grep "strategy.*switch\|ORB.*Grid\|Grid.*ORB" windows_bot.log

常见根因速查表

症状最可能根因快速修复
仓位为 0 但行情正常回撤熔断触发检查 max_allowed_drawdown_percent
仓位远小于预期保证金不足降仓检查 leverage 和资金量
汇率计算错误Yahoo Finance API 异常使用 manual_exchange_rate
SL 价格无效SL = Entry 验证失败检查信号生成逻辑
策略不切换冷却期未过检查冷却期配置
下单失败MT5 连接断开重启 MT5 终端

引用

  • 原始来源: obra/superpowers/root-cause-tracing
  • 相关文档: src/docs/strategy_rules.md 第9章 (系统日志与监控)
Repository
Lingjie-chen/MT5
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.