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

Method create_orders

python/ccxt/async_support/bingx.py:3230–3325  ·  view source on GitHub ↗

create a list of trade orders https://bingx-api.github.io/docs-v3/#/en/Spot/Trades%20Endpoints/Place%20multiple%20orders https://bingx-api.github.io/docs-v3/#/en/Swap/Trades%20Endpoints/Place%20multiple%20orders :param Array orders: list of orders to create, each o

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

Source from the content-addressed store, hash-verified

3228 return self.parse_order(result, market)
3229
3230 async def create_orders(self, orders: List[OrderRequest], params={}):
3231 """
3232 create a list of trade orders
3233
3234 https://bingx-api.github.io/docs-v3/#/en/Spot/Trades%20Endpoints/Place%20multiple%20orders
3235 https://bingx-api.github.io/docs-v3/#/en/Swap/Trades%20Endpoints/Place%20multiple%20orders
3236
3237 :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
3238 :param dict [params]: extra parameters specific to the exchange API endpoint
3239 :param boolean [params.sync]: *spot only* if True, multiple orders are ordered serially and all orders do not require the same symbol/side/type
3240 :returns dict: an `order structure <https://docs.ccxt.com/?id=order-structure>`
3241 """
3242 await self.load_markets()
3243 ordersRequests = []
3244 marketIds = []
3245 for i in range(0, len(orders)):
3246 rawOrder = orders[i]
3247 marketId = self.safe_string(rawOrder, 'symbol')
3248 type = self.safe_string(rawOrder, 'type')
3249 marketIds.append(marketId)
3250 side = self.safe_string(rawOrder, 'side')
3251 amount = self.safe_number(rawOrder, 'amount')
3252 price = self.safe_number(rawOrder, 'price')
3253 orderParams = self.safe_dict(rawOrder, 'params', {})
3254 orderRequest = self.create_order_request(marketId, type, side, amount, price, orderParams)
3255 ordersRequests.append(orderRequest)
3256 symbols = self.market_symbols(marketIds, None, False, True, True)
3257 symbolsLength = len(symbols)
3258 market = self.market(symbols[0])
3259 request = {}
3260 response = None
3261 if market['swap']:
3262 if symbolsLength > 5:
3263 raise InvalidOrder(self.id + ' createOrders() can not create more than 5 orders at once for swap markets')
3264 request['batchOrders'] = self.json(ordersRequests)
3265 response = await self.swapV2PrivatePostTradeBatchOrders(request)
3266 else:
3267 sync = self.safe_bool(params, 'sync', False)
3268 if sync:
3269 request['sync'] = True
3270 request['data'] = self.json(ordersRequests)
3271 response = await self.spotV1PrivatePostTradeBatchOrders(request)
3272 #
3273 # spot
3274 #
3275 # {
3276 # "code": 0,
3277 # "msg": "",
3278 # "debugMsg": "",
3279 # "data": {
3280 # "orders": [
3281 # {
3282 # "symbol": "BTC-USDT",
3283 # "orderId": 1720661389564968960,
3284 # "transactTime": 1699072618272,
3285 # "price": "25000",
3286 # "origQty": "0.0002",
3287 # "executedQty": "0",

Callers

nothing calls this directly

Calls 15

create_order_requestMethod · 0.95
InvalidOrderClass · 0.90
safe_stringMethod · 0.80
safe_numberMethod · 0.80
safe_dictMethod · 0.80
market_symbolsMethod · 0.80
safe_boolMethod · 0.80
parse_jsonMethod · 0.80
safe_listMethod · 0.80
parse_ordersMethod · 0.80

Tested by

no test coverage detected