(Object id, Object symbol, Object type, Object side2, Object... optionalArgs)
| 1686 | } |
| 1687 | |
| 1688 | public java.util.concurrent.CompletableFuture<Object> editOrder(Object id, Object symbol, Object type, Object side2, Object... optionalArgs) |
| 1689 | { |
| 1690 | final Object side3 = side2; |
| 1691 | return java.util.concurrent.CompletableFuture.supplyAsync(() -> { |
| 1692 | Object side = side3; |
| 1693 | Object amount = Helpers.getArg(optionalArgs, 0, null); |
| 1694 | Object price = Helpers.getArg(optionalArgs, 1, null); |
| 1695 | Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}}); |
| 1696 | Object omsId = this.safeInteger(this.options, "omsId", 1); |
| 1697 | (this.loadMarkets()).join(); |
| 1698 | (this.loadAccounts()).join(); |
| 1699 | Object defaultAccountId = this.safeInteger2(this.options, "accountId", "AccountId", Helpers.parseInt(Helpers.GetValue(Helpers.GetValue(this.accounts, 0), "id"))); |
| 1700 | Object accountId = this.safeInteger2(parameters, "accountId", "AccountId", defaultAccountId); |
| 1701 | Object clientOrderId = this.safeInteger2(parameters, "ClientOrderId", "clientOrderId"); |
| 1702 | parameters = this.omit(parameters, new java.util.ArrayList<Object>(java.util.Arrays.asList("accountId", "AccountId", "clientOrderId", "ClientOrderId"))); |
| 1703 | Object market = this.market(symbol); |
| 1704 | Object orderSide = ((Helpers.isTrue((Helpers.isEqual(side, "buy"))))) ? 0 : 1; |
| 1705 | Object request = new java.util.HashMap<String, Object>() {{ |
| 1706 | put( "OrderIdToReplace", Helpers.parseInt(id) ); |
| 1707 | put( "InstrumentId", Helpers.parseInt(Helpers.GetValue(market, "id")) ); |
| 1708 | put( "omsId", omsId ); |
| 1709 | put( "AccountId", accountId ); |
| 1710 | put( "TimeInForce", 1 ); |
| 1711 | put( "Side", orderSide ); |
| 1712 | put( "Quantity", Helpers.parseFloat(NdaxCore.this.amountToPrecision(symbol, amount)) ); |
| 1713 | put( "OrderType", NdaxCore.this.safeInteger(Helpers.GetValue(NdaxCore.this.options, "orderTypes"), NdaxCore.this.capitalize(type)) ); |
| 1714 | }}; |
| 1715 | // If OrderType=1 (Market), Side=0 (Buy), and LimitPrice is supplied, the Market order will execute up to the value specified |
| 1716 | if (Helpers.isTrue(!Helpers.isEqual(price, null))) |
| 1717 | { |
| 1718 | Helpers.addElementToObject(request, "LimitPrice", Helpers.parseFloat(this.priceToPrecision(symbol, price))); |
| 1719 | } |
| 1720 | if (Helpers.isTrue(!Helpers.isEqual(clientOrderId, null))) |
| 1721 | { |
| 1722 | Helpers.addElementToObject(request, "ClientOrderId", clientOrderId); |
| 1723 | } |
| 1724 | Object response = (this.privatePostCancelReplaceOrder(this.extend(request, parameters))).join(); |
| 1725 | // |
| 1726 | // { |
| 1727 | // "replacementOrderId": 1234, |
| 1728 | // "replacementClOrdId": 1561, |
| 1729 | // "origOrderId": 5678, |
| 1730 | // "origClOrdId": 91011, |
| 1731 | // } |
| 1732 | // |
| 1733 | return this.parseOrder(response, market); |
| 1734 | }); |
| 1735 | |
| 1736 | } |
| 1737 | |
| 1738 | /** |
| 1739 | * @method |
nothing calls this directly
no test coverage detected