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

Method edit_orders

python/ccxt/async_support/binance.py:5466–5543  ·  view source on GitHub ↗

edit a list of trade orders https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Multiple-Orders https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Multiple-Orders :param Array orders:

(self, orders: List[OrderRequest], params={})

Source from the content-addressed store, hash-verified

5464 return await self.edit_contract_order(id, symbol, type, side, amount, price, params)
5465
5466 async def edit_orders(self, orders: List[OrderRequest], params={}):
5467 """
5468 edit a list of trade orders
5469
5470 https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Multiple-Orders
5471 https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Multiple-Orders
5472
5473 :param Array orders: list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
5474 :param dict [params]: extra parameters specific to the exchange API endpoint
5475 :returns dict: an `order structure <https://docs.ccxt.com/?id=order-structure>`
5476 """
5477 await self.load_markets()
5478 ordersRequests = []
5479 orderSymbols = []
5480 for i in range(0, len(orders)):
5481 rawOrder = orders[i]
5482 marketId = self.safe_string(rawOrder, 'symbol')
5483 orderSymbols.append(marketId)
5484 id = self.safe_string(rawOrder, 'id')
5485 type = self.safe_string(rawOrder, 'type')
5486 side = self.safe_string(rawOrder, 'side')
5487 amount = self.safe_value(rawOrder, 'amount')
5488 price = self.safe_value(rawOrder, 'price')
5489 orderParams = self.safe_dict(rawOrder, 'params', {})
5490 isPortfolioMargin = None
5491 isPortfolioMargin, orderParams = self.handle_option_and_params_2(orderParams, 'editOrders', 'papi', 'portfolioMargin', False)
5492 if isPortfolioMargin:
5493 raise NotSupported(self.id + ' editOrders() does not support portfolio margin orders')
5494 orderRequest = self.edit_contract_order_request(id, marketId, type, side, amount, price, orderParams)
5495 ordersRequests.append(orderRequest)
5496 orderSymbols = self.market_symbols(orderSymbols, None, False, True, True)
5497 market = self.market(orderSymbols[0])
5498 if market['spot'] or market['option']:
5499 raise NotSupported(self.id + ' editOrders() does not support ' + market['type'] + ' orders')
5500 response = None
5501 request = {
5502 'batchOrders': ordersRequests,
5503 }
5504 request = self.extend(request, params)
5505 if market['linear']:
5506 response = await self.fapiPrivatePutBatchOrders(request)
5507 elif market['inverse']:
5508 response = await self.dapiPrivatePutBatchOrders(request)
5509 #
5510 # [
5511 # {
5512 # "code": -4005,
5513 # "msg": "Quantity greater than max quantity."
5514 # },
5515 # {
5516 # "orderId": 650640530,
5517 # "symbol": "LTCUSDT",
5518 # "status": "NEW",
5519 # "clientOrderId": "x-xcKtGhcu32184eb13585491289bbaf",
5520 # "price": "54.00",
5521 # "avgPrice": "0.00",
5522 # "origQty": "0.100",
5523 # "executedQty": "0.000",

Callers

nothing calls this directly

Calls 15

marketMethod · 0.95
NotSupportedClass · 0.90
safe_stringMethod · 0.80
safe_valueMethod · 0.80
safe_dictMethod · 0.80
market_symbolsMethod · 0.80
parse_ordersMethod · 0.80
rangeFunction · 0.50

Tested by

no test coverage detected