(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={})
| 2834 | return self.parse_orders(orders, market, since, limit) |
| 2835 | |
| 2836 | def fetch_orders_by_status(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={}): |
| 2837 | self.load_markets() |
| 2838 | request = {} |
| 2839 | market = None |
| 2840 | if symbol is not None: |
| 2841 | market = self.market(symbol) |
| 2842 | request['symbol'] = market['id'] |
| 2843 | if limit is not None: |
| 2844 | request['size'] = limit |
| 2845 | if since is not None: |
| 2846 | request['startTime'] = since |
| 2847 | type = None |
| 2848 | subType = None |
| 2849 | response = None |
| 2850 | type, params = self.handle_market_type_and_params('fetchOrdersByStatus', market, params) |
| 2851 | subType, params = self.handle_sub_type_and_params('fetchOrdersByStatus', market, params) |
| 2852 | trigger = self.safe_bool_2(params, 'stop', 'trigger') |
| 2853 | stopLossTakeProfit = self.safe_value(params, 'stopLossTakeProfit') |
| 2854 | if status == 'open': |
| 2855 | if trigger or stopLossTakeProfit: |
| 2856 | request['state'] = 'NOT_TRIGGERED' |
| 2857 | elif type == 'swap': |
| 2858 | request['state'] = 'UNFINISHED' # NEW & PARTIALLY_FILLED |
| 2859 | elif status == 'closed': |
| 2860 | if trigger or stopLossTakeProfit: |
| 2861 | request['state'] = 'TRIGGERED' |
| 2862 | else: |
| 2863 | request['state'] = 'FILLED' |
| 2864 | elif status == 'canceled': |
| 2865 | if trigger or stopLossTakeProfit: |
| 2866 | request['state'] = 'USER_REVOCATION' |
| 2867 | else: |
| 2868 | request['state'] = 'CANCELED' |
| 2869 | else: |
| 2870 | request['state'] = status |
| 2871 | if trigger or stopLossTakeProfit or (subType is not None) or (type == 'swap') or (type == 'future'): |
| 2872 | if since is not None: |
| 2873 | request['startTime'] = since |
| 2874 | if limit is not None: |
| 2875 | request['size'] = limit |
| 2876 | if trigger: |
| 2877 | params = self.omit(params, ['stop', 'trigger']) |
| 2878 | if subType == 'inverse': |
| 2879 | response = self.privateInverseGetFutureTradeV1EntrustPlanList(self.extend(request, params)) |
| 2880 | else: |
| 2881 | response = self.privateLinearGetFutureTradeV1EntrustPlanList(self.extend(request, params)) |
| 2882 | elif stopLossTakeProfit: |
| 2883 | params = self.omit(params, 'stopLossTakeProfit') |
| 2884 | if subType == 'inverse': |
| 2885 | response = self.privateInverseGetFutureTradeV1EntrustProfitList(self.extend(request, params)) |
| 2886 | else: |
| 2887 | response = self.privateLinearGetFutureTradeV1EntrustProfitList(self.extend(request, params)) |
| 2888 | elif (subType is not None) or (type == 'swap') or (type == 'future'): |
| 2889 | if subType == 'inverse': |
| 2890 | response = self.privateInverseGetFutureTradeV1OrderList(self.extend(request, params)) |
| 2891 | else: |
| 2892 | response = self.privateLinearGetFutureTradeV1OrderList(self.extend(request, params)) |
| 2893 | else: |
no test coverage detected