1

Тема: Получение стакана без открытия стакана

Мне нужно получить стакан без открытия стакана в Квике.

Я так понял это три основные функции:

-OnQuote
-getQuoteLevel2
-Subscribe_Level_II_Quotes


OnQuote: я так понял - это глоабльная функция Квика, которая вызывается каждый раз на изменение во всех стаканах Квика, открытых и не открытых, всех классов и бумаг.

getQuoteLevel2: заказывает сам стакан по конкретному классу и бумаге и получает таблицу данных стакана, НО только, если стакан открыт в Квик, что очень печально и с какого перепуга нельзя сделать без открытого стакана ?

Subscribe_Level_II_Quotes: а вот эта функция мне что то совсем не понятна. В описании написано, что:


Функция заказывает на сервер получение стакана по указанному классу и бумаге.

Но для работы OnQuote - это не требуется.
Для getQuoteLevel2 - тоже вызов Subscribe_Level_II_Quotes - не требуется.

Так что в итоге делает Subscribe_Level_II_Quotes ?

2

Re: Получение стакана без открытия стакана

Serg_ пишет:

Для getQuoteLevel2 - тоже вызов Subscribe_Level_II_Quotes - не требуется.

Это в общем случае не так.
Видимо просто у вас открыт соответствующий стакан, или был открыт, или включено получение информации по соответствующему инструменту в настройках.

3

Re: Получение стакана без открытия стакана

Serg_ пишет:

Для getQuoteLevel2 - тоже вызов Subscribe_Level_II_Quotes - не требуется.

Так что в итоге делает Subscribe_Level_II_Quotes ?

Subscribe_Level_II_Quotes  как раз и требуется для того, чтобы получить стакан с помощью getQuoteLevel2 без открытия таблицы стакана.

-- пример
-- задаем класс инструмента и инструмент
CLASS="TQBR"
SEC="SBER"

-- один раз подписываемся на стакан
if Subscribe_Level_II_Quotes(CLASS, SEC) then
    message("Quotes Subscribed", 1 )
else
    message("Quotes NOT Subscribed", 2)
end

-- после подписки получаем стакан столько раз, сколько нужно
qt = getQuoteLevel2(CLASS, SEC)

-- отписываемся от получения стакана
Unsubscribe_Level_II_Quotes(CLASS, SEC)