Откат к версии 6.15

Страницы: 1
RSS
Откат к версии 6.15
 
После обновления QUIK до версии 6.16.1.15 он стал периодически вылетать с ошибкой при запуске LUA-скрипта. В предыдущей версии 6.15 скрипт работал стабильно. Я хочу вернуться к предыдущей стабильной версии, но, к сожалению, после обновления я удалил из папки "backup" нужные файлы. Связался с брокером, но у него предыдущей версии уже нет. Брокер порекомендовал запросить версию 6.15 у разработчика на данном форуме, и указал, какие настройки надо будет поменять, чтобы она была совместима с его серверами.

Просьба к сотрудникам ARQA Technologies предоставить ссылку на дистрибутив QUIK версии 6.15 ( не Junior )
 
Цитата
Сергей Иваницкий пишет:
После обновления QUIK до версии 6.16.1.15 он стал периодически вылетать с ошибкой при запуске LUA-скрипта. В предыдущей версии 6.15 скрипт работал стабильно. Я хочу вернуться к предыдущей стабильной версии, но, к сожалению, после обновления я удалил из папки "backup" нужные файлы. Связался с брокером, но у него предыдущей версии уже нет. Брокер порекомендовал запросить версию 6.15 у разработчика на данном форуме, и указал, какие настройки надо будет поменять, чтобы она была совместима с его серверами.

Просьба к сотрудникам ARQA Technologies предоставить ссылку на дистрибутив QUIK версии 6.15 ( не Junior )
Добрый день,

Для диагностики проблемы, могли бы прислать нам на почту quiksupport@arqatech.com скрипт Lua, а также скриншот возникающей ошибки. В письме необходимо указать ссылку на данную ветку форума.
 
Удалось решить проблему своими силами. После замены в папке QUIK библиотеки lua5.1.dll версии 1.0.0.3 на старую версию 1.0.0.0 - вылеты с ошибкой прекратились, и всё работает стабильно.
 
не знаю, как насчёт 1.0.0.0. но, 1.0.0.3. - это просто библиотека импорта функций LUA из той же QLUA.dll. В поставке QUIK - она оставлена исключительно для совместимости. На данный момент, qlua.dll - полностью заменяет стандартный (с точки зрения LUA-дистрибутива файл). Скорей всего, проблема том, что Вы используете какие-то дополнительные внешние dll в своём скрипте, которые скомпилированы под lua.5.1.dll.

В любом случае, даже если, как Вы считаете, решили свою проблему то, могли бы хотя бы написать какую именно ошибку выдаёт квик.
 
Sam063rus, вы правы, дело не в версии lua5.1.dll. Сперва показалось, что проблема решена, но нет - вылеты с ошибкой продолжаются.

Речь идет о довольно известном скрипте "Intraday LUA", выполняющем функцию автостопа. QUIK вылетает с ошибкой "Internal exception happend", причем вылетает не сразу после запуска скрипта, а спустя некоторое время, от 20-30 минут до нескольких часов.

Сегодня на неподключенном к торгам терминале опытным путем выяснил, что вылет происходит при переключении на вкладку со свечным графиком нефтяного фьючерса BR. В понедельник проверю это в режиме торгов. Если окажется, что скрипт рушит терминал только на этом графике, просто удалю его, и дело с концом. Всё равно я этим фьючерсом не торгую, а его график использую лишь в справочных целях.
 
если Вы про те скрипты, которые распространяет mycreditcard.ru - то в них очень много багов. В таком случае, Вам лучше обратиться к ним, т.к. они не распространяют исходники от него. К тому же, сам привод - бесплатен у них - поэтому тут вряд ли получится, что-то потребовать.
 
одна из причин вылета может заключаться в том, что они используют в своём скрипте vcl.dll (так же известную, как VCLua 0.3.5). Она не предназначена для стабильной работы в среде QLUA. Подробно вся эта хрень обсуждалась на quik2dde.ru. На данный момент пока не удалось пересобрать полностью стабильный релиз, т.к. и сама QLUA оказалась не без греха: http://forum.quik.ru/messages/forum10/message1324/topic176/#message1324
 
К mycreditcard по этому вопросу обращаться смысла особого нет. Они пишут: "В версии QUIK 6.16.0.42 и старше были внесены изменения, которые приводят к ошибке после завершения QUIK при использовании библиотеки VCL. В версии 6.15.2.9 все работает корректно.
К сожалению внести какие-либо корректировки в скрипт на данный момент не представляется возможным, т.к. не известна причина такой работы QUIK." Что ж, значит, придется смириться с ситуацией.
 
Удалось четко локализовать условия, при которых терминал вылетает с ошибкой при запущенном скрипте. Происходит это только в двух случаях: а) при открытии одной из вкладок; б) при двойном щелчке левой кнопкой мыши по графику в другой вкладке. Если избегать этих действий, связка терминал-скрипт работает стабильно без ограничения по времени.

Так что тем, кто использует скрипт "Intraday LUA" и сталкивался с такой же проблемой, можно порекомендовать опытным путем выявить, какие действия служит триггером сбоя, и после запуска данного скрипта воздерживаться от них, если, конечно, они не критичны для работы.
 
Цитата
Сергей Иваницкий пишет:
при открытии одной из вкладок;
присоединяюсь - тоже это замечал. но не могу понять причину такого поведения. Michael Bulychev - Вам слово.
получается при потере фокуса окна скрипта (и то, не во всех случаях) - LUA VM ведёт себя непредсказуемым образом. Обычно такое зависание происходит в момент входа в критическую секцию (или в её теле) и вытекающую из этого непредсказуемость поведения всей системы (т.к. это основная обратная сторона медали использования критических секций).
 
Цитата
sam063rus пишет:

получается при потере фокуса окна скрипта (и то, не во всех случаях) - LUA VM ведёт себя непредсказуемым образом.
В моем случае потеря фокуса окна скрипта сама по себе не вызывает падения. Я могу свободно переключаться на любые вкладки ( кроме одной-единственной ) и вообще выполнять абсолютно любые действия в терминале, кроме двух вышеописанных. Окно скрипта при этом, естественно, находится "не в фокусе". И оно спокойно может быть "не в фокусе" сколь угодно долго, и при этом нормально работает как QUIK, так и сам скрипт. Падение ( опять-таки, в моем случае, как у других, не знаю ) вызывают именно "триггерные" действия, как таковые, а не вызванная ими потеря фокуса окна скрипта.

[USER=137][/USER]
 
Цитата
Сергей Иваницкий пишет:
...как у других, не знаю... а не вызванная ими потеря фокуса окна скрипта...
всё понятно. не буду больше комментировать посты с вашим участием.
 
Цитата
sam063rus пишет:
Обычно такое зависание происходит в момент входа в критическую секцию (или в её теле) и вытекающую из этого непредсказуемость поведения всей системы
тут я поясню - если во время входа в критическую секцию или в её теле произошло не обработанное исключение (неважно по какой-либо причине) - то, система ведёт себя именно так.
 
sam063rus, я вам благодарен за внимание к моей проблеме. Ни в коей мере не хотел поставить под сомнение ваши выводы на основании вашего опыта ( который явно больше, чем мой ). Я просто изложил свои наблюдения в одном конкретно взятом случае. А под "другими" имел ввиду не вас лично, а пользователей вообще.
 
Цитата
Сергей Иваницкий пишет:
Удалось четко локализовать условия, при которых терминал вылетает с ошибкой при запущенном скрипте. Происходит это только в двух случаях: а) при открытии одной из вкладок; б) при двойном щелчке левой кнопкой мыши по графику в другой вкладке. Если избегать этих действий, связка терминал-скрипт работает стабильно без ограничения по времени.

Так что тем, кто использует скрипт "Intraday LUA" и сталкивался с такой же проблемой, можно порекомендовать опытным путем выявить, какие действия служит триггером сбоя, и после запуска данного скрипта воздерживаться от них, если, конечно, они не критичны для работы.
Добрый день,

Ваше сообщение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
 
Цитата
Сергей Иваницкий пишет:
Удалось четко локализовать условия, при которых терминал вылетает с ошибкой при запущенном скрипте. Происходит это только в двух случаях: а) при открытии одной из вкладок; б) при двойном щелчке левой кнопкой мыши по графику в другой вкладке. Если избегать этих действий, связка терминал-скрипт работает стабильно без ограничения по времени.

Так что тем, кто использует скрипт "Intraday LUA" и сталкивался с такой же проблемой, можно порекомендовать опытным путем выявить, какие действия служит триггером сбоя, и после запуска данного скрипта воздерживаться от них, если, конечно, они не критичны для работы.
Добрый день.
Проблема в использовании vcl.dll
Подробности можно почитать тут
 
Столкнулся с аналогичной проблемой при работе собственного скрипта.
Скрипт делает следующее: создает Quik таблицу (AllocTable / CreateWindow) и периодически обновляет в ней данные.
Данные обновляются через полную очистку таблицы (Clear) и добавление новых строк (InsertRow).
Скрипт спокойно себя ведет, когда окно таблицы не в фокусе, но стоит только кликнуть по строке таблицы (видимо в момент обновления данных) - сразу вылетает ошибка.
Как ранее упоминал sam063rus , скорее всего причина в гонке потоков и некорректной синхронизации.
Версия Quik 7.5.0.72.
Страницы: 1
Читают тему
Наверх