diff --git a/binance/async_client.py b/binance/async_client.py index 541bd047..3e2d2127 100644 --- a/binance/async_client.py +++ b/binance/async_client.py @@ -1892,6 +1892,9 @@ async def futures_create_order(self, **params): params["newClientOrderId"] = self.CONTRACT_ORDER_PREFIX + self.uuid22() return await self._request_futures_api("post", "order", True, data=params) + async def futures_create_algo_order(self, **params): + return await self._request_futures_api("post", "algoOrder", True, data=params) + async def futures_limit_order(self, **params): """Send in a new futures limit order. @@ -2003,6 +2006,21 @@ async def futures_cancel_all_open_orders(self, **params): "delete", "allOpenOrders", True, data=params ) + async def futures_get_algo_order(self, **params): + return await self._request_futures_api("get", "algoOrder", True, data=params) + + async def futures_get_open_algo_orders(self, **params): + return await self._request_futures_api("get", "openAlgoOrders", True, data=params) + + async def futures_get_all_algo_orders(self, **params): + return await self._request_futures_api("get", "allAlgoOrders", True, data=params) + + async def futures_cancel_algo_order(self, **params): + return await self._request_futures_api("delete", "algoOrder", True, data=params) + + async def futures_cancel_all_open_algo_orders(self, **params): + return await self._request_futures_api("delete", "algoOpenOrders", True, data=params) + async def futures_cancel_orders(self, **params): if params.get("orderidlist"): params["orderidlist"] = quote( diff --git a/binance/client.py b/binance/client.py index 95d76190..757e0c25 100755 --- a/binance/client.py +++ b/binance/client.py @@ -7781,6 +7781,14 @@ def futures_create_order(self, **params): params["newClientOrderId"] = self.CONTRACT_ORDER_PREFIX + self.uuid22() return self._request_futures_api("post", "order", True, data=params) + def futures_create_algo_order(self, **params): + """Send in a new futures Algo order. + + https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Algo-Order + + """ + return self._request_futures_api('post', 'algoOrder', True, data=params) + def futures_limit_order(self, **params): """Send in a new futures limit order. @@ -7945,6 +7953,46 @@ def futures_cancel_orders(self, **params): "delete", "batchOrders", True, force_params=True, data=params ) + def futures_get_algo_order(self, **params): + """Check an algo order's status. + + https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Algo-Order + + """ + return self._request_futures_api("get", "algoOrder", True, data=params) + + def futures_get_open_algo_orders(self, **params): + """Get all algo open orders on a symbol. + + https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Algo-Open-Orders + + """ + return self._request_futures_api("get", "openAlgoOrders", True, data=params) + + def futures_get_all_algo_orders(self, **params): + """Get all algo orders; active, CANCELED, TRIGGERED or FINISHED. + + https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-All-Algo-Orders + + """ + return self._request_futures_api("get", "allAlgoOrders", True, data=params) + + def futures_cancel_algo_order(self, **params): + """Cancel an active futures algo order. + + https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Algo-Order + + """ + return self._request_futures_api("delete", "algoOrder", True, data=params) + + def futures_cancel_all_open_algo_orders(self, **params): + """Cancel all open futures algo orders + + https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-All-Algo-Open-Orders + + """ + return self._request_futures_api("delete", "algoOpenOrders", True, data=params) + def futures_countdown_cancel_all(self, **params): """Cancel all open orders of the specified symbol at the end of the specified countdown.