fetches information on multiple orders made by the user https://doc.xt.com/#orderhistoryOrderGet https://doc.xt.com/#futures_ordergetHistory https://doc.xt.com/#futures_entrustgetPlanHistory :param str [symbol]: unified market symbol of the market the order
(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})
| 2673 | return self.parse_order(order, market) |
| 2674 | |
| 2675 | def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}): |
| 2676 | """ |
| 2677 | fetches information on multiple orders made by the user |
| 2678 | |
| 2679 | https://doc.xt.com/#orderhistoryOrderGet |
| 2680 | https://doc.xt.com/#futures_ordergetHistory |
| 2681 | https://doc.xt.com/#futures_entrustgetPlanHistory |
| 2682 | |
| 2683 | :param str [symbol]: unified market symbol of the market the orders were made in |
| 2684 | :param int [since]: timestamp in ms of the earliest order |
| 2685 | :param int [limit]: the maximum number of order structures to retrieve |
| 2686 | :param dict params: extra parameters specific to the xt api endpoint |
| 2687 | :param bool [params.trigger]: if the order is a trigger order or not |
| 2688 | :returns dict[]: a list of `order structures <https://docs.ccxt.com/en/latest/manual.html#order-structure>` |
| 2689 | """ |
| 2690 | self.load_markets() |
| 2691 | request = {} |
| 2692 | market = None |
| 2693 | if symbol is not None: |
| 2694 | market = self.market(symbol) |
| 2695 | request['symbol'] = market['id'] |
| 2696 | if since is not None: |
| 2697 | request['startTime'] = since |
| 2698 | if limit is not None: |
| 2699 | request['limit'] = limit |
| 2700 | type = None |
| 2701 | subType = None |
| 2702 | response = None |
| 2703 | type, params = self.handle_market_type_and_params('fetchOrders', market, params) |
| 2704 | subType, params = self.handle_sub_type_and_params('fetchOrders', market, params) |
| 2705 | trigger = self.safe_value_2(params, 'trigger', 'stop') |
| 2706 | if trigger: |
| 2707 | params = self.omit(params, ['trigger', 'stop']) |
| 2708 | if subType == 'inverse': |
| 2709 | response = self.privateInverseGetFutureTradeV1EntrustPlanListHistory(self.extend(request, params)) |
| 2710 | else: |
| 2711 | response = self.privateLinearGetFutureTradeV1EntrustPlanListHistory(self.extend(request, params)) |
| 2712 | elif subType == 'inverse': |
| 2713 | response = self.privateInverseGetFutureTradeV1OrderListHistory(self.extend(request, params)) |
| 2714 | elif (subType == 'linear') or (type == 'swap') or (type == 'future'): |
| 2715 | response = self.privateLinearGetFutureTradeV1OrderListHistory(self.extend(request, params)) |
| 2716 | else: |
| 2717 | marginMode = None |
| 2718 | marginMode, params = self.handle_margin_mode_and_params('fetchOrders', params) |
| 2719 | marginOrSpotRequest = 'LEVER' if (marginMode is not None) else 'SPOT' |
| 2720 | request['bizType'] = marginOrSpotRequest |
| 2721 | response = self.privateSpotGetHistoryOrder(self.extend(request, params)) |
| 2722 | # |
| 2723 | # spot and margin |
| 2724 | # |
| 2725 | # { |
| 2726 | # "rc": 0, |
| 2727 | # "mc": "SUCCESS", |
| 2728 | # "ma": [], |
| 2729 | # "result": { |
| 2730 | # "hasPrev": False, |
| 2731 | # "hasNext": True, |
| 2732 | # "items": [ |
no test coverage detected