MCPcopy Create free account
hub / github.com/ccxt/ccxt / fetch_open_order

Method fetch_open_order

python/ccxt/async_support/binance.py:7120–7322  ·  view source on GitHub ↗

fetch an open order by the id https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Current-Open-Order https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Current-Open-Order https://develope

(self, id: str, symbol: Str = None, params={})

Source from the content-addressed store, hash-verified

7118 return self.parse_orders(response, market, since, limit)
7119
7120 async def fetch_open_order(self, id: str, symbol: Str = None, params={}):
7121 """
7122 fetch an open order by the id
7123
7124 https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Current-Open-Order
7125 https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Current-Open-Order
7126 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order
7127 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order
7128 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order
7129 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order
7130
7131 :param str id: order id
7132 :param str symbol: unified market symbol
7133 :param dict [params]: extra parameters specific to the exchange API endpoint
7134 :param str [params.trigger]: set to True if you would like to fetch portfolio margin account stop or conditional orders
7135 :param boolean [params.portfolioMargin]: set to True if you would like to fetch for a portfolio margin account
7136 :returns dict: an `order structure <https://docs.ccxt.com/?id=order-structure>`
7137 """
7138 if symbol is None:
7139 raise ArgumentsRequired(self.id + ' fetchOpenOrder() requires a symbol argument')
7140 await self.load_markets()
7141 market = self.market(symbol)
7142 request = {
7143 'symbol': market['id'],
7144 }
7145 isPortfolioMargin = None
7146 isPortfolioMargin, params = self.handle_option_and_params_2(params, 'fetchOpenOrder', 'papi', 'portfolioMargin', False)
7147 isConditional = self.safe_bool_n(params, ['stop', 'trigger', 'conditional'])
7148 params = self.omit(params, ['stop', 'trigger', 'conditional'])
7149 isPortfolioMarginConditional = (isPortfolioMargin and isConditional)
7150 orderIdRequest = 'strategyId' if isPortfolioMarginConditional else 'orderId'
7151 request[orderIdRequest] = id
7152 response = None
7153 if market['linear']:
7154 if isPortfolioMargin:
7155 if isConditional:
7156 response = await self.papiGetUmConditionalOpenOrder(self.extend(request, params))
7157 else:
7158 response = await self.papiGetUmOpenOrder(self.extend(request, params))
7159 else:
7160 response = await self.fapiPrivateGetOpenOrder(self.extend(request, params))
7161 elif market['inverse']:
7162 if isPortfolioMargin:
7163 if isConditional:
7164 response = await self.papiGetCmConditionalOpenOrder(self.extend(request, params))
7165 else:
7166 response = await self.papiGetCmOpenOrder(self.extend(request, params))
7167 else:
7168 response = await self.dapiPrivateGetOpenOrder(self.extend(request, params))
7169 else:
7170 if market['option']:
7171 raise NotSupported(self.id + ' fetchOpenOrder() does not support option markets')
7172 elif market['spot']:
7173 raise NotSupported(self.id + ' fetchOpenOrder() does not support spot markets')
7174 #
7175 # linear swap
7176 #
7177 # {

Callers

nothing calls this directly

Calls 15

marketMethod · 0.95
papiGetUmOpenOrderMethod · 0.95
papiGetCmOpenOrderMethod · 0.95
parse_orderMethod · 0.95
ArgumentsRequiredClass · 0.90
NotSupportedClass · 0.90
safe_bool_nMethod · 0.80

Tested by

no test coverage detected