feat client.
This commit is contained in:
29
docs/todo.md
29
docs/todo.md
@@ -1,5 +1,34 @@
|
||||
|
||||
|
||||
### 4.1 发出撤单请求后立即丢弃订单和方向锁,未确认撤单成功
|
||||
|
||||
位置:
|
||||
|
||||
- `py-client/strategy/trend/order.py:63-72`
|
||||
- `py-client/strategy/trend/order.py:85-88`
|
||||
- `py-client/sdk/trade.py:75`
|
||||
- `api/qmt_api_new.py:1001-1021`
|
||||
|
||||
`OrderBook.refresh()` 对过期订单调用 `cancel_by_id()` 后立即 `continue`,因此该订单不会进入新 `data` 和 `lock`。服务端对于“不可撤”或撤单返回 `False` 的情况仍返回 HTTP 200,只在 JSON 中给出 `status=failed`;客户端既不解析该业务状态,订单簿也不复查券商状态。
|
||||
|
||||
影响:原订单可能仍可成交,但本地方向锁已经释放;同一股票、同一方向可以再次下单,形成重复仓位或超额卖出风险。撤单已受理但尚未确认时也存在相同窗口。
|
||||
|
||||
建议:撤单请求后保留订单和锁,直到下一次券商快照确认订单进入终态;客户端应将 `status=failed` 转成明确业务失败。为“不可撤”“撤单返回失败”“撤单请求异常”“撤单已受理但状态未更新”分别增加测试。
|
||||
|
||||
### 4.2 API 认证令牌硬编码、提交到仓库并写入日志
|
||||
|
||||
位置:
|
||||
|
||||
- `api/qmt_api_new.py:14,50,1526,1529`
|
||||
- `api/qmt_api_rele.py:14,50,1548,1551`
|
||||
- `py-client/etc/_global.yaml:2`
|
||||
|
||||
两份服务端文件包含相同的固定令牌,客户端配置也把该令牌提交到版本库。服务监听 `0.0.0.0`,启动时还会把完整令牌写入日志。
|
||||
|
||||
影响:任何能读取仓库或日志的人都可获得交易 API 凭据;在端口可达的网络范围内,可调用下单、撤单和关闭服务等接口。令牌已进入版本历史时,仅删除当前文本并不能完成处置。
|
||||
|
||||
建议:立即轮换现有令牌;从环境变量或受控密钥存储读取;配置库只保留占位符;停止记录令牌;默认绑定回环地址,确需远程访问时增加网络访问控制和 TLS。检查 Git 历史及已分发日志中的泄露范围。
|
||||
|
||||
### 4.2 IPO 没有校验真实交易日,只判断周一至周五和盘中时间
|
||||
|
||||
位置:
|
||||
|
||||
Reference in New Issue
Block a user