create a list of trade orders(all orders should be of the same symbol) https://hashkeyglobal-apidoc.readme.io/reference/create-multiple-orders https://hashkeyglobal-apidoc.readme.io/reference/batch-create-new-futures-order :param Array orders: list of orders to cre
(self, orders: List[OrderRequest], params={})
| 2698 | return self.parse_order(response, market) |
| 2699 | |
| 2700 | def create_orders(self, orders: List[OrderRequest], params={}): |
| 2701 | """ |
| 2702 | create a list of trade orders(all orders should be of the same symbol) |
| 2703 | |
| 2704 | https://hashkeyglobal-apidoc.readme.io/reference/create-multiple-orders |
| 2705 | https://hashkeyglobal-apidoc.readme.io/reference/batch-create-new-futures-order |
| 2706 | |
| 2707 | :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 |
| 2708 | :param dict [params]: extra parameters specific to the api endpoint |
| 2709 | :returns dict: an `order structure <https://docs.ccxt.com/?id=order-structure>` |
| 2710 | """ |
| 2711 | self.load_markets() |
| 2712 | ordersRequests = [] |
| 2713 | for i in range(0, len(orders)): |
| 2714 | rawOrder = orders[i] |
| 2715 | symbol = self.safe_string(rawOrder, 'symbol') |
| 2716 | type = self.safe_string(rawOrder, 'type') |
| 2717 | side = self.safe_string(rawOrder, 'side') |
| 2718 | amount = self.safe_number(rawOrder, 'amount') |
| 2719 | price = self.safe_number(rawOrder, 'price') |
| 2720 | orderParams = self.safe_dict(rawOrder, 'params', {}) |
| 2721 | orderRequest = self.create_order_request(symbol, type, side, amount, price, orderParams) |
| 2722 | clientOrderId = self.safe_string(orderRequest, 'clientOrderId') |
| 2723 | if clientOrderId is None: |
| 2724 | orderRequest['clientOrderId'] = self.uuid() # both spot and swap endpoints require clientOrderId |
| 2725 | ordersRequests.append(orderRequest) |
| 2726 | firstOrder = ordersRequests[0] |
| 2727 | firstSymbol = self.safe_string(firstOrder, 'symbol') |
| 2728 | market = self.market(firstSymbol) |
| 2729 | request = { |
| 2730 | 'orders': ordersRequests, |
| 2731 | } |
| 2732 | response = None |
| 2733 | if market['spot']: |
| 2734 | response = self.privatePostApiV1SpotBatchOrders(self.extend(request, params)) |
| 2735 | # |
| 2736 | # { |
| 2737 | # "code": 0, |
| 2738 | # "result": [ |
| 2739 | # { |
| 2740 | # "code": "0000", |
| 2741 | # "order": { |
| 2742 | # "accountId": "1732885739589466112", |
| 2743 | # "symbol": "ETHUSDT", |
| 2744 | # "symbolName": "ETHUSDT", |
| 2745 | # "clientOrderId": "1722701490163000", |
| 2746 | # "orderId": "1744540984757258752", |
| 2747 | # "transactTime": "1722701491385", |
| 2748 | # "price": "1500", |
| 2749 | # "origQty": "0.001", |
| 2750 | # "executedQty": "0", |
| 2751 | # "status": "NEW", |
| 2752 | # "timeInForce": "GTC", |
| 2753 | # "type": "LIMIT", |
| 2754 | # "side": "BUY", |
| 2755 | # "reqAmount": "0" |
| 2756 | # } |
| 2757 | # } |
nothing calls this directly
no test coverage detected