public Task <LimitOrderResponse> PlaceLimitOrder(string figi, PlaceLimitOrderPayload payload, string brokerAccountId = null, CancellationToken cancellationToken = default) { var query = new Dictionary <string, string> { { "figi", figi } }; if (!string.IsNullOrWhiteSpace(brokerAccountId)) { query.Add("brokerAccountId", brokerAccountId); } return(_http.Post <LimitOrderResponse>($"orders/limit-order", payload, query, cancellationToken: cancellationToken)); }
public async Task Should_place_limit_order() { var balanceSetResponse = await _sandboxService.SetCurrencyBalance(new SandboxSetCurrencyBalanceRequest { Balance = 200, Currency = Currency.Usd }); ValidateRestResponse(balanceSetResponse); var request = new PlaceLimitOrderPayload { Lots = 1, Operation = OperationType.Buy, Price = 180 }; var response = await _orderService.PlaceLimitOrder("BBG000D9D830", request); ValidateRestResponse(response); Assert.NotNull(response.Order); Assert.Equal(OrderStatus.Fill, response.Order.Status); }