@method @name okx#cancelOrder @description cancels an open order @see https://www.okx.com/docs-v5/en/#order-book-trading-trade-post-cancel-order @see https://www.okx.com/docs-v5/en/#order-book-trading-algo-trading-post-cancel-algo-order @param {string} id order id @param {string} symbol unified symb
(Object id, Object... optionalArgs)
| 4041 | * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure} |
| 4042 | */ |
| 4043 | public java.util.concurrent.CompletableFuture<Object> cancelOrder(Object id, Object... optionalArgs) |
| 4044 | { |
| 4045 | |
| 4046 | return java.util.concurrent.CompletableFuture.supplyAsync(() -> { |
| 4047 | |
| 4048 | Object symbol = Helpers.getArg(optionalArgs, 0, null); |
| 4049 | Object parameters = Helpers.getArg(optionalArgs, 1, new java.util.HashMap<String, Object>() {{}}); |
| 4050 | if (Helpers.isTrue(Helpers.isEqual(symbol, null))) |
| 4051 | { |
| 4052 | throw new ArgumentsRequired((String)Helpers.add(this.id, " cancelOrder() requires a symbol argument")) ; |
| 4053 | } |
| 4054 | Object trigger = this.safeValue2(parameters, "stop", "trigger"); |
| 4055 | Object trailing = this.safeBool(parameters, "trailing", false); |
| 4056 | if (Helpers.isTrue(Helpers.isTrue(trigger) || Helpers.isTrue(trailing))) |
| 4057 | { |
| 4058 | Object orderInner = (this.cancelOrders(new java.util.ArrayList<Object>(java.util.Arrays.asList(id)), symbol, parameters)).join(); |
| 4059 | return this.safeDict(orderInner, 0); |
| 4060 | } |
| 4061 | (this.loadMarkets()).join(); |
| 4062 | Object market = this.market(symbol); |
| 4063 | Object request = new java.util.HashMap<String, Object>() {{ |
| 4064 | put( "instId", Helpers.GetValue(market, "id") ); |
| 4065 | }}; |
| 4066 | Object clientOrderId = this.safeString2(parameters, "clOrdId", "clientOrderId"); |
| 4067 | if (Helpers.isTrue(!Helpers.isEqual(clientOrderId, null))) |
| 4068 | { |
| 4069 | Helpers.addElementToObject(request, "clOrdId", clientOrderId); |
| 4070 | } else |
| 4071 | { |
| 4072 | Helpers.addElementToObject(request, "ordId", id); |
| 4073 | } |
| 4074 | Object query = this.omit(parameters, new java.util.ArrayList<Object>(java.util.Arrays.asList("clOrdId", "clientOrderId"))); |
| 4075 | Object response = (this.privatePostTradeCancelOrder(this.extend(request, query))).join(); |
| 4076 | // {"code":"0","data":[{"clOrdId":"","ordId":"317251910906576896","sCode":"0","sMsg":""}],"msg":""} |
| 4077 | Object data = this.safeValue(response, "data", new java.util.ArrayList<Object>(java.util.Arrays.asList())); |
| 4078 | Object order = this.safeDict(data, 0); |
| 4079 | return this.parseOrder(order, market); |
| 4080 | }); |
| 4081 | |
| 4082 | } |
| 4083 | |
| 4084 | public Object parseIds(Object ids) |
| 4085 | { |
nothing calls this directly
no test coverage detected