示例#1
0
        public Task <MarketOrderResponse> PlaceMarketOrder(string figi,
                                                           PlaceMarketOrderPayload 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 <MarketOrderResponse>($"orders/market-order",
                                                    payload,
                                                    query,
                                                    cancellationToken: cancellationToken));
        }
        public async Task Should_place_market_order()
        {
            var balanceSetResponse = await _sandboxService.SetCurrencyBalance(new SandboxSetCurrencyBalanceRequest
            {
                Balance  = 1000,
                Currency = Currency.Usd
            });

            ValidateRestResponse(balanceSetResponse);

            var request = new PlaceMarketOrderPayload
            {
                Lots      = 1,
                Operation = OperationType.Buy,
            };

            var response = await _orderService.PlaceMarketOrder("BBG000D9D830", request);

            ValidateRestResponse(response);
            Assert.NotNull(response.Order);
            Assert.Equal(OrderStatus.Fill, response.Order.Status);
        }