fix bug
This commit is contained in:
@@ -16,29 +16,6 @@
|
||||
|
||||
## 二、P0:可能造成重复下单或资金失控
|
||||
|
||||
### 2.1 每次启动都会无条件执行新股申购
|
||||
|
||||
整改状态:已于 2026-08-29 按本节方案完成,新增 4 项专项测试。
|
||||
|
||||
位置:
|
||||
|
||||
- `py-client/main.py:127-130`
|
||||
- `py-client/strategy/ipo/boot.py:4-22`
|
||||
|
||||
现状:`main()` 在启动趋势策略前固定调用 `AutoBuyIpo()`。该流程没有配置开关、交易日期校验、执行记录或订单对账,会对接口返回的每只新股直接按最大额度申购。程序同日重启时会再次提交;申购接口异常还会阻止趋势策略启动。函数创建的 HTTP Client 也没有关闭。
|
||||
|
||||
影响:同日重启可能重复申报;IPO 服务短暂失败可能导致主策略完全无法启动。
|
||||
|
||||
解决方案:
|
||||
|
||||
1. 增加明确的 `enable_auto_ipo` 配置,默认关闭。
|
||||
2. 以 `账户 + 交易日 + 证券代码` 建立本地幂等记录。
|
||||
3. 提交前查询当日委托或成交,已有申购记录时跳过。
|
||||
4. 仅在交易日和申购允许时段执行。
|
||||
5. 单只申购失败不能中止其他标的,也不能阻止趋势策略启动。
|
||||
6. 使用上下文管理器或 `finally` 关闭 Client。
|
||||
|
||||
验收标准:同一账户同一交易日无论重启多少次,每只证券最多提交一次;IPO 接口失败时趋势策略仍可启动。
|
||||
|
||||
### 2.2 重启对账会删除尚未形成持仓的待成交开仓状态
|
||||
|
||||
|
||||
Reference in New Issue
Block a user