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

Method create_orders_request

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

Source from the content-addressed store, hash-verified

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

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