Skip to content

Commit e80b308

Browse files
author
Dorsa Alhouei
committed
feat: add USDⓈ-M Futures algo order endpoints
- Implement 6 new methods for conditional orders migration to Algo Service - Add futures_create_algo_order, futures_cancel_algo_order, futures_cancel_all_open_algo_orders, futures_get_algo_order, futures_get_open_algo_orders, futures_get_all_algo_orders - Support both sync and async clients with comprehensive documentation - Prepare for Binance API migration effective 2025-12-02 - Follow existing library patterns and conventions
1 parent d549914 commit e80b308

2 files changed

Lines changed: 66 additions & 0 deletions

File tree

binance/async_client.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1892,6 +1892,9 @@ async def futures_create_order(self, **params):
18921892
params["newClientOrderId"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()
18931893
return await self._request_futures_api("post", "order", True, data=params)
18941894

1895+
async def futures_create_algo_order(self, **params):
1896+
return await self._request_futures_api('post', 'algoOrder', True, data=params)
1897+
18951898
async def futures_limit_order(self, **params):
18961899
"""Send in a new futures limit order.
18971900
@@ -2003,6 +2006,21 @@ async def futures_cancel_all_open_orders(self, **params):
20032006
"delete", "allOpenOrders", True, data=params
20042007
)
20052008

2009+
async def futures_get_algo_order(self, **params):
2010+
return await self._request_futures_api("get", "algoOrder", True, data=params)
2011+
2012+
async def futures_get_open_algo_orders(self, **params):
2013+
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
2014+
2015+
async def futures_get_all_algo_orders(self, **params):
2016+
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
2017+
2018+
async def futures_cancel_algo_order(self, **params):
2019+
return await self._request_futures_api("delete", "algoOrder", True, data=params)
2020+
2021+
async def futures_cancel_all_open_algo_orders(self, **params):
2022+
return await self._request_futures_api("delete", "algoOpenOrders", True, data=params)
2023+
20062024
async def futures_cancel_orders(self, **params):
20072025
if params.get("orderidlist"):
20082026
params["orderidlist"] = quote(

binance/client.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7781,6 +7781,14 @@ def futures_create_order(self, **params):
77817781
params["newClientOrderId"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()
77827782
return self._request_futures_api("post", "order", True, data=params)
77837783

7784+
def futures_create_algo_order(self, **params):
7785+
"""Send in a new futures Algo order.
7786+
7787+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Algo-Order
7788+
7789+
"""
7790+
return self._request_futures_api('post', 'algoOrder', True, data=params)
7791+
77847792
def futures_limit_order(self, **params):
77857793
"""Send in a new futures limit order.
77867794

@@ -7945,6 +7953,46 @@ def futures_cancel_orders(self, **params):
79457953
"delete", "batchOrders", True, force_params=True, data=params
79467954
)
79477955

7956+
def futures_get_algo_order(self, **params):
7957+
"""Check an algo order's status.
7958+
7959+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Algo-Order
7960+
7961+
"""
7962+
return self._request_futures_api("get", "algoOrder", True, data=params)
7963+
7964+
def futures_get_open_algo_orders(self, **params):
7965+
"""Get all algo open orders on a symbol.
7966+
7967+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Algo-Open-Orders
7968+
7969+
"""
7970+
return self._request_futures_api("get", "openAlgoOrders", True, data=params)
7971+
7972+
def futures_get_all_algo_orders(self, **params):
7973+
"""Get all algo orders; active, CANCELED, TRIGGERED or FINISHED
7974+
7975+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-All-Algo-Orders
7976+
7977+
"""
7978+
return self._request_futures_api("get", "allAlgoOrders", True, data=params)
7979+
7980+
def futures_cancel_algo_order(self, **params):
7981+
"""Cancel an active futures algo order.
7982+
7983+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Algo-Order
7984+
7985+
"""
7986+
return self._request_futures_api("delete", "algoOrder", True, data=params)
7987+
7988+
def futures_cancel_all_open_algo_orders(self, **params):
7989+
"""Cancel all open futures algo orders
7990+
7991+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-All-Algo-Open-Orders
7992+
7993+
"""
7994+
return self._request_futures_api("delete", "algoOpenOrders", True, data=params)
7995+
79487996
def futures_countdown_cancel_all(self, **params):
79497997
"""Cancel all open orders of the specified symbol at the end of the specified countdown.
79507998

0 commit comments

Comments
 (0)