Хочу уточнить по поводу функции OnCleanUp

Страницы: 1
RSS
Хочу уточнить по поводу функции OnCleanUp
 
Функция OnCleanUp вызывается, когда
  • смена сервера QUIK внутри торговой сессии;
  • смена пользователя, которым выполняется подключение к серверу QUIK, внутри  торговой сессии;
  • смена сессии.
1. Означает ли это, что после вызова функции OnCleanUp все таблицы очищены, в том числе таблица инструментов?
2. Какие действия необходимо предпринять, когда происходит событие OnCleanUp
3. При смене сервера квик происходит перезагрузка всех данных? Или некоторых таблиц?
4. Смена пользователя ведет к перегрузке всех данных? Или некоторых таблиц?
5. Что происходит при смене сессии?
 
Цитата
Александр написал:
1. Означает ли это, что после вызова функции OnCleanUp все таблицы очищены, в том числе таблица инструментов?
Да.

Цитата
Александр написал:
2. Какие действия необходимо предпринять, когда происходит событие OnCleanUp
Это зависит от логики Вашего скрипта.

Цитата
Александр написал:
3. При смене сервера квик происходит перезагрузка всех данных? Или некоторых таблиц?

Происходит перезаказ всех торговых данных и данных о клиенте.
Если говорить про историю графиков, то она не обнуляется.

Цитата
Александр написал:
4. Смена пользователя ведет к перегрузке всех данных? Или некоторых таблиц?
всех торговых данных и данных о клиенте.

Цитата
Александр написал:
5. Что происходит при смене сессии?
Меняется сессия. Простым языком можно считать что все начинается с нуля.
 
Относится ли таблица инструментов к торговым данным?
 
Да
 
Цитата
Sergey Gorokhov написал:
Да
А как понять, что таблица инструментов загрузилась после вызова OnCleanUp?
Через колбек OnConnected и флаг?
 
Александр,

Таблица инструментов (securities) грузится самой первой, в связи с чем время ее загрузки минимально.
Определить точно когда она загружена не представляется возможным т.к. сервер не передает такого признака.
Проверить количество инструментов в таблице можно функцией getNumberOf, если количество перестало обновляться можно судить о том что имеющаяся информация загружена.
Однако, новые инструменты могут появиться и после подключения к серверу, даже посреди торгов, так что этот метод нельзя назвать надежным.
Узнать будут ли такие появления или нет, тоже нельзя, т.к. нет способа увидеть что будет в будущем.
 
Цитата
Sergey Gorokhov написал:
Александр,

Таблица инструментов (securities) грузится самой первой, в связи с чем время ее загрузки минимально.
Определить точно когда она загружена не представляется возможным т.к. сервер не передает такого признака.
Проверить количество инструментов в таблице можно функцией getNumberOf, если количество перестало обновляться можно судить о том что имеющаяся информация загружена.
Однако, новые инструменты могут появиться и после подключения к серверу, даже посреди торгов, так что этот метод нельзя назвать надежным.
Узнать будут ли такие появления или нет, тоже нельзя, т.к. нет способа увидеть что будет в будущем.
1. Можно в будущих версиях добавить колбек для мониторинга изменения в таблице инструметов (securities), OnSecurity?
2. Объясните назначение flag=false в OnConnected?
 
Цитата
Александр написал:
1. Можно в будущих версиях добавить колбек для мониторинга изменения в таблице инструметов (securities), OnSecurity?
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.

Цитата
Александр написал:
2. Объясните назначение flag=false в OnConnected?

А что не понятно из документации?
Цитата
Если в течение торгового дня терминал получает новый класс, то функция вызывается еще раз, при этом параметр вызова flag принимает значение «false».
 
Цитата
Sergey Gorokhov написал:
А что не понятно из документации?
Не понятно, что значит приходит новый класс.
По логике после прихода колбека OnCleanUp в системе нет инструментов, значит и нет классов.
И при приходе нового класса, должен вызываться колбек onConnected с флагом = false? Я это так понял. Или я не верно понимаю?
 
Цитата
Александр написал:
Не понятно, что значит приходит новый класс.
Например если брокер запустил шлюз, он отправляет классы на сервер.
Вы к тому времени уже давно подключены к серверу.
В результате к Вам приедут классы которых при подключении еще не было.

Цитата
Александр написал:
По логике после прихода колбека OnCleanUp в системе нет инструментов, значит и нет классов.
А причем тут OnCleanUp? вопрос же был про onConnected.

Цитата
Александр написал:
И при приходе нового класса, должен вызываться колбек onConnected с флагом = false? Я это так понял. Или я не верно понимаю?

Вам привели конкретную цитату из документации где ровно это и сказано.
 
Цитата
Sergey Gorokhov написал:
А причем тут OnCleanUp? вопрос же был про onConnected.
После события OnCleanUp классы инструментов, которые придут в терминал не будут вызваны в onConnected?
Может быть тогда так сделать, если загрузился новый класс инструментов (терминал получил данный класс), то все инструменты по классу загружены и вызывать событие onConnected? Было бы логично.
Цитата
Sergey Gorokhov написал:
Вам привели конкретную цитату из документации где ровно это и сказано.
Мне было не понятно, когда такое может происходить, в документации не написано. Сейчас стало более ясно.
 
Может ли OnCleanUp приходить раньше OnConnected? Например, подключаюсь к серверу:
Сначала приходит OnCleanUp, потом OnConnected. Версия терминала: 8.2.0.78
Страницы: 1
Читают тему
Наверх