Repository navigation
miniQMT v3.9.6(2026-10-31)
本版本完善部分成交与撤单重挂闭环,统一实盘限价委托和可卖数量校验,补齐 Web 持仓提示与长期运行数据的保留机制。
Added
- 新增运行产物清理入口
scripts/cleanup_runtime_artifacts.py:默认预览完整路径、规则与容量,支持先做一致性备份、再执行清理并输出前后业务表摘要。 - 新增运行事件按月归档、模拟成交和失败/模拟买入尝试的保留策略;成功实盘买入历史继续用于永久防重。
- 新增可卖数量与受限原因回归、限价委托回归、运行产物保留与归档安全回归,并纳入完整集成测试。
Fixed
- 部分成交不再提前结束委托跟踪;按成交编号去重,撤单后仅对剩余数量重挂,首次止盈状态等待完整成交确认。
- 网格按委托聚合落账时保留真实分笔的成交时间、成交编号和分笔数;重复回报不重复记账。
- 撤单回调与网格重挂不再在持锁路径等待异步下单回报,避免互相阻塞。
- 实盘下单使用限价委托,显式报价按当日涨跌停范围校验;废单重挂遵守次数上限,网格撤单重挂计数不再随新委托丢失。
- 各交易通道统一按真实可卖数量校验;可卖量缺失、失效或查询失败时暂停自动卖出,不使用总持仓替代。受限持仓处于止损区间时暂停自动补仓。
- 持续受限、重复信号与非交易时段状态日志降噪;净值快照增加复查与质量标记,避免估值时点偏斜被直接当作已核实结果。
- 回归备份改用 SQLite 一致性备份,包含已提交 WAL 数据;校验成功后才淘汰超限旧备份,备份失败时停止后续测试环境清理。
- Windows 下重复导入回归运行器时调整现有输出流编码,避免重复包装底层句柄导致完整回归在汇总阶段中断。
Changed
- 回归备份每个源库保留最新 10 份;确认结束的完整测试产物最多保留 5 次且不超过 30 天,报告和必要复现证据保留 180 天。运行中的任务、完成状态不明的目录和原始源码包受到保护。
- 运行事件在线保留 365 天、按事件月份归档保留 1095 天;模拟成交及失败/模拟买入尝试保留 90 天。持仓快照、净值快照及活跃网格账本沿用各自规则。
- web1.0 使用随项目提供的 Tailwind CSS,无需运行时访问 CDN;修改页面类名后在开发机重新构建样式,Flask 自动为样式和脚本添加缓存版本参数。
- web1.0 / web2.0 的“可用”列通过悬浮提示说明不可卖数量及受限原因,不额外占用持仓表列。
Documentation
- 更新项目总览、快速入门、架构、配置与数据库维护说明,以及 Web 前端、Web API、自动买入和测试文档;补充版本重建、部分成交展示、受限状态和清理入口的使用边界。
Tests
- 2026-10-31 使用 Anaconda
python39,在隔离源码副本执行--all-with-fast:38 组、172 次模块执行、3867 次用例执行,3867 通过、0 失败、0 错误、0 跳过,成功率 100%,耗时 1177.21 秒。fast 与专项组包含重复覆盖,次数不代表互不重复的测试数。