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

Method create_orders

python/ccxt/async_support/htx.py:5365–5501  ·  view source on GitHub ↗

create a list of trade orders https://huobiapi.github.io/docs/spot/v1/en/#place-a-batch-of-orders https://huobiapi.github.io/docs/dm/v1/en/#place-a-batch-of-orders https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#place-a-batch-of-orders https://www.

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

Source from the content-addressed store, hash-verified

5363 return self.parse_order(result, market)
5364
5365 async def create_orders(self, orders: List[OrderRequest], params={}):
5366 """
5367 create a list of trade orders
5368
5369 https://huobiapi.github.io/docs/spot/v1/en/#place-a-batch-of-orders
5370 https://huobiapi.github.io/docs/dm/v1/en/#place-a-batch-of-orders
5371 https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#place-a-batch-of-orders
5372 https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-1958935dae1
5373
5374 :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
5375 :param dict [params]: extra parameters specific to the exchange API endpoint
5376 :returns dict: an `order structure <https://docs.ccxt.com/?id=order-structure>`
5377 """
5378 await self.load_markets()
5379 ordersRequests = []
5380 symbol = None
5381 market = None
5382 marginMode = None
5383 for i in range(0, len(orders)):
5384 rawOrder = orders[i]
5385 marketId = self.safe_string(rawOrder, 'symbol')
5386 if symbol is None:
5387 symbol = marketId
5388 else:
5389 if symbol != marketId:
5390 raise BadRequest(self.id + ' createOrders() requires all orders to have the same symbol')
5391 type = self.safe_string(rawOrder, 'type')
5392 side = self.safe_string(rawOrder, 'side')
5393 amount = self.safe_value(rawOrder, 'amount')
5394 price = self.safe_value(rawOrder, 'price')
5395 orderParams = self.safe_value(rawOrder, 'params', {})
5396 marginResult = self.handle_margin_mode_and_params('createOrders', orderParams)
5397 currentMarginMode = marginResult[0]
5398 if currentMarginMode is not None:
5399 if marginMode is None:
5400 marginMode = currentMarginMode
5401 else:
5402 if marginMode != currentMarginMode:
5403 raise BadRequest(self.id + ' createOrders() requires all orders to have the same margin mode(isolated or cross)')
5404 market = self.market(symbol)
5405 orderRequest = None
5406 if market['spot']:
5407 orderRequest = await self.create_spot_order_request(marketId, type, side, amount, price, orderParams)
5408 else:
5409 orderRequest = self.create_contract_order_request(marketId, type, side, amount, price, orderParams)
5410 orderRequest = self.omit(orderRequest, 'marginMode')
5411 ordersRequests.append(orderRequest)
5412 request = {}
5413 response = None
5414 if self.safe_bool(market, 'spot'):
5415 response = await self.privatePostOrderBatchOrders(ordersRequests)
5416 else:
5417 if self.safe_bool(market, 'linear'):
5418 response = await self.contractPrivatePostV5TradeBatchOrders(ordersRequests)
5419 elif self.safe_bool(market, 'inverse'):
5420 request['orders_data'] = ordersRequests
5421 if self.safe_bool(market, 'swap'):
5422 response = await self.contractPrivatePostSwapApiV1SwapBatchorder(request)

Callers 2

test_binanceMethod · 0.45
test_binanceMethod · 0.45

Tested by 2

test_binanceMethod · 0.36
test_binanceMethod · 0.36