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

Method edit_orders

python/ccxt/binance.py:5465–5542  ·  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

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