* @method * @name hyperliquid#createOrderWs * @description create a trade order using WebSocket post request * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order * @param {string} symbol unified symbol of the market to create
(symbol: string, type: OrderType, side: OrderSide, amount: number, price: Num = undefined, params = {})
| 109 | * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure} |
| 110 | */ |
| 111 | async createOrderWs (symbol: string, type: OrderType, side: OrderSide, amount: number, price: Num = undefined, params = {}) { |
| 112 | await this.loadMarkets (); |
| 113 | const [ order, globalParams ] = this.parseCreateEditOrderArgs (undefined, symbol, type, side, amount, price, params); |
| 114 | const orders = await this.createOrdersWs ([ order as any ], globalParams); |
| 115 | const ordersLength = orders.length; |
| 116 | if (ordersLength === 0) { |
| 117 | // not sure why but it is happening sometimes |
| 118 | return this.safeOrder ({}); |
| 119 | } |
| 120 | const parsedOrder = orders[0]; |
| 121 | return parsedOrder; |
| 122 | } |
| 123 | |
| 124 | /** |
| 125 | * @method |
nothing calls this directly
no test coverage detected