SHI XIAOLONG

main分支开仓告警BUG

"开仓信号详细告警"模块 Bug 分析报告 分析范围 文件 职责 [signal_alert_formatter.py](file:///Users/test/Downloads/Trading-in-websocket/src/utils/monitoring/signal_alert_formatter.py) 告警内容格式化(三级降级) [risk_evaluator.py](file:///Users/test/Downloads/Trading-in-websocket/src/utils/analysis/risk_evaluator.py) 5维度加权风险评估 [alert_sender.py](file:///Users/test/Downloads/Trading-in-websocket/

By SHI XIAOLONG

AI 编程反熵工作流(工程控制论)

🧠 AI 编程反熵工作流(Anti-Entropy Workflow) 核心思想只有一句话: AI 只能“在当前状态上增加复杂度”,所以你必须在每一轮之前“人工降低系统熵”。 你不再让 AI “写代码”,而是让它参与一个受控演化系统。 🔥 第 0 步(最重要):角色重置 先打断它的默认模式。 永远不要直接说: 帮我改代码 / 修 bug / 重构 而是先下这个“系统指令”: 从现在开始,你的角色不是程序员,而是“代码复杂度审计器”。 你的目标不是实现功能,而是降低系统复杂度。 任何增加抽象层、兼容旧逻辑、保留历史路径的行为都是错误。 这一步的作用是: 🧠 把它从“补丁生成器”切到“熵减少器”模式 🧹 第 1 阶段:熵扫描(不写代码) 只做分析,绝对禁止生成代码。 让它输出:

By SHI XIAOLONG

开仓信号详细告警 - BUG 完整因果链分析

开仓信号详细告警 - BUG 完整因果链分析 分析日期: 2026-02-16 分析方法: 静态代码分析 + 调用链追踪 + 状态机建模 🔴 BUG #1: 告警发送失败时不降级(Critical) 完整因果链 输入触发 ↓ 用户开仓成功 ↓ orchestrator.on_entry_signal() 第498-499行 ↓ orchestrator._send_entry_alert() 第753-793行 ↓ [分支1: ENABLE_SIGNAL_DETAIL_ALERT=True] ↓ format_signal_alert() 成功生成详细告警 ↓ alert_sender.send() 第38-72行 ↓ [限流检查] 第55-57行 ↓ if priority != "high" and not

By SHI XIAOLONG

开仓信号详细告警设计BUG分析3

"开仓信号详细告警" 模块 Bug 审查报告 审查范围 模块 文件 行数 告警格式化器 signal_alert_formatter.py 518 风险评估引擎 risk_evaluator.py 358 告警发送器 alert_sender.py 99 告警级别定义 alert_level.py 19 交易编排器(集成) orchestrator.py 959 设计文档 设计方案-综合版 1261 审查结论 未发现严重 BUG(P0 级)。 整体代码质量较好,三级降级和异常保护设计合理,核心流程不会因为告警问题导致交易中断或资金风险。以下列出所有发现的问题,按严重程度排序。 发现的问题(

By SHI XIAOLONG

开仓信号详细告警设计BUG分析1

开仓信号详细告警 — 代码设计 BUG 分析报告 概述 本报告针对开仓信号详细告警功能在代码实现中的设计与逻辑 BUG 进行分析,不涉及文档表述问题。 结论:存在 2 处严重 BUG(会导致运行错误或错误展示)和 2 处中等级别设计缺陷。 结论概览 严重程度 数量 说明 严重 BUG 2 截断时可能 IndexError;区块索引与 builder 错位导致截断内容错误 中等问题 2 相关性区块在 details 为字符串 key 时恒为「无数据」;去重使用 hash 不稳定 一、严重 BUG 1. 超长截断时依赖固定长度 sections,builder 返回空时导致错位或越界 位置:

By SHI XIAOLONG

开仓信号详细告警设计BUG分析2

开仓信号详细告警设计BUG分析报告 分析日期: 2026-02-16 分析范围: 开仓信号详细告警功能模块 代码版本: daf7ec2 (open alert lark content fat 2) 📋 执行摘要 经过代码审查,发现"开仓信号详细告警"功能模块存在 4个严重BUG,其中 BUG #1(告警丢失) 为 Critical级别,会导致用户在开仓后收不到任何通知,必须立即修复。 关键发现 BUG编号 问题描述 严重程度 影响范围 #1 告警发送失败时不降级 🔴 Critical 所有开仓信号 #2 限流配置过于严格 🟠 High 高频交易场景 #3 去重逻辑存在缺陷 🟡 Medium 边缘情况 #4 异步队列满时静默丢弃 🟠 High 极端高频场景

By SHI XIAOLONG

API 网络异常重试设计方案

API 网络异常重试设计方案(综合优化版) 1. 背景与问题 1.1 核心问题 运行过程中,与 Hyperliquid API 的交互会因网络波动或限流出现以下异常,目前未被重试,导致一次性的临时故障被当作最终失败处理: 现象 典型异常 当前行为 影响 获取账户状态失败 Read timed out (read timeout=10) 打 ERROR 后返回 {},无重试 仓位同步失败,交易决策错误 获取 Spot 余额失败 NameResolutionError / DNS 错误 打 ERROR 后返回 (0.0, 0.0),无重试 余额显示为 0,误判资金状态 API

By SHI XIAOLONG

开仓信号详细告警设计方案

开仓信号详细告警功能设计方案 - 综合版 概述 在开仓信号产生并成功执行时,发送多周期配对交易信号详细告警到飞书,包含信号概览、多周期 Z-score 验证、相关性分析、协整检验统计、协整健康监控、窗口对比、智能风险评估和交易建议。 本方案综合 v2 和 v3 的优点: * ✅ 简洁架构 - 清晰的流程设计和职责分明(v2) * ✅ 科学评估 - 5维度加权风险评分体系(v3) * ✅ 智能降级 - 三级告警降级 + 异常保护(v2+v3) * ✅ 生产就绪 - 限流去重、监控指标、测试覆盖(v3) * ✅ 性能优化 - 异步发送、防御性设计、轻量计算(v2+v3) 1. 现状与缺口 1.

By SHI XIAOLONG

孤儿仓位管理重构实施计划

孤儿仓位管理重构实施计划 Context(背景) 问题诊断 当前系统存在孤儿仓位判定逻辑缺陷: 现有流程:交易所有 + 内存无 → 直接判定为孤儿 → 创建新 PairPosition 核心问题: * ❌ 跳过数据库查询验证步骤 * ❌ "数据库有记录但内存未加载"的正常仓位被误判为孤儿 * ❌ 导致重复创建 position_id、丢失 entry_adaptive_z 等关键字段 * ❌ 均值回归退出策略失效 触发场景: * 内存被异常清理(OOM 后部分恢复) * recover_positions_from_db 未完整执行(DB 连接中断) * sync_with_exchange 先于恢复流程运行(线程竞争) 修复目标 实施综合设计文档 docs/DESIGN_ORPHAN_POSITION_FINAL.md

By SHI XIAOLONG

孤儿仓位设计方案2

孤儿仓位收纳逻辑改进 - 设计方案 一、问题诊断 1.1 当前缺陷 当前流程: 交易所有 + 内存无 → 直接判定为孤儿 → 收纳(entry_adaptive_z=0) 核心问题: * ❌ 跳过数据库查询验证步骤 * ❌ "数据库有记录但内存未加载"的正常仓位被误判为孤儿 * ❌ 导致 entry_adaptive_z、entry_zscore_4h 等关键字段丢失 * ❌ 均值回归退出策略失效 1.2 边缘情况分析 场景 详述 后果 持久化延迟 开仓成功 → 加入内存 → 异步 save_position() 尚未完成 → recover 时 DB 无记录 被误判为孤儿

By SHI XIAOLONG

孤儿仓位设计方案1

孤儿仓位收纳优化:内存缺失时先查数据库 一、目标与背景 目标:将「孤儿仓位」定义为仅在交易所存在、且内存与数据库都不存在的仓位;当「内存无」时先查 DB,有则从 DB 恢复进内存,无再按现逻辑新建收纳。 背景:当前 _detect_and_adopt_orphans 只判断「交易所有且内存无」,未区分「DB 有 / DB 无」,可能导致同一交易所仓位被重复建仓、丢失 DB 中的 entry_z/时间等。 二、现状流程(简要) * 入口:recover_positions_from_db()、sync_with_exchange() 内调用 _detect_

By SHI XIAOLONG