手動增加或減少保證金
手動增加或減少保證金,僅適用於逐倉保證金模式
HTTP 請求
POST /v5/position/add-margin
請求參數
| 參數 | 是否必需 | 類型 | 說明 |
|---|---|---|---|
| category | true | string | 產品類型 |
| symbol | true | string | 合約名稱 |
| margin | true | string | 增加或減少的保證金金額. 增加, 則為正數, 比如10; 減少, 則為負數, 比如-10. 最多支持4位小數 |
| positionIdx | false | integer | 倉位標識,用於標識不同倉位, 雙向持倉模式下,該字段必傳
|
響應參數
| 參數 | 類型 | 說明 |
|---|---|---|
| category | string | 產品類型 |
| symbol | string | 合約名称 |
| positionIdx | integer | 倉位標識符, 用于在不同仓位模式下标识仓位 |
| riskId | integer | 风险限额ID,參見風險限額接口 |
| riskLimitValue | string | 當前風險限額ID對應的持倉限制量 |
| size | string | 當前倉位的合约數量 |
| avgPrice | string | 當前倉位的平均入場價格 |
| liqPrice | string | 倉位強平價格 |
| bustPrice | string | 倉位破產價格 |
| markPrice | string | 最新標記價格 |
| positionValue | string | 仓位的價值 |
| leverage | string | 當前倉位的槓桿 |
| autoAddMargin | integer | 是否自動追加保證金. 0: 否, 1: 是 |
| positionStatus | String | 倉位状态. Normal, Liq, Adl |
| positionIM | string | 倉位起始保證金 |
| positionMM | string | 倉位維持保證金 |
| takeProfit | string | 止盈價格 |
| stopLoss | string | 止損價格 |
| trailingStop | string | 追蹤止損(與當前價格的距離) |
| unrealisedPnl | string | 未结盈亏 |
| cumRealisedPnl | string | 累计已结盈亏 |
| createdTime | string | 倉位創建時間 |
| updatedTime | string | 倉位數據更新時間 |
請求示例
- HTTP
- Python
- Java
- Node.js
POST /v5/position/add-margin HTTP/1.1
Host: api-testnet.bybit.com
X-BAPI-SIGN: XXXXXX
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1684234363665
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json
Content-Length: 97
{
"category": "inverse",
"symbol": "ETHUSD",
"margin": "0.01",
"positionIdx": 0
}
import com.bybit.api.client.domain.*;
import com.bybit.api.client.domain.position.*;
import com.bybit.api.client.domain.position.request.*;
import com.bybit.api.client.service.BybitApiClientFactory;
var client = BybitApiClientFactory.newInstance().newAsyncPositionRestClient();
var updateMarginRequest = PositionDataRequest.builder().category(CategoryType.INVERSE).symbol("ETHUSDT").margin("0.0001").build();
client.modifyPositionMargin(updateMarginRequest, System.out::println);
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'xxxxxxxxxxxxxxxxxx',
secret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
});
client
.addOrReduceMargin({
category: 'linear',
symbol: 'BTCUSDT',
margin: '10',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});
響應示例
{
"retCode": 0,
"retMsg": "OK",
"result": {
"category": "inverse",
"symbol": "ETHUSD",
"positionIdx": 0,
"riskId": 11,
"riskLimitValue": "500",
"size": "200",
"positionValue": "0.11033265",
"avgPrice": "1812.70004844",
"liqPrice": "1550.80",
"bustPrice": "1544.20",
"markPrice": "1812.90",
"leverage": "12",
"autoAddMargin": 0,
"positionStatus": "Normal",
"positionIM": "0.01926611",
"positionMM": "0",
"unrealisedPnl": "0.00001217",
"cumRealisedPnl": "-0.04618929",
"stopLoss": "0.00",
"takeProfit": "0.00",
"trailingStop": "0.00",
"createdTime": "1672737740039",
"updatedTime": "1684234363788"
},
"retExtInfo": {},
"time": 1684234363789
}