Class: Bybit::RestApi::PositionService
- Inherits:
-
BaseService
- Object
- BaseService
- Bybit::RestApi::PositionService
- Defined in:
- lib/bybit/rest_api/position_service.rb
Instance Method Summary collapse
-
#add_reduce_margin(category:, symbol:, margin:, **kwargs) ⇒ Hash
Manually add or reduce margin for an isolated margin position.
-
#confirm_new_risk_limit(category:, symbol:, **kwargs) ⇒ Hash
Confirm new risk limit to remove reduce-only restriction.
-
#get_closed_pnl(category:, **kwargs) ⇒ Hash
Get closed profit and loss records.
-
#get_closed_positions(category:, **kwargs) ⇒ Hash
Get closed option position records.
-
#get_move_position_history(**kwargs) ⇒ Hash
Get move position (block trade) history.
-
#get_positions(category:, **kwargs) ⇒ Hash
Get position info (real-time).
-
#move_position(from_uid:, to_uid:, list:, **kwargs) ⇒ Hash
Move positions between UIDs via block trade.
-
#set_auto_add_margin(category:, symbol:, auto_add_margin:, **kwargs) ⇒ Hash
Enable or disable auto-add-margin for a position.
-
#set_leverage(category:, symbol:, buy_leverage:, sell_leverage:, **kwargs) ⇒ Hash
Set leverage for a position.
-
#set_trading_stop(category:, symbol:, tpsl_mode:, position_idx:, **kwargs) ⇒ Hash
Set take profit, stop loss, and trailing stop for a position.
-
#switch_position_mode(category:, mode:, **kwargs) ⇒ Hash
Switch position mode between one-way and hedge mode.
Methods inherited from BaseService
Constructor Details
This class inherits a constructor from Bybit::RestApi::BaseService
Instance Method Details
#add_reduce_margin(category:, symbol:, margin:, **kwargs) ⇒ Hash
Manually add or reduce margin for an isolated margin position
POST /v5/position/add-margin
16 17 18 19 20 |
# File 'lib/bybit/rest_api/position_service.rb', line 16 def add_reduce_margin(category:, symbol:, margin:, **kwargs) params = kwargs.merge(category: category, symbol: symbol, margin: margin) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :post, path: '/v5/position/add-margin', body: params) end |
#confirm_new_risk_limit(category:, symbol:, **kwargs) ⇒ Hash
Confirm new risk limit to remove reduce-only restriction
POST /v5/position/confirm-pending-mmr
30 31 32 33 34 |
# File 'lib/bybit/rest_api/position_service.rb', line 30 def confirm_new_risk_limit(category:, symbol:, **kwargs) params = kwargs.merge(category: category, symbol: symbol) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :post, path: '/v5/position/confirm-pending-mmr', body: params) end |
#get_closed_pnl(category:, **kwargs) ⇒ Hash
Get closed profit and loss records
GET /v5/position/closed-pnl
66 67 68 69 70 |
# File 'lib/bybit/rest_api/position_service.rb', line 66 def get_closed_pnl(category:, **kwargs) params = kwargs.merge(category: category) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :get, path: '/v5/position/closed-pnl', params: params) end |
#get_closed_positions(category:, **kwargs) ⇒ Hash
Get closed option position records
GET /v5/position/get-closed-positions
48 49 50 51 52 |
# File 'lib/bybit/rest_api/position_service.rb', line 48 def get_closed_positions(category:, **kwargs) params = kwargs.merge(category: category) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :get, path: '/v5/position/get-closed-positions', params: params) end |
#get_move_position_history(**kwargs) ⇒ Hash
Get move position (block trade) history
GET /v5/position/move-history
86 87 88 89 90 |
# File 'lib/bybit/rest_api/position_service.rb', line 86 def get_move_position_history(**kwargs) params = kwargs.dup params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :get, path: '/v5/position/move-history', params: params) end |
#get_positions(category:, **kwargs) ⇒ Hash
Get position info (real-time)
GET /v5/position/list
104 105 106 107 108 |
# File 'lib/bybit/rest_api/position_service.rb', line 104 def get_positions(category:, **kwargs) params = kwargs.merge(category: category) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :get, path: '/v5/position/list', params: params) end |
#move_position(from_uid:, to_uid:, list:, **kwargs) ⇒ Hash
Move positions between UIDs via block trade
POST /v5/position/move-positions
119 120 121 122 123 |
# File 'lib/bybit/rest_api/position_service.rb', line 119 def move_position(from_uid:, to_uid:, list:, **kwargs) params = kwargs.merge(from_uid: from_uid, to_uid: to_uid, list: list) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :post, path: '/v5/position/move-positions', body: params) end |
#set_auto_add_margin(category:, symbol:, auto_add_margin:, **kwargs) ⇒ Hash
Enable or disable auto-add-margin for a position
POST /v5/position/set-auto-add-margin
135 136 137 138 139 |
# File 'lib/bybit/rest_api/position_service.rb', line 135 def set_auto_add_margin(category:, symbol:, auto_add_margin:, **kwargs) params = kwargs.merge(category: category, symbol: symbol, auto_add_margin: auto_add_margin) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :post, path: '/v5/position/set-auto-add-margin', body: params) end |
#set_leverage(category:, symbol:, buy_leverage:, sell_leverage:, **kwargs) ⇒ Hash
Set leverage for a position
POST /v5/position/set-leverage
151 152 153 154 155 |
# File 'lib/bybit/rest_api/position_service.rb', line 151 def set_leverage(category:, symbol:, buy_leverage:, sell_leverage:, **kwargs) params = kwargs.merge(category: category, symbol: symbol, buy_leverage: buy_leverage, sell_leverage: sell_leverage) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :post, path: '/v5/position/set-leverage', body: params) end |
#set_trading_stop(category:, symbol:, tpsl_mode:, position_idx:, **kwargs) ⇒ Hash
Set take profit, stop loss, and trailing stop for a position
POST /v5/position/trading-stop
179 180 181 182 183 |
# File 'lib/bybit/rest_api/position_service.rb', line 179 def set_trading_stop(category:, symbol:, tpsl_mode:, position_idx:, **kwargs) params = kwargs.merge(category: category, symbol: symbol, tpsl_mode: tpsl_mode, position_idx: position_idx) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :post, path: '/v5/position/trading-stop', body: params) end |
#switch_position_mode(category:, mode:, **kwargs) ⇒ Hash
Switch position mode between one-way and hedge mode
POST /v5/position/switch-mode
195 196 197 198 199 |
# File 'lib/bybit/rest_api/position_service.rb', line 195 def switch_position_mode(category:, mode:, **kwargs) params = kwargs.merge(category: category, mode: mode) params = Bybit::Utils::WireKeys.camelize(params) @session.sign_request(method: :post, path: '/v5/position/switch-mode', body: params) end |