Периодически сервера Quik перестают транслировать данные по некоторым опционам.
Выглядит это так как опцион был и все его параметры транслировались, эти опционы постоянно мониторятся lua скриптом - который был запущен в тот момент когда опционы все ещё были живы.
В какой то момент некоторые дальние опционы "дохнут" (ещё до истечения по сроку) и исчезают из трансляции серверов Quik как доступные инструменты.
Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:
Спрос Предл. Цена послед. Волатильность Теор. цена
Вместо нулевых значений начинает отображаться пустое значение.
Если таблицу отредактировать и заново заполнить по фильтру - то эти опционы исчезают.
В итоге по DDE из указанной таблицы начинают транслироваться пустые значения - что приводит к зависанию DDE сервера - до тех пор пока сдохнувшие опционы не будут удалены из таблицы
В lua мониторятся стаканы этих опционов - запускается скрипт и формируется список для мониторинга в тот момент когда опцион ещё жив, но в тот момент когда опционы дохнут - попытка мониторинга приводит к зависанию Quik намертво (даже ошибок lua не показывает)
Подобная конструкция - для предварительной проверки успешности запроса getParamEx через параметр result - не помогает, скрипт всё равно вешает Quik.
Какие функции позволят заблаговременно отследить исчезновение инструмента из трансляции сервера Quik ?
Выглядит это так как опцион был и все его параметры транслировались, эти опционы постоянно мониторятся lua скриптом - который был запущен в тот момент когда опционы все ещё были живы.
В какой то момент некоторые дальние опционы "дохнут" (ещё до истечения по сроку) и исчезают из трансляции серверов Quik как доступные инструменты.
Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:
Спрос Предл. Цена послед. Волатильность Теор. цена
Вместо нулевых значений начинает отображаться пустое значение.
Если таблицу отредактировать и заново заполнить по фильтру - то эти опционы исчезают.
В итоге по DDE из указанной таблицы начинают транслироваться пустые значения - что приводит к зависанию DDE сервера - до тех пор пока сдохнувшие опционы не будут удалены из таблицы
В lua мониторятся стаканы этих опционов - запускается скрипт и формируется список для мониторинга в тот момент когда опцион ещё жив, но в тот момент когда опционы дохнут - попытка мониторинга приводит к зависанию Quik намертво (даже ошибок lua не показывает)
Подобная конструкция - для предварительной проверки успешности запроса getParamEx через параметр result - не помогает, скрипт всё равно вешает Quik.
Какие функции позволят заблаговременно отследить исчезновение инструмента из трансляции сервера Quik ?
Код |
---|
function Quotes(code) local ther_price_hz = getParamEx(class_code, code, "THEORPRICE") if(ther_price_hz.result == "1") then local ther_price = tonumber(ther_price_hz.param_value) -- .... end end |