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={})
| 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", |
nothing calls this directly
no test coverage detected