(self, position, market: Market = None)
| 4553 | return self.filter_by_array_positions(result, 'symbol', symbols, False) |
| 4554 | |
| 4555 | def parse_position(self, position, market: Market = None): |
| 4556 | # |
| 4557 | # { |
| 4558 | # "symbol": "btc_usdt", |
| 4559 | # "positionType": "ISOLATED", |
| 4560 | # "positionSide": "SHORT", |
| 4561 | # "contractType": "PERPETUAL", |
| 4562 | # "positionSize": "10", |
| 4563 | # "closeOrderSize": "0", |
| 4564 | # "availableCloseSize": "10", |
| 4565 | # "entryPrice": "27060", |
| 4566 | # "openOrderSize": "0", |
| 4567 | # "isolatedMargin": "1.0824", |
| 4568 | # "openOrderMarginFrozen": "0", |
| 4569 | # "realizedProfit": "-0.00130138", |
| 4570 | # "autoMargin": False, |
| 4571 | # "leverage": 25 |
| 4572 | # } |
| 4573 | # |
| 4574 | marketId = self.safe_string(position, 'symbol') |
| 4575 | market = self.safe_market(marketId, market, None, 'contract') |
| 4576 | symbol = self.safe_symbol(marketId, market, None, 'contract') |
| 4577 | positionType = self.safe_string(position, 'positionType') |
| 4578 | marginMode = 'cross' if (positionType == 'CROSSED') else 'isolated' |
| 4579 | collateral = self.safe_number(position, 'isolatedMargin') |
| 4580 | return self.safe_position({ |
| 4581 | 'info': position, |
| 4582 | 'id': None, |
| 4583 | 'symbol': symbol, |
| 4584 | 'timestamp': None, |
| 4585 | 'datetime': None, |
| 4586 | 'hedged': None, |
| 4587 | 'side': self.safe_string_lower(position, 'positionSide'), |
| 4588 | 'contracts': self.safe_number(position, 'positionSize'), |
| 4589 | 'contractSize': market['contractSize'], |
| 4590 | 'entryPrice': self.safe_number(position, 'entryPrice'), |
| 4591 | 'markPrice': None, |
| 4592 | 'notional': None, |
| 4593 | 'leverage': self.safe_integer(position, 'leverage'), |
| 4594 | 'collateral': collateral, |
| 4595 | 'initialMargin': collateral, |
| 4596 | 'maintenanceMargin': None, |
| 4597 | 'initialMarginPercentage': None, |
| 4598 | 'maintenanceMarginPercentage': None, |
| 4599 | 'unrealizedPnl': None, |
| 4600 | 'liquidationPrice': None, |
| 4601 | 'marginMode': marginMode, |
| 4602 | 'percentage': None, |
| 4603 | 'marginRatio': None, |
| 4604 | }) |
| 4605 | |
| 4606 | def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry: |
| 4607 | """ |
no test coverage detected