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

Method fetch_open_orders

python/ccxt/binance.py:7029–7117  ·  view source on GitHub ↗

fetch all unfilled currently open orders https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#current-open-orders-user_data https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Open-Orders h

(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})

Source from the content-addressed store, hash-verified

7027 return self.parse_orders(response, market, since, limit)
7028
7029 def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
7030 """
7031 fetch all unfilled currently open orders
7032
7033 https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#current-open-orders-user_data
7034 https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Open-Orders
7035 https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Current-All-Open-Orders
7036 https://developers.binance.com/docs/derivatives/option/trade/Query-Current-Open-Option-Orders
7037 https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Open-Orders
7038 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders
7039 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders
7040 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders
7041 https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders
7042 https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Algo-Open-Orders
7043
7044 :param str symbol: unified market symbol
7045 :param int [since]: the earliest time in ms to fetch open orders for
7046 :param int [limit]: the maximum number of open orders structures to retrieve
7047 :param dict [params]: extra parameters specific to the exchange API endpoint
7048 :param str [params.marginMode]: 'cross' or 'isolated', for spot margin trading
7049 :param boolean [params.portfolioMargin]: set to True if you would like to fetch open orders in the portfolio margin account
7050 :param boolean [params.trigger]: set to True if you would like to fetch portfolio margin account conditional orders
7051 :param str [params.subType]: "linear" or "inverse"
7052 :returns Order[]: a list of `order structures <https://docs.ccxt.com/?id=order-structure>`
7053 """
7054 self.load_markets()
7055 market = None
7056 type = None
7057 request = {}
7058 marginMode = None
7059 marginMode, params = self.handle_margin_mode_and_params('fetchOpenOrders', params)
7060 isPortfolioMargin = None
7061 isPortfolioMargin, params = self.handle_option_and_params_2(params, 'fetchOpenOrders', 'papi', 'portfolioMargin', False)
7062 isConditional = self.safe_bool_n(params, ['stop', 'trigger', 'conditional'])
7063 if symbol is not None:
7064 market = self.market(symbol)
7065 request['symbol'] = market['id']
7066 defaultType = self.safe_string_2(self.options, 'fetchOpenOrders', 'defaultType', 'spot')
7067 marketType = market['type'] if ('type' in market) else defaultType
7068 type = self.safe_string(params, 'type', marketType)
7069 elif self.options['warnOnFetchOpenOrdersWithoutSymbol']:
7070 raise ExchangeError(self.id + ' fetchOpenOrders() WARNING: fetching open orders without specifying a symbol has stricter rate limits(10 times more for spot, 40 times more for other markets) compared to requesting with symbol argument. To acknowledge self warning, set ' + self.id + '.options["warnOnFetchOpenOrdersWithoutSymbol"] = False to suppress self warning message.')
7071 else:
7072 defaultType = self.safe_string_2(self.options, 'fetchOpenOrders', 'defaultType', 'spot')
7073 type = self.safe_string(params, 'type', defaultType)
7074 subType = None
7075 subType, params = self.handle_sub_type_and_params('fetchOpenOrders', market, params)
7076 params = self.omit(params, ['type', 'stop', 'trigger', 'conditional'])
7077 response = None
7078 if type == 'option':
7079 if since is not None:
7080 request['startTime'] = since
7081 if limit is not None:
7082 request['limit'] = limit
7083 response = self.eapiPrivateGetOpenOrders(self.extend(request, params))
7084 elif self.is_linear(type, subType):
7085 if isPortfolioMargin:
7086 if isConditional:

Callers

nothing calls this directly

Calls 15

marketMethod · 0.95
is_linearMethod · 0.95
papiGetUmOpenOrdersMethod · 0.95
is_inverseMethod · 0.95
papiGetCmOpenOrdersMethod · 0.95

Tested by

no test coverage detected