tradingSystem/docs/开发规格_买卖方向冲突修复_2026-10-19.md

49 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 买卖方向冲突修复开发规格
2026-10-19,北京时间。用户已授权修复并检查其他流程。
## 目标与已核实反例
科士达旧建仓目标600股,累计买入400股。今天09:51风控清仓400股,卖出200股。
旧建仓仍活跃,剩余200股可能隔日再买。实际子委托均已成交,页面却写已挂单。
原始卖出理由在audit_reason及component_scores.reason,PMS解析遗漏。
证据保存在155 ~/pms_logs/kstar-conflict-20261019-1402.json及kstar-signal-20261019.json。
## 实现与边界
1. 停止依据追加到动作账本,不依赖可被并发覆盖的进度JSON。下发回写不得复活终态指令。
全部完整清仓指令在执行前统一停买入侧。复用既有策略、提议、指令撤销路径。
覆盖信号自动清仓、命令清仓、人工采纳、技术面离场及跟踪止盈。
每跳重试未完成收尾,也覆盖上线前遗留的清仓指令。不修改已成交数量、成本或盈亏。
2. 同票有活跃EXIT或TRIM时,买入发出前再检查。查询失败停止买入。
普通减仓只暂缓买入,不永久撤销建仓或策略。做T自身T0_ROUND不当清仓。
完整清仓期间,做T买回也不能抵消清仓;没有清仓时原有配对流程不变。
3. 待确认卖出仅阻止新的自主增持提议,不自动撤销已有买单。
用户采纳买入前核对已生效的卖出指令,冲突时保留提议和说明,不写已采纳。
4. 出口队列先处理撤单,认领时排除待撤单。发送前重查买入冲突及父指令状态。
尚未发出且已失效的买单本地作废,已经发出的买单走撤单回执。
撤单受理不冒充成交撤回,迟到成交继续按已有逐笔路径记账。
5. 页面读取实际子委托状态。没有活跃子单时显示等待下一批、等待可卖或执行等待。
技术单号只在详情出现。卖出理由采用原文,不新调用模型。
## 预判与验证
先建立科士达跨日反例,再验证各入口共用的执行终检。
覆盖部分成交、T+1、普通减仓、T0配对、撤单失败重试、排队后清仓、查询失败、重复执行。
页面验证已发出且终态的子单不能显示为挂单,取数失败明确为状态待核实。
全部测试使用配置隔离与禁网入口。运行三页面守卫。
155部署前保存参数、账务、指令与镜像证据。只修模拟实例,188不动。
上线后先查自然调度清理旧建仓,保留真实400股买入与200股卖出。
不采纳提议、不制造成交,不改交易时段或业务阈值。
## 回退
保留成交与撤销审计。155挂载/app,须反向提交、git pull后重建四容器。
回退不恢复已经撤销的买入指令。撤销前保存旧镜像与证据。
## 本地验证记录
22项专项回归通过,覆盖五类清仓入口共用执行器、撤单失败与旧进度覆盖、T0不误挡、人工确认被拦时保持待确认。
45批配置隔离、禁止联网的回归通过,包含三页面守卫。生产状态另记部署判收。
原临时虚拟环境被系统清理,本轮另建 /private/tmp/pms-conflict-20261019-venv。