fetch all open positions https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/us-derivatives/list-futures-positions https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/international-derivatives/list-perpetuals-positions :param
(self, symbols: Strings = None, params={})
| 4520 | return self.parse_order(order) |
| 4521 | |
| 4522 | def fetch_positions(self, symbols: Strings = None, params={}) -> List[Position]: |
| 4523 | """ |
| 4524 | fetch all open positions |
| 4525 | |
| 4526 | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/us-derivatives/list-futures-positions |
| 4527 | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/international-derivatives/list-perpetuals-positions |
| 4528 | |
| 4529 | :param str[] [symbols]: list of unified market symbols |
| 4530 | :param dict [params]: extra parameters specific to the exchange API endpoint |
| 4531 | :param str [params.portfolio]: the portfolio UUID to fetch positions for |
| 4532 | :returns dict[]: a list of `position structure <https://docs.ccxt.com/?id=position-structure>` |
| 4533 | """ |
| 4534 | self.load_markets() |
| 4535 | symbols = self.market_symbols(symbols) |
| 4536 | market = None |
| 4537 | if symbols is not None: |
| 4538 | market = self.market(symbols[0]) |
| 4539 | type = None |
| 4540 | type, params = self.handle_market_type_and_params('fetchPositions', market, params) |
| 4541 | response = None |
| 4542 | if type == 'future': |
| 4543 | response = self.v3PrivateGetBrokerageCfmPositions(params) |
| 4544 | else: |
| 4545 | portfolio = None |
| 4546 | portfolio, params = self.handle_option_and_params(params, 'fetchPositions', 'portfolio') |
| 4547 | if portfolio is None: |
| 4548 | raise ArgumentsRequired(self.id + ' fetchPositions() requires a "portfolio" value in params(eg: dbcb91e7-2bc9-515), or set.options["portfolio"]. You can get a list of portfolios with fetchPortfolios()') |
| 4549 | request = { |
| 4550 | 'portfolio_uuid': portfolio, |
| 4551 | } |
| 4552 | response = self.v3PrivateGetBrokerageIntxPositionsPortfolioUuid(self.extend(request, params)) |
| 4553 | positions = self.safe_list(response, 'positions', []) |
| 4554 | return self.parse_positions(positions, symbols) |
| 4555 | |
| 4556 | def fetch_position(self, symbol: str, params={}): |
| 4557 | """ |
nothing calls this directly
no test coverage detected