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

Method create_orders_request

python/ccxt/async_support/gate.py:4219–4247  ·  view source on GitHub ↗
(self, orders: List[OrderRequest], params={})

Source from the content-addressed store, hash-verified

4217 return self.parse_order(response, market)
4218
4219 def create_orders_request(self, orders: List[OrderRequest], params={}):
4220 ordersRequests = []
4221 orderSymbols = []
4222 ordersLength = len(orders)
4223 if ordersLength == 0:
4224 raise BadRequest(self.id + ' createOrders() requires at least one order')
4225 if ordersLength > 10:
4226 raise BadRequest(self.id + ' createOrders() accepts a maximum of 10 orders at a time')
4227 for i in range(0, len(orders)):
4228 rawOrder = orders[i]
4229 marketId = self.safe_string(rawOrder, 'symbol')
4230 orderSymbols.append(marketId)
4231 type = self.safe_string(rawOrder, 'type')
4232 side = self.safe_string(rawOrder, 'side')
4233 amount = self.safe_value(rawOrder, 'amount')
4234 price = self.safe_value(rawOrder, 'price')
4235 orderParams = self.safe_value(rawOrder, 'params', {})
4236 extendedParams = self.extend(orderParams, params) # the request does not accept extra params since it's a list, so we're extending each order with the common params
4237 triggerValue = self.safe_value_n(orderParams, ['triggerPrice', 'stopPrice', 'takeProfitPrice', 'stopLossPrice'])
4238 if triggerValue is not None:
4239 raise NotSupported(self.id + ' createOrders() does not support advanced order properties(stopPrice, takeProfitPrice, stopLossPrice)')
4240 extendedParams['textIsRequired'] = True # the exchange requires a text parameter for each order here
4241 orderRequest = self.create_order_request(marketId, type, side, amount, price, extendedParams)
4242 ordersRequests.append(orderRequest)
4243 symbols = self.market_symbols(orderSymbols, None, False, True, True)
4244 market = self.market(symbols[0])
4245 if market['future'] or market['option']:
4246 raise NotSupported(self.id + ' createOrders() does not support futures or options markets')
4247 return ordersRequests
4248
4249 async def create_orders(self, orders: List[OrderRequest], params={}):
4250 """

Callers 1

create_ordersMethod · 0.95

Calls 11

create_order_requestMethod · 0.95
BadRequestClass · 0.90
NotSupportedClass · 0.90
safe_stringMethod · 0.80
safe_valueMethod · 0.80
safe_value_nMethod · 0.80
market_symbolsMethod · 0.80
rangeFunction · 0.50
appendMethod · 0.45
extendMethod · 0.45
marketMethod · 0.45

Tested by

no test coverage detected