Skip to content

交易 API 概览 ​

交易接口提供订单管理、账户持仓查询、成交记录查询等功能,覆盖港股、美股、A 股(沪港通/深港通)、新加坡、日本、韩国、加拿大、马来西亚、澳大利亚、期货、外汇、预测市场(事件合约)等市场。

接口分类 ​

  • 账户持仓 — 授权交易账户、获取账户资金、持仓列表。
  • 交易 — 下单、改单、撤单、二次确认、最大买卖数量。支持限价/市价、止损/触及、跟踪止损、TWAP/VWAP/POV/Slicer/PEG/Iceberg 等算法单类型。
  • 订单 — 获取未完成订单、历史订单、订单详情。
  • 成交 — 获取当日成交、历史成交。
  • 资金流水 — 按时间范围、方向、标的分页查询资金流水。
  • 组合可交易 — 查询组合期权等标的的可交易信息。
  • 订单费用 — 查询订单佣金、税费等明细。
  • 融资融券 — 查询保证金比率和借贷信息。
  • 交易推送 — WebSocket 实时推送:鉴权、订阅、心跳、数据格式、错误码。

账户标识 ​

其他交易接口路径里的 acc_id 取自 获取授权交易账户 返回的 account_id,传入时写成十进制字符串。

进行我的第一笔交易 ​

下单、改单、撤单需在 OAuth 授权时勾选 trade:write(权限说明见 快速开始 · 权限范围)。请求证券交易接口进行交易,属于真实交易行为,建议首次使用小数量验证,并按下面顺序完成一笔完整交易:

  1. 选账户:调用 获取授权交易账户,把返回的 account_id 作为后续路径里的 acc_id。多账户时如何选择,见该页说明。
  2. 确认资金与持仓(可选):可用 获取账户资金、获取持仓 查看购买力和可卖数量;需要估算数量时再调 查询最大买卖数量。
  3. 下单:调用 下单。成功时取响应中的 order_id 参数。若返回需要确认或网页跳转,按 二次确认 处理后再继续。
  4. 查看结果:用 获取未完成订单 核对订单状态。需要实时通知时,再接入 交易推送。
  5. 改单或撤单(如需):按 改单、撤单 传入订单返回的 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 查询结果为准。重连后先查一次未完成订单或近期成交,再继续接收推送。

参考 ​