fetches information on multiple closed orders made by the user https://docs.whitebit.com/private/http-trade-v4/#query-executed-orders :param str symbol: unified market symbol of the market orders were made in :param int [since]: the earliest time in ms to fetch ord
(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})
| 2281 | return self.parse_orders(response, market, since, limit, {'status': 'open'}) |
| 2282 | |
| 2283 | def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]: |
| 2284 | """ |
| 2285 | fetches information on multiple closed orders made by the user |
| 2286 | |
| 2287 | https://docs.whitebit.com/private/http-trade-v4/#query-executed-orders |
| 2288 | |
| 2289 | :param str symbol: unified market symbol of the market orders were made in |
| 2290 | :param int [since]: the earliest time in ms to fetch orders for |
| 2291 | :param int [limit]: the maximum number of order structures to retrieve |
| 2292 | :param dict [params]: extra parameters specific to the exchange API endpoint |
| 2293 | :returns Order[]: a list of `order structures <https://docs.ccxt.com/?id=order-structure>` |
| 2294 | """ |
| 2295 | self.load_markets() |
| 2296 | request = {} |
| 2297 | market = None |
| 2298 | if symbol is not None: |
| 2299 | market = self.market(symbol) |
| 2300 | symbol = market['symbol'] |
| 2301 | request['market'] = market['id'] |
| 2302 | if limit is not None: |
| 2303 | request['limit'] = min(limit, 100) # default 50 max 100 |
| 2304 | response = self.v4PrivatePostTradeAccountOrderHistory(self.extend(request, params)) |
| 2305 | # |
| 2306 | # { |
| 2307 | # "BTC_USDT": [ |
| 2308 | # { |
| 2309 | # "id": 160305483, |
| 2310 | # "clientOrderId": "customId11", |
| 2311 | # "time": 1594667731.724403, |
| 2312 | # "side": "sell", |
| 2313 | # "role": 2, # 1 = maker, 2 = taker |
| 2314 | # "amount": "0.000076", |
| 2315 | # "price": "9264.21", |
| 2316 | # "deal": "0.70407996", |
| 2317 | # "fee": "0.00070407996" |
| 2318 | # }, |
| 2319 | # ], |
| 2320 | # } |
| 2321 | # |
| 2322 | marketIds = list(response.keys()) |
| 2323 | results = [] |
| 2324 | for i in range(0, len(marketIds)): |
| 2325 | marketId = marketIds[i] |
| 2326 | marketNew = self.safe_market(marketId, None, '_') |
| 2327 | orders = response[marketId] |
| 2328 | for j in range(0, len(orders)): |
| 2329 | order = self.parse_order(orders[j], marketNew) |
| 2330 | results.append(self.extend(order, {'status': 'closed'})) |
| 2331 | results = self.sort_by(results, 'timestamp') |
| 2332 | results = self.filter_by_symbol_since_limit(results, symbol, since, limit) |
| 2333 | return results |
| 2334 | |
| 2335 | def parse_order_type(self, type: Str): |
| 2336 | types = { |
no test coverage detected