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

Method create_orders

python/ccxt/bingx.py:3229–3324  ·  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

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