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

Method cancel_order

python/ccxt/phemex.py:2894–2930  ·  view source on GitHub ↗

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={})

Source from the content-addressed store, hash-verified

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 """

Callers

nothing calls this directly

Calls 12

parse_orderMethod · 0.95
ArgumentsRequiredClass · 0.90
safe_string_2Method · 0.80
safe_stringMethod · 0.80
safe_dictMethod · 0.80
load_marketsMethod · 0.45
marketMethod · 0.45
omitMethod · 0.45
extendMethod · 0.45

Tested by

no test coverage detected