All URIs are relative to https://www.bitmex.com/api/v1
Method | HTTP request | Description |
---|---|---|
position_get | GET /position | Get your positions. |
position_isolate_margin | POST /position/isolate | Enable isolated margin or cross margin per-position. |
position_transfer_isolated_margin | POST /position/transferMargin | Transfer equity in or out of a position. |
position_update_leverage | POST /position/leverage | Choose leverage for a position. |
position_update_risk_limit | POST /position/riskLimit | Update your risk limit. |
Array<Position> position_get(opts)
Get your positions.
This endpoint is used for retrieving position information. The fields largely follow the FIX spec definitions. Some selected fields are explained in more detail below. The fields account, symbol, currency are unique to each position and form its key. - account: Your unique account ID. - symbol: The contract for this position. - currency: The margin currency for this position. - underlying: Meta data of the symbol. - quoteCurrency: Meta data of the symbol, All prices are in the quoteCurrency - commission: The maximum of the maker, taker, and settlement fee. - initMarginReq: The initial margin requirement. This will be at least the symbol's default initial maintenance margin, but can be higher if you choose lower leverage. - maintMarginReq: The maintenance margin requirement. This will be at least the symbol's default maintenance maintenance margin, but can be higher if you choose a higher risk limit. - riskLimit: This is a function of your maintMarginReq. - leverage: 1 / initMarginReq. - crossMargin: True/false depending on whether you set cross margin on this position. - deleveragePercentile: Indicates where your position is in the ADL queue. - rebalancedPnl: The value of realised PNL that has transferred to your wallet for this position. - prevRealisedPnl: The value of realised PNL that has transferred to your wallet for this position since the position was closed. - currentQty: The current position amount in contracts. - currentCost: The current cost of the position in the settlement currency of the symbol (currency). - currentComm: The current commission of the position in the settlement currency of the symbol (currency). - realisedCost: The realised cost of this position calculated with regard to average cost accounting. - unrealisedCost: currentCost - realisedCost. - grossOpenCost: The absolute value of your open orders for this symbol. - grossOpenPremium: The amount your bidding above the mark price in the settlement currency of the symbol (currency). - markPrice: The mark price of the symbol in quoteCurrency. - markValue: The currentQty at the mark price in the settlement currency of the symbol (currency). - homeNotional: Value of position in units of underlying. - foreignNotional: Value of position in units of quoteCurrency. - realisedPnl: The negative of realisedCost. - unrealisedGrossPnl: markValue - unrealisedCost. - unrealisedPnl: unrealisedGrossPnl. - liquidationPrice: Once markPrice reaches this price, this position will be liquidated. - bankruptPrice: Once markPrice reaches this price, this position will have no equity.
# load the gem
require 'swagger_client'
# setup authorization
SwaggerClient.configure do |config|
# Configure API key authorization: apiExpires
config.api_key['api-expires'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-expires'] = 'Bearer'
# Configure API key authorization: apiKey
config.api_key['api-key'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-key'] = 'Bearer'
# Configure API key authorization: apiSignature
config.api_key['api-signature'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-signature'] = 'Bearer'
end
api_instance = SwaggerClient::PositionApi.new
opts = {
filter: 'filter_example', # String | Table filter. For example, send {\"symbol\": \"XBTUSD\"}.
columns: 'columns_example', # String | Which columns to fetch. For example, send [\"columnName\"].
count: 8.14 # Float | Number of rows to fetch.
}
begin
#Get your positions.
result = api_instance.position_get(opts)
p result
rescue SwaggerClient::ApiError => e
puts "Exception when calling PositionApi->position_get: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
filter | String | Table filter. For example, send {"symbol": "XBTUSD"}. | [optional] |
columns | String | Which columns to fetch. For example, send ["columnName"]. | [optional] |
count | Float | Number of rows to fetch. | [optional] |
apiExpires, apiKey, apiSignature
- Content-Type: application/json, application/x-www-form-urlencoded
- Accept: application/json, application/xml, text/xml, application/javascript, text/javascript
Position position_isolate_margin(symbol, opts)
Enable isolated margin or cross margin per-position.
# load the gem
require 'swagger_client'
# setup authorization
SwaggerClient.configure do |config|
# Configure API key authorization: apiExpires
config.api_key['api-expires'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-expires'] = 'Bearer'
# Configure API key authorization: apiKey
config.api_key['api-key'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-key'] = 'Bearer'
# Configure API key authorization: apiSignature
config.api_key['api-signature'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-signature'] = 'Bearer'
end
api_instance = SwaggerClient::PositionApi.new
symbol = 'symbol_example' # String | Position symbol to isolate.
opts = {
enabled: true # BOOLEAN | True for isolated margin, false for cross margin.
}
begin
#Enable isolated margin or cross margin per-position.
result = api_instance.position_isolate_margin(symbol, opts)
p result
rescue SwaggerClient::ApiError => e
puts "Exception when calling PositionApi->position_isolate_margin: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
symbol | String | Position symbol to isolate. | |
enabled | BOOLEAN | True for isolated margin, false for cross margin. | [optional] [default to true] |
apiExpires, apiKey, apiSignature
- Content-Type: application/json, application/x-www-form-urlencoded
- Accept: application/json, application/xml, text/xml, application/javascript, text/javascript
Position position_transfer_isolated_margin(symbol, amount)
Transfer equity in or out of a position.
# load the gem
require 'swagger_client'
# setup authorization
SwaggerClient.configure do |config|
# Configure API key authorization: apiExpires
config.api_key['api-expires'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-expires'] = 'Bearer'
# Configure API key authorization: apiKey
config.api_key['api-key'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-key'] = 'Bearer'
# Configure API key authorization: apiSignature
config.api_key['api-signature'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-signature'] = 'Bearer'
end
api_instance = SwaggerClient::PositionApi.new
symbol = 'symbol_example' # String | Symbol of position to isolate.
amount = 8.14 # Float | Amount to transfer, in Satoshis. May be negative.
begin
#Transfer equity in or out of a position.
result = api_instance.position_transfer_isolated_margin(symbol, amount)
p result
rescue SwaggerClient::ApiError => e
puts "Exception when calling PositionApi->position_transfer_isolated_margin: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
symbol | String | Symbol of position to isolate. | |
amount | Float | Amount to transfer, in Satoshis. May be negative. |
apiExpires, apiKey, apiSignature
- Content-Type: application/json, application/x-www-form-urlencoded
- Accept: application/json, application/xml, text/xml, application/javascript, text/javascript
Position position_update_leverage(symbol, leverage)
Choose leverage for a position.
# load the gem
require 'swagger_client'
# setup authorization
SwaggerClient.configure do |config|
# Configure API key authorization: apiExpires
config.api_key['api-expires'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-expires'] = 'Bearer'
# Configure API key authorization: apiKey
config.api_key['api-key'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-key'] = 'Bearer'
# Configure API key authorization: apiSignature
config.api_key['api-signature'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-signature'] = 'Bearer'
end
api_instance = SwaggerClient::PositionApi.new
symbol = 'symbol_example' # String | Symbol of position to adjust.
leverage = 1.2 # Float | Leverage value. Send a number between 0.01 and 100 to enable isolated margin with a fixed leverage. Send 0 to enable cross margin.
begin
#Choose leverage for a position.
result = api_instance.position_update_leverage(symbol, leverage)
p result
rescue SwaggerClient::ApiError => e
puts "Exception when calling PositionApi->position_update_leverage: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
symbol | String | Symbol of position to adjust. | |
leverage | Float | Leverage value. Send a number between 0.01 and 100 to enable isolated margin with a fixed leverage. Send 0 to enable cross margin. |
apiExpires, apiKey, apiSignature
- Content-Type: application/json, application/x-www-form-urlencoded
- Accept: application/json, application/xml, text/xml, application/javascript, text/javascript
Position position_update_risk_limit(symbol, risk_limit)
Update your risk limit.
# load the gem
require 'swagger_client'
# setup authorization
SwaggerClient.configure do |config|
# Configure API key authorization: apiExpires
config.api_key['api-expires'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-expires'] = 'Bearer'
# Configure API key authorization: apiKey
config.api_key['api-key'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-key'] = 'Bearer'
# Configure API key authorization: apiSignature
config.api_key['api-signature'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['api-signature'] = 'Bearer'
end
api_instance = SwaggerClient::PositionApi.new
symbol = 'symbol_example' # String | Symbol of position to update risk limit on.
risk_limit = 8.14 # Float | New Risk Limit, in Satoshis.
begin
#Update your risk limit.
result = api_instance.position_update_risk_limit(symbol, risk_limit)
p result
rescue SwaggerClient::ApiError => e
puts "Exception when calling PositionApi->position_update_risk_limit: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
symbol | String | Symbol of position to update risk limit on. | |
risk_limit | Float | New Risk Limit, in Satoshis. |
apiExpires, apiKey, apiSignature
- Content-Type: application/json, application/x-www-form-urlencoded
- Accept: application/json, application/xml, text/xml, application/javascript, text/javascript