交易 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 查詢結果為準。重連後先查一次未完成訂單或近期成交,再繼續接收推送。