cancels an open order https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#cancel-single-order-by-orderid :param str id: order id :param str symbol: unified symbol of the market the order was made in :param dict [params]: ext
(self, id: str, symbol: Str = None, params={})
| 2892 | return self.parse_order(data, market) |
| 2893 | |
| 2894 | def cancel_order(self, id: str, symbol: Str = None, params={}): |
| 2895 | """ |
| 2896 | cancels an open order |
| 2897 | |
| 2898 | https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#cancel-single-order-by-orderid |
| 2899 | |
| 2900 | :param str id: order id |
| 2901 | :param str symbol: unified symbol of the market the order was made in |
| 2902 | :param dict [params]: extra parameters specific to the exchange API endpoint |
| 2903 | :param str [params.posSide]: either 'Merged' or 'Long' or 'Short' |
| 2904 | :returns dict: An `order structure <https://docs.ccxt.com/?id=order-structure>` |
| 2905 | """ |
| 2906 | if symbol is None: |
| 2907 | raise ArgumentsRequired(self.id + ' cancelOrder() requires a symbol argument') |
| 2908 | self.load_markets() |
| 2909 | market = self.market(symbol) |
| 2910 | request = { |
| 2911 | 'symbol': market['id'], |
| 2912 | } |
| 2913 | clientOrderId = self.safe_string_2(params, 'clientOrderId', 'clOrdID') |
| 2914 | params = self.omit(params, ['clientOrderId', 'clOrdID']) |
| 2915 | if clientOrderId is not None: |
| 2916 | request['clOrdID'] = clientOrderId |
| 2917 | else: |
| 2918 | request['orderID'] = id |
| 2919 | response: dict |
| 2920 | if market['settle'] == 'USDT' or market['settle'] == 'USDC': |
| 2921 | posSide = self.safe_string(params, 'posSide') |
| 2922 | if posSide is None: |
| 2923 | request['posSide'] = 'Merged' |
| 2924 | response = self.privateDeleteGOrdersCancel(self.extend(request, params)) |
| 2925 | elif market['swap']: |
| 2926 | response = self.privateDeleteOrdersCancel(self.extend(request, params)) |
| 2927 | else: |
| 2928 | response = self.privateDeleteSpotOrders(self.extend(request, params)) |
| 2929 | data = self.safe_dict(response, 'data', {}) |
| 2930 | return self.parse_order(data, market) |
| 2931 | |
| 2932 | def cancel_all_orders(self, symbol: Str = None, params={}): |
| 2933 | """ |
nothing calls this directly
no test coverage detected