交易 API 概览
交易接口提供订单管理、账户持仓查询、成交记录查询等功能,覆盖港股、美股、A 股(沪港通/深港通)、新加坡、日本、韩国、加拿大、马来西亚、澳大利亚、期货、外汇、预测市场(事件合约)等市场。
接口分类
- 账户持仓 — 授权交易账户、获取账户资金、持仓列表。
- 交易 — 下单、改单、撤单、二次确认、最大买卖数量。支持限价/市价、止损/触及、跟踪止损、TWAP/VWAP/POV/Slicer/PEG/Iceberg 等算法单类型。
- 订单 — 获取未完成订单、历史订单、订单详情。
- 成交 — 获取当日成交、历史成交。
- 资金流水 — 按时间范围、方向、标的分页查询资金流水。
- 组合可交易 — 查询组合期权等标的的可交易信息。
- 订单费用 — 查询订单佣金、税费等明细。
- 融资融券 — 查询保证金比率和借贷信息。
- 交易推送 — WebSocket 实时推送:鉴权、订阅、心跳、数据格式、错误码。
账户标识
其他交易接口路径里的 acc_id 取自 获取授权交易账户 返回的 account_id,传入时写成十进制字符串。
进行我的第一笔交易
下单、改单、撤单需在 OAuth 授权时勾选 trade:write(权限说明见 快速开始 · 权限范围)。请求证券交易接口进行交易,属于真实交易行为,建议首次使用小数量验证,并按下面顺序完成一笔完整交易:
- 选账户:调用 获取授权交易账户,把返回的
account_id作为后续路径里的acc_id。多账户时如何选择,见该页说明。 - 确认资金与持仓(可选):可用 获取账户资金、获取持仓 查看购买力和可卖数量;需要估算数量时再调 查询最大买卖数量。
- 下单:调用 下单。成功时取响应中的
order_id参数。若返回需要确认或网页跳转,按 二次确认 处理后再继续。 - 查看结果:用 获取未完成订单 核对订单状态。需要实时通知时,再接入 交易推送。
- 改单或撤单(如需):按 改单、撤单 传入订单返回的
exchange,不要从标的代码自行推断。
组合期权、融资融券、成交与费用等,见上方接口分类。
最小成功示例
先取账户,再下一笔美股限价单,最后查未完成订单(把 {acc_id} 换成上一步返回的 account_id):
bash
# 1. 获取授权交易账户
curl -X GET 'https://webapi.moomoo.com/api/v1.0/accounts/authorized_trd_accs' \
-H 'Authorization: Bearer <AccessToken>' | jq
# 2. 限价买入(示例:1 股 US.AAPL,请按您的权限与资金调整)
curl -X POST 'https://webapi.moomoo.com/api/v1.0/accounts/{acc_id}/orders' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>' \
-d '{
"code": "US.AAPL",
"qty": "1",
"price": "150.00",
"side": "BUY",
"order_type": "LIMIT",
"time_in_force": "DAY"
}' | jq
# 3. 查询未完成订单
curl -X GET 'https://webapi.moomoo.com/api/v1.0/accounts/{acc_id}/orders?trd_market=US' \
-H 'Authorization: Bearer <AccessToken>' | jq若第 2 步返回 need_order_confirm 或 jump_url,先按 二次确认 处理,再执行第 3 步。
交易推送与 REST
| 方式 | 适合做什么 | 注意 |
|---|---|---|
| 交易推送 | 实时感知下单、改撤、成交等状态变化 | 断线期间事件不补发;到达顺序不保证严格一致 |
| REST 查单 / 查成交 | 核对当前订单与成交、补齐断线期间的数据 | 用 未完成订单、历史订单、当日成交 等 |
建议:在线时用推送驱动界面或策略反应;需要确认最终状态时,以 REST 查询结果为准。重连后先查一次未完成订单或近期成交,再继续接收推送。