cancels an open order https://documenter.getpostman.com/view/10287440/SzYXWKPi#1f710d4b-75bc-4b65-ad68-006f863a3f26 https://documenter.getpostman.com/view/10287440/SzYXWKPi#a4d0aae8-28f7-41ac-94fd-c4030130453d # stop market https://documenter.getpostman.com/view/10
(self, id: str, symbol: Str = None, params={})
| 1609 | return self.parse_order(response, market) |
| 1610 | |
| 1611 | async def cancel_order(self, id: str, symbol: Str = None, params={}): |
| 1612 | """ |
| 1613 | cancels an open order |
| 1614 | |
| 1615 | https://documenter.getpostman.com/view/10287440/SzYXWKPi#1f710d4b-75bc-4b65-ad68-006f863a3f26 |
| 1616 | https://documenter.getpostman.com/view/10287440/SzYXWKPi#a4d0aae8-28f7-41ac-94fd-c4030130453d # stop market |
| 1617 | https://documenter.getpostman.com/view/10287440/SzYXWKPi#705dfec5-2b35-4667-862b-faf54eca6209 # margin |
| 1618 | |
| 1619 | :param str id: order id |
| 1620 | :param str symbol: not used by exmo cancelOrder() |
| 1621 | :param dict [params]: extra parameters specific to the exchange API endpoint |
| 1622 | :param boolean [params.trigger]: True to cancel a trigger order |
| 1623 | :param str [params.marginMode]: set to 'cross' or 'isolated' to cancel a margin order |
| 1624 | :returns dict: An `order structure <https://docs.ccxt.com/?id=order-structure>` |
| 1625 | """ |
| 1626 | await self.load_markets() |
| 1627 | request = {} |
| 1628 | trigger = self.safe_value_2(params, 'trigger', 'stop') |
| 1629 | params = self.omit(params, ['trigger', 'stop']) |
| 1630 | marginMode = None |
| 1631 | marginMode, params = self.handle_margin_mode_and_params('cancelOrder', params) |
| 1632 | if marginMode == 'cross': |
| 1633 | raise BadRequest(self.id + ' only supports isolated margin') |
| 1634 | response: dict |
| 1635 | if (marginMode == 'isolated'): |
| 1636 | request['order_id'] = id |
| 1637 | response = await self.privatePostMarginUserOrderCancel(self.extend(request, params)) |
| 1638 | # |
| 1639 | # {} |
| 1640 | # |
| 1641 | else: |
| 1642 | if trigger: |
| 1643 | request['parent_order_id'] = id |
| 1644 | response = await self.privatePostStopMarketOrderCancel(self.extend(request, params)) |
| 1645 | # |
| 1646 | # {} |
| 1647 | # |
| 1648 | else: |
| 1649 | request['order_id'] = id |
| 1650 | response = await self.privatePostOrderCancel(self.extend(request, params)) |
| 1651 | # |
| 1652 | # { |
| 1653 | # "error": '', |
| 1654 | # "result": True |
| 1655 | # } |
| 1656 | # |
| 1657 | return self.parse_order(response) |
| 1658 | |
| 1659 | async def fetch_order(self, id: str, symbol: Str = None, params={}): |
| 1660 | """ |
nothing calls this directly
no test coverage detected