创建订单
创建合约开仓或平仓订单,支持市价和限价。
接口信息
- 方法:
POST - 路径:
/api/v1/futures/open-api/order/create
保证金模式
创建订单不接受 marginMode 参数。服务端按该交易对账户当前配置执行,取值:1=全仓,2=逐仓。
- 查询当前模式:账户合约配置 —
GET /account/config?symbol=...→data.marginMode - 切换模式:修改保证金模式 —
POST /account/margin-mode(或通过 修改杠杆 一并设置)
逐仓下单工作流:
1. GET /account/config?symbol=BTCUSDT → 确认当前 marginMode
2. POST /account/margin-mode { symbol, marginMode: 2 } → 如需切换
3. POST /order/create { ... } → 无需传 marginMode
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| symbol | string | 是 | 合约交易对,如 BTCUSDT |
| coType | int | 是 | 合约类型:1=美股,2=港股,3=数字货币 |
| orderType | int | 是 | 订单类型:1=限价单,2=市价单 |
| openType | int | 是 | 开平仓:1=开仓,2=平仓 |
| side | int | 是 | 方向:1=多仓(买),2=空仓(卖) |
| price | string | 条件 | 委托价格(限价单必填) |
| vol | string | 条件 | 数量(与amt二选一) |
| amt | string | 条件 | 金额USD(与vol二选一,开仓时推荐) |
| leverage | string | 开仓必填 | 杠杆倍数,如"10" |
| posId | int64 | 平仓必填 | 仓位ID |
| stopProfitPrice | string | 否 | 止盈价格 |
| stopLossPrice | string | 否 | 止损价格 |
| triggerType | int | 否 | 触发类型:1=普通,2=止盈,3=止损,4=强平 |
请求示例
开仓示例:
{
"symbol": "BTCUSDT",
"coType": 3,
"orderType": 2,
"openType": 1,
"side": 1,
"amt": "10000",
"leverage": "10",
"triggerType": 1
}
平仓示例:
{
"symbol": "BTCUSDT",
"coType": 3,
"orderType": 2,
"openType": 2,
"side": 1,
"posId": 123456,
"vol": "0.5",
"triggerType": 1
}
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 状态码,0 表示成功 |
| msg | string | 返回消息 |
| data.orderId | int64 | 订单ID |
| data.orderNo | string | 订单编号 |
响应示例
{
"code": 0,
"msg": "success",
"data": {
"orderId": 123456789,
"orderNo": "ORD20240120001"
}
}
错误码
业务错误以 HTTP 200 返回,通过 body code 字段区分。
| code | 说明 |
|---|---|
| 3000 | 交易对不存在 |
| 8001 | 低于最小交易量 |
| 8002 | 平仓委托失败,请检查持仓 |
| 8003 | 平仓余额不足,请检查持仓与挂单 |
| 8004 | 委托订单创建失败 |
| 8005 | 止盈止损订单创建失败 |
| 8006 | 止盈止损订单将被立即触发 |
| 8016 | 超过最大交易量 |
| 8017 | 超过最大持仓量 |
| 8018 | 保证金不足 |
| 8100 | 产品信息异常 |