Files
big-qmt/docs/README.md
2026-09-07 21:01:36 +08:00

44 lines
2.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.
# QMT REST API 文档
当前实现:[`api/qmt_rest_new.py`](../api/qmt_rest_new.py)。完整接口、请求参数、返回字段及错误行为见 [API 参考](api.md)。更新日期2026-09-07。
## 运行方式
文件运行在 QMT Python 策略宿主中,由宿主调用 `init(ContextInfo)` 并提供交易和查询内置函数,不能作为普通独立 HTTP 脚本启动。
启动流程:
1. 检查账户和数据目录配置非空,调用 `ContextInfo.set_account()`
2.`PASS_CODES_URL` 获取股票池,响应的 `data` 必须是数组。
3. 合并远端股票代码与账户当前持仓,去重后设置 `ContextInfo.set_universe()`
4. 启动 Tornado监听 `0.0.0.0:10086`
远端请求超时为 10 秒,股票池请求、解析或持仓查询失败会阻止服务启动。当前不读取本地 `pass_codes.json`
## 配置与依赖
| 配置 | 来源 | 默认 / 行为 |
| --- | --- | --- |
| `ACCOUNT_ID` | 环境变量 `QMT_ACCOUNT_ID` | 默认空,必须配置 |
| `DATA_DIR` | 环境变量 `QMT_DATA_DIR` | 默认 `D:\qmt_strategy_data`;当前只检查非空并记录日志,不读写目录 |
| `TOKEN` | 源码常量 | 请求头 `X-Token` 必须与其一致 |
| `PORT` | 源码常量 | `10086` |
| `PASS_CODES_URL` | 源码常量 | 远端股票池地址,见实现文件 |
源码编码为 UTF-8依赖 `tornado`。启动时设置 `locale.LC_CTYPE``chinese`,需要环境支持该 locale。
## 接入
在 QMT 中配置账户环境变量并加载策略,启动后可用 PowerShell 查询:
```powershell
$apiHeaders = @{ 'X-Token' = '<服务端 TOKEN>' }
Invoke-RestMethod -Uri 'http://127.0.0.1:10086/api/context/info' -Headers $apiHeaders
```
当前没有 `/api/v2` 前缀,也没有 HTTP 关停路由。服务运行在策略进程中。
资产、持仓、委托、成交使用小写下划线字段;行情和原始查询保留 QMT 字段;下单请求仍用驼峰字段。
鉴权失败目前返回 HTTP 500接口错误正文通常是文本撤单失败可能返回 HTTP 200 并标记 `status=failed`。详见 [API 参考](api.md)。