create a list of trade orders https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order :param Array orders: list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, am
(self, orders: List[OrderRequest], params={})
| 2035 | return self.parse_order({'status': 'running', 'oid': orderId}, market) |
| 2036 | |
| 2037 | def create_orders(self, orders: List[OrderRequest], params={}): |
| 2038 | """ |
| 2039 | create a list of trade orders |
| 2040 | |
| 2041 | https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order |
| 2042 | |
| 2043 | :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 |
| 2044 | :param dict [params]: extra parameters specific to the exchange API endpoint |
| 2045 | :returns dict: an `order structure <https://docs.ccxt.com/?id=order-structure>` |
| 2046 | """ |
| 2047 | self.load_markets() |
| 2048 | self.initialize_client() |
| 2049 | request = self.create_orders_request(orders, params) |
| 2050 | response = self.privatePostExchange(request) |
| 2051 | # |
| 2052 | # { |
| 2053 | # "status": "ok", |
| 2054 | # "response": { |
| 2055 | # "type": "order", |
| 2056 | # "data": { |
| 2057 | # "statuses": [ |
| 2058 | # { |
| 2059 | # "resting": { |
| 2060 | # "oid": 5063830287 |
| 2061 | # } |
| 2062 | # } |
| 2063 | # ] |
| 2064 | # } |
| 2065 | # } |
| 2066 | # } |
| 2067 | # |
| 2068 | responseObj = self.safe_dict(response, 'response', {}) |
| 2069 | data = self.safe_dict(responseObj, 'data', {}) |
| 2070 | statuses = self.safe_list(data, 'statuses', []) |
| 2071 | ordersToBeParsed = [] |
| 2072 | for i in range(0, len(statuses)): |
| 2073 | order = statuses[i] |
| 2074 | if order == 'waitingForTrigger': |
| 2075 | ordersToBeParsed.append({'status': order}) # tp/sl orders can return a string like "waitingForTrigger", |
| 2076 | else: |
| 2077 | ordersToBeParsed.append(order) |
| 2078 | return self.parse_orders(ordersToBeParsed) |
| 2079 | |
| 2080 | def create_order_request(self, symbol: str, type: OrderType, side: OrderSide, amount: str, price: Str = None, params={}): |
| 2081 | market = self.market(symbol) |
no test coverage detected