При получении Securities пустые marginBuy/Sell (баг или фича?)
Atom Ответить
29.06.2018


Добрый день!
Подключаюсь через Quik LUA к S# API без каких-либо ошибок. Далее получаю NewSecurities и по определённому инструменту хочу рассчитать кол-во лотов, на которое хватит свободных средств. Но поля marginBuy/Sell абсолютно пустые.
P.S. Дату экспирации (secur.ExpiryDate), например, и код инструмента (secur.Code) выдаёт нормально.
RegisterSecutity() и _trader.NewSecurityChanges пробовал. Но по зарегистрированному инструменту ГО так и не пришло.

Выручайте, а то совсем застрял.

Код

connect.LookupSecuritiesResult += async (except, securities) => await newSecurities(securities); // Получаем инструменты
async Task newSecurities(IEnumerable<Security> securities)
{
if (securities.Count() != 0)
{
foreach (var secur in securities)
{
Console.WriteLine(secur.MarginBuy.ToString());
}
}
}

Теги:


Спасибо:




1 Ответов
RubyLion

Фотография
Дата: 02.07.2018
Ответить


Всем, кто столкнётся с подобной проблемой:
Всё оказалось очень просто. При старте программы и последующем возникновении события NewSecurities или LookupSecuritiesResult поля типа ГО покупателя/продавца ещё не заполнены. Пришлось сделать паузу на 15 секунд, перед тем как обращаться к этим полям.
Вопрос закрыт.
Автор топика
Спасибо: Mikhail Sukhov


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy