Tinkoff / invest-api-csharp-sdk

51 stars 19 forks source link

C# ругается на PostOrderRequest.Price - не могу создать запрос на операцию. #27

Closed AndreyVolodin2 closed 2 years ago

AndreyVolodin2 commented 2 years ago

var client2 = new Tinkoff.InvestApi.V1.SandboxService.SandboxServiceClient(chanel);

PostOrderRequest r = new PostOrderRequest();

        r.Figi = "BBG0047315Y7";
        r.OrderId = "1";
        r.Price.Units = 1185;
        r.Price.Nano = 0;
        r.Direction = OrderDirection.Buy;
        r.OrderType = OrderType.Limit;

        var rep = client2.PostSandboxOrder(r , headers);

Ругается на строку r.Price.Units = 1185; говорит Object reference not set! Как это исправить?

TVlZh commented 2 years ago
r.Price = new Quotation { Nano = 0, Units = 1185 }; 

Так как Price является объектом, то его нужно сначала инициализировать как объект, а потом заполнить значения полей.

AndreyVolodin2 commented 2 years ago

@TVlZh Добрый человек, а подскажите, как этот самый Quotation можно в итоге конвертнуть в какой-нибудь Double или что-то подобное? Хочу например понять, была ли растущей последняя свеча и на какой процент, а у меня только этот странный тип, который не сложит и не вычесть.

AlexanderVolkovTCS commented 2 years ago

конвертнуть в какой-нибудь Double

Value = Units + Nano / 1,000,000,000