仓位管理 (Positions)
管理交易仓位,包括查询、开仓、平仓、保证金调整和止盈止损设置。
概述
仓位类型
| 方向 | 说明 | 盈利条件 |
|---|---|---|
| long(多仓) | 买入做多 | 价格上涨 |
| short(空仓) | 卖出做空 | 价格下跌 |
仓位状态
| 状态 | 说明 |
|---|---|
| open | 活跃仓位 |
| closed | 已平仓 |
| liquidated | 已清算 |
获取仓位列表
获取当前用户的所有持仓信息。
接口信息
- Method:
GET - Path:
/api/v1/positions - Authentication: 需要 JWT Token
响应示例
{
"positions": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"user_address": "0x742d35cc6634c0532925a3b844bc9e7595f0beb",
"symbol": "BTCUSDT",
"side": "long",
"size_in_tokens": "0.1",
"size_in_usd": "6500.00",
"entry_price": "65000.00",
"mark_price": "65500.00",
"collateral": "650.00",
"leverage": 10,
"unrealized_pnl": "50.00",
"liquidation_price": "60000.00",
"margin_rate": "0.10",
"status": "open",
"created_at": 1704067200000,
"updated_at": 1704070800000
}
]
}
响应字段说明
| 字段 | 类型 | 描述 |
|---|---|---|
| id | string | 仓位 UUID |
| user_address | string | 用户地址 |
| symbol | string | 交易对 |
| side | string | 持仓方向(long/short) |
| size_in_tokens | string | 仓位大小(代币数量,Decimal 字符串) |
| size_in_usd | string | 仓位价值(USD,Decimal 字符串) |
| entry_price | string | 开仓均价(Decimal 字符串) |
| mark_price | string | 当前标记价格(Decimal 字符串) |
| collateral | string | 保证金数量(Decimal 字符串) |
| leverage | number | 杠杆倍数 |
| unrealized_pnl | string | 未实现盈亏(Decimal 字符串) |
| liquidation_price | string | 清算价格(Decimal 字符串) |
| margin_rate | string | 保证金率(Decimal 字符串) |
| status | string | 仓位状态 |
| created_at | number | 创建时间(毫秒级时间戳) |
| updated_at | number | 更新时间(毫秒级时间戳) |
获取单个仓位
查询指定仓位的详细信息。
接口信息
- Method:
GET - Path:
/api/v1/positions/:position_id - Authentication: 需要 JWT Token
路径参数
| 参数 | 类型 | 必须 | 描述 |
|---|---|---|---|
| position_id | string | 是 | 仓位 UUID |
响应示例
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"user_address": "0x742d35cc6634c0532925a3b844bc9e7595f0beb",
"symbol": "BTCUSDT",
"side": "long",
"size_in_tokens": "0.1",
"size_in_usd": "6500.00",
"entry_price": "65000.00",
"mark_price": "65500.00",
"collateral": "650.00",
"leverage": 10,
"unrealized_pnl": "50.00",
"liquidation_price": "60000.00",
"margin_rate": "0.10",
"status": "open",
"created_at": 1704067200000,
"updated_at": 1704070800000
}
开仓/增加仓位
通过创建订单来开仓或增加仓位。实际上是创建一个市价或限价订单。
提示
开仓操作通过 订单管理 API 实现。创建订单成交后系统会自动创建或增加仓位。
示例:开多仓
// 买入做多
const order = await createOrder({
symbol: "BTCUSDT",
side: "buy",
order_type: "market",
amount: "0.1",
leverage: 10,
signature: signature,
timestamp: timestamp
});
// 订单成交后会自动创建多仓
示例:开空仓
// 卖出做空
const order = await createOrder({
symbol: "BTCUSDT",
side: "sell",
order_type: "market",
amount: "0.1",
leverage: 10,
signature: signature,
timestamp: timestamp
});
// 订单成交后会自动创建空仓
平仓/减少仓位
平仓也是通过创建反向订单实现。
示例:平多仓
// 卖出平多
const order = await createOrder({
symbol: "BTCUSDT",
side: "sell", // 反向操作
order_type: "market",
amount: "0.1", // 平仓数量
leverage: 10,
signature: signature,
timestamp: timestamp
});
示例:平空仓
// 买入平空
const order = await createOrder({
symbol: "BTCUSDT",
side: "buy", // 反向操作
order_type: "market",
amount: "0.1",
leverage: 10,
signature: signature,
timestamp: timestamp
});
智能保证金
平仓订单享有智能保证金优化,只需支付手续费,无需额外保证金!详见 订单管理。
增加保证金
增加仓位的保证金可以降低清算风险。增加保证金后,清算价格会更有利。
接口信息
- Method:
POST - Path:
/api/v1/positions/:position_id/collateral/add - Authentication: 需要 JWT Token
- Content-Type:
application/json
路径参数
| 参数 | 类型 | 必须 | 描述 |
|---|---|---|---|
| position_id | string | 是 | 仓位 UUID |
请求参数
| 参数 | 类型 | 必须 | 描述 |
|---|---|---|---|
| amount | string | 是 | 增加的保证金数量(Decimal 字符串) |
请求示例
{
"amount": "100.00"
}