Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
QUIK clients support
Сообщений: Регистрация: 22.12.2014
03.03.2020 09:50:37
Уважаемые клиенты!
Данное уведомление обязательно к ознакомлению всеми участниками торгов на срочном рынке Московской биржи.
Сообщаем, что Московская биржа уведомила участников торгов о важных изменениях в новой версии торговой системы срочного рынка. Ключевым нововведением является увеличение размерности идентификатора заявок и сделок: после обновления торговой системы идентификатор будет занимать до 19 десятичных знаков. В промышленной системе данное изменение запланировано на 14 сентября 2020 года:
Уведомляем Вас, что старые версии терминалов QUIK не поддерживают полноценную работу с 19-значными номерами. Это ОЧЕНЬ ВАЖНО! Если Вы работаете со скриптами QLUA, обязательно выполните все нижеописанные рекомендации.
Сообщаем о мерах, которые необходимо предпринять для корректной работы с 19-значными номерами заявок и сделок в QLUA:
1. Для корректной работы с 19-значными номерами в QLUA потребуется обновление терминала QUIK до версии 8.5 или более новой. Для получения с сервера Вашего брокера новой версии терминала для ОС Windows, перейдите в торговом терминале QUIK в пункт меню Система / О программе / Проверить обновление программы.
Мы настоятельно рекомендуем получать обновление торгового терминала именно с сервера брокера, с которым Вы работаете, однако, если Ваш брокер еще не выложил соответствующее обновление на свои сервера, с целью отладки скриптов на QLUA, Вы можете скачать новую версию торгового терминала QUIK с нашего FTP:
ВАЖНО!Перед обновлением обязательно сделайте резервную копию папки, в которой у Вас установлен торговый терминал QUIK.
2. В связи с необходимостью поддержки 19-значных номеров, в терминале версии 8.5 выполнено изменение версии LUA c 5.1 до 5.3. В связи с этим:
Выполнение скриптов, скомпилированных под версию Lua 5.1, будет невозможно на новой версии терминала QUIK, для решения проблемы потребуется повторная компиляция под версию Lua 5.3.
Так как Lua 5.3 частично обратно не совместим с версией Lua 5.1, настоятельно рекомендуется провести повторную отладку скриптов на новой версии терминала, и убедиться в их работоспособности. Более подробную информацию о совместимости Lua 5.1 и 5.3 можно получить по ссылкам:
На нашем сайте в разделе «файловый архив» () выложены новые версии индикаторов на Lua, которые совместимы как с Lua 5.3, так и с Lua 5.1. Если Вы использовали примеры этих скриптов в работе, их следует заново скачать, и обновить.
Дополнительная информация относительно внедрения 19-значных номеров заявок и сделок также доступна здесь: .
Ответы на часто задаваемые вопросы:
1. Вопрос:
У меня есть скрипты на QLUA, однако эти скрипты не используются для работы с данными срочного рынка Московской биржи, я хочу обновить терминал до версии 8.5, должен ли я проводить повторную компиляцию скриптов, а также их отладку на версии 8.5?
Ответ:
Да, если Вы планируете обновлять терминал до версии 8.5, это надо сделать обязательно, даже если Вы не работаете на срочном рынке Московской Биржи.
2. Вопрос:
У меня есть скрипты на QLUA, однако эти скрипты не используются для работы с данными срочного рынка Московской биржи, на срочном рынке Московской Биржи я не торгую и не планирую торговать, надо ли мне обновляться до версии 8.5, проводить повторную компиляцию скриптов, а также их отладку или же можно остаться на старой версии терминала?
Ответ:
Если Вы не используете Ваши скрипты для работы с данными срочного рынка Московской биржи и не торгуете на этом рынке, то Вы можете какое-то время оставаться на версии терминала 8.4 (или более старой), повторная компиляция и отладка скриптов в этом случае не потребуется; однако эту процедуру все же потребуется выполнить, если Вы в последующем решите обновить терминал до версии 8.5 или более новой.
3. Вопрос:
У меня есть скрипты на QLUA, я используют эти скрипты для регистрации/снятия заявок на срочном рынке Московской биржи, что произойдет, если я не обновлю терминал до версии 8.5, не проведу отладку скриптов и не выполню их повтор компиляцию?
Ответ:
После внедрения 19-значных номеров заявок и сделок в промышленной системе срочного рынка Московской Биржи Ваши скрипты высоковероятно перестанут работать, Вам необходимо обязательно запланировать обновление терминала до версии 8.5, а также провести повторную компиляцию и отладку скриптов.
4. Вопрос:
Я не использую скрипты QPILE и QLUA, должен ли я выполнять какие-либо дополнительные действия перед обновлением терминала до версии 8.5?
Ответ:
Если Вы не используете скрипты QPILE и QLUA, то выполнение каких-либо дополнительных действий не потребуется.
5. Вопрос:
У меня нет скриптов на QLUA, но есть скрипты на QPILE, алгоритм которых никак не связан со срочным рынком Московской Биржи, должен ли я обновлять терминал до версии 8.5, и выполнять какие-либо дополнительные действия?
Ответ:
Если у Вас нет скриптов на QLUA, то выполнение каких-либо дополнительных действий при обновлении терминала до версии 8.5 не потребуется; если Ваши скрипты QPILE не работают с данными срочного рынка Московской Биржи, то их повторная отладка не потребуется.
6. Вопрос:
У меня нет скриптов на QLUA, но есть скрипты на QPILE, которые выставляют/снимают заявки на срочным рынке Московской Биржи; должен ли я обновлять терминал до версии 8.5, и выполнять какие-либо дополнительные действия?
Ответ:
После внедрения 19-значных номеров заявок и сделок в промышленной системе срочного рынка Московской Биржи Ваши QPILE скрипты высоковероятно перестанут работать, Вам необходимо обязательно запланировать обновление терминала до версии 8.5, а также реализовать Ваш алгоритм на языке QLUA.
7. Вопрос:
Будет ли корректно работать функция tostring с большими числами?
Ответ:
Да, будет.
8. Вопрос:
Поменяются ли типы данных у параметров таблиц и параметров функций, которые с ними работают?
Ответ:
Нет, не поменяются.
9. Вопрос:
Что делать если возникает ошибка вида "version mismatch in precompiled chunk"?
Ответ:
Это означает что у Вас используется скомпилированный lua проект созданный на версии Lua 5.1. Необходимо провести повторную компиляцию на Lua 5.3.
10. Вопрос:
Почему транзакция отвергается с ошибкой "Число не может содержать знак разделителя дробной части"?
Ответ:
Причина в неверном преобразовании из числа (например цены или количества) в строку. Начиная с Lua 5.3, для вещественных типов данных, при переводе из числа в строку функцией tostring, у целых чисел добавляется в конце ".0" Для решения проблемы, следует вместо функции tostring использовать другой метод, например: function tostringEX(x) return tostring(math.tointeger(x) or x) end
11. Вопрос:
Мои скрипты используются как на старых версиях так и на новых, как избежать создания отдельных скриптов для каждой версии?
Ответ:
Вы можете добавить в скрипт проверку версии терминала на соответствие. Например так: isValidVersion = (tonumber(string.sub(getInfoParam ("VERSION"), 1, 3)) or 8.5 >= 8.5) Переменная isValidVersion будет иметь значение true если терминал версии 8.5 или выше. В зависимости от значения этой переменной использовать те или иные функции. Кроме того, существует возможность проверки версии самого ядра Lua через встроенную константу _VERSION
12. Вопрос:
Что означает ошибка вида "bad header in precompiled chunk"?
Ответ:
Означает что у Вас используется скомпилированный lua проект созданный на х32 версии версии Lua. Необходимо провести повторную компиляцию на х64 Lua. В данном пункте версия Lua не играет роли, только разрядность
13. Вопрос:
Что делать если при подключении своей DLL к Lua скрипту возникает ошибка вида "too many C levels (limit is 200) in main function near some.dll"?
Ответ:
Необходимо вместо функции require использовать package.loadlib Например так: package.loadlib(getScriptPath() .. "\\some.dll", "luaopen_somemetod")() Где вместо some.dll указать имя Вашей DLL, а вместо luaopen_somemetod указать имя Вашего метода.
Пользователь
Сообщений: Регистрация: 31.01.2015
03.03.2020 10:43:24
А где можно скачать версию терминала QUIK, на которой можно проверить QLua-скрипты, подключившись к тестовому серверу?
Пользователь
Сообщений: Регистрация: 31.01.2015
03.03.2020 10:57:40
Нашёл инфу в соседней ветке:
Цитата
6. Проблемы работы с длинными номерами в QLUA (на любых версиях терминала на момент публикации данного уведомления). Для решения проблем пп. 5-6 следует установить версию терминала QUIK, которая на момент публикации данного уведомления еще не вышла, но планируется к выпуску до того, как данное изменение в торговой системе будет внедрено.
Пользователь
Сообщений: Регистрация: 28.03.2016
10.03.2020 09:31:19
Цитата
В связи с вышеизложенным настоятельно рекомендуется проверить работоспособность своих скриптов с 19-значными номерами заявок и сделок.
Настоятельно рекомендуем проверить тем, что еще не вышло и неизвестно как будет реализовано...
Более подробно распишите, как сделать эту волшебную операцию, Вы же не можете в открытую издеваться над пользователями?
В связи с вышеизложенным настоятельно рекомендуется проверить работоспособность своих скриптов с 19-значными номерами заявок и сделок.
Настоятельно рекомендуем проверить тем, что еще не вышло и неизвестно как будет реализовано...
Более подробно распишите, как сделать эту волшебную операцию, Вы же не можете в открытую издеваться над пользователями?
Добрый день.
Цель данного оповещения - раннее предупреждение о грядущих изменениях, чтобы пользователи уже сейчас начинали работать в данном направлении. По поводу выхода соотв. версии рекомендуем следить за обновлениями в данной ветке форума.
В связи с вышеизложенным настоятельно рекомендуется проверить работоспособность своих скриптов с 19-значными номерами заявок и сделок.
Настоятельно рекомендуем проверить тем, что еще не вышло и неизвестно как будет реализовано...
Более подробно распишите, как сделать эту волшебную операцию, Вы же не можете в открытую издеваться над пользователями?
Добрый день.
Цель данного оповещения - раннее предупреждение о грядущих изменениях, чтобы пользователи уже сейчас начинали работать в данном направлении. По поводу выхода соотв. версии рекомендуем следить за обновлениями в данной ветке форума.
Если вы хотя бы в общих чертах опишите грядущие изменения, то мы начнем работать. Подтвердите информацию: 1. Lua обновляется до версии 5.3 2. Тип полей во всех текущих функциях, которые в качестве параметров требуют ввода номера заявки или сделки или возвращают номер заявки или сделки, НЕ поменяется. 3. Функция tostring будет корректно работать в новыми большими числами. 4. Какие еще возможные изменения могут быть?
- Роботы и индикаторы
Пользователь
Сообщений: Регистрация: 21.08.2015
10.03.2020 18:22:41
Цитата
Александр М написал: 2. Тип полей во всех текущих функциях, которые в качестве параметров требуют ввода номера заявки или сделки или возвращают номер заявки или сделки, НЕ поменяется.
По-моему, весь смысл перехода на 5.3 в том, чтообы тип этих полей поменялся. В NUMBER больше 51 бита не впереть даже на 5.3.
написал: 2. Тип полей во всех текущих функциях, которые в качестве параметров требуют ввода номера заявки или сделки или возвращают номер заявки или сделки, НЕ поменяется.
По-моему, весь смысл перехода на 5.3 в том, чтообы тип этих полей поменялся. В NUMBER больше 51 бита не впереть даже на 5.3.
Там хитрее сделано. Пока идёт работа только с целыми числами, используются все биты как в стандартной целочисленной арифметике в других языках, а вот при смешивании целых чисел и double получается результат double. Например, для перевода целого числа x в double рекомендуют делать что-то типа x = x + 0.0
Пользователь
Сообщений: Регистрация: 14.02.2015
11.03.2020 07:09:59
Т.е. если, напр, из большой целочисленной переменной вычесть другую переменную, которая нечаянно окажется double, то результат будет тоже double и в итоге потеря точности?
написал: 2. Тип полей во всех текущих функциях, которые в качестве параметров требуют ввода номера заявки или сделки или возвращают номер заявки или сделки, НЕ поменяется.
По-моему, весь смысл перехода на 5.3 в том, чтообы тип этих полей поменялся. В NUMBER больше 51 бита не впереть даже на 5.3.
выдержка из Lua 5.3: "Стандартный Lua использует 64-битные целые (integer) и вещественные числа двойной точности (double 64-bit)"
- Роботы и индикаторы
Пользователь
Сообщений: Регистрация: 21.08.2015
11.03.2020 10:11:11
Цитата
Александр М написал: вещественные числа двойной точности (double 64-bit)
Только там , откуда и все нынешние проблемы. Там еще старший бит неявный, подразумевается всегда единица, а если это не так, получается денормализованное число и т.д. и т.п., в общем в даблы 64 бита не влезают хоть тресни. Более того, никакие ухищрения вроде *reinterpret_cast<unsigned long long *>(&dbl) = 0xFFFFFFFFFFFFFFFFULL надежными не будут, дабл всегда может заехать в сопроцессор без уведомления, а тот его "подправит" под ожидаемый формат, да и сишный рантайм тоже ожидает дабл в виде дабла и может что-нибудь с ним сделать под ковром.
написал: вещественные числа двойной точности (double 64-bit)
Только там , откуда и все нынешние проблемы. Там еще старший бит неявный, подразумевается всегда единица, а если это не так, получается денормализованное число и т.д. и т.п., в общем в даблы 64 бита не влезают хоть тресни. Более того, никакие ухищрения вроде *reinterpret_cast<unsigned long long *>(&dbl) = 0xFFFFFFFFFFFFFFFFULL надежными не будут, дабл всегда может заехать в сопроцессор без уведомления, а тот его "подправит" под ожидаемый формат, да и сишный рантайм тоже ожидает дабл в виде дабла и может что-нибудь с ним сделать под ковром.
Для номера заявки или сделки достаточно целого числа Integer 64 бит, это 20 знаков (без знака) или 19 (со знаком)
Зачем его в double переводить? Numeric в lua 5.3 представлен 2 типами.
- Роботы и индикаторы
Пользователь
Сообщений: Регистрация: 21.08.2015
11.03.2020 12:57:58
Цитата
Александр М написал: Зачем его в double переводить?
Значит, я исходный посыл не так понял. Конечно не нужно переводить. Главное, как выше написали, как-нибудь неожиданно для себя не перевести:
Цитата
In a conversion from integer to float, if the integer value has an exact representation as a float, that is the result. Otherwise, the conversion gets the nearest higher or the nearest lower representable value. This kind of conversion never fails
QUIK clients support
Сообщений: Регистрация: 22.12.2014
12.03.2020 13:45:35
Добрый день.
Уважаемые клиенты, исходное сообщение данной темы дополнено следующей информацией:
Цитата
Сообщаем о мерах, которые необходимо предпринять для корректной работы с 19-значными номерами заявок и сделок в QLUA: 1. Для корректной работы с 19-значными номерами в QLUA потребуется обновление терминала QUIK. На момент публикации данного уведомления версия с поддержкой 19-значных номеров в QLUA еще не вышла, но планируется к выпуску до того, как данное изменение в торговой системе будет внедрено. Новость о выпуске версии терминала QUIK будет размещена на соответствующей странице нашего сайта (), кроме того, мы сообщим об этом в данной ветке форума. 2. В связи с необходимостью поддержки 19-значных номеров, в терминале новой версии запланировано изменение версии LUA c 5.1 до 5.3. Это, в свою очередь, означает следующее: - Выполнение скриптов, скомпилированных под версию Lua 5.1, будет невозможно на новой версии терминала QUIK, для решения проблемы потребуется повторная компиляция под версию Lua 5.3; - Lua 5.3 частично обратно не совместим с версией Lua 5.1, поэтому мы настоятельно рекомендуем провести повторную отладку скриптов на новой версии терминала, и убедиться в их работоспособности; более подробную информацию о совместимости Lua 5.1 и 5.3 можно получить по ссылкам:
На нашем сайте в разделе «файловый архив» () выложены новые версии индикаторов на Lua, которые совместимы как с Lua 5.3, так и с Lua 5.1. Если Вы использовали примеры этих скриптов в работе, их следует заново скачать, и обновить (это можно и нужно сделать, не дожидаясь выхода новой версии терминала QUIK с поддержкой Lua 5.3).
Ответы на часто задаваемые вопросы:
Вопрос:
Будет ли корректно работать функция tostring с большими числами?
Ответ:
Да будет.
Вопрос:
Поменяются ли типы данных у параметров таблиц и параметров функций, которые с ними работают?
Кстати! Уважаемые разработчики Квика! У вас же всяко-разно есть уже бета (или может даже релиз-кандидат) 8.5 версии с этими доработками.
Учитывая, так сказать, текущую конъюнктуру биржевых (и не только) реалий, почему бы вам не выложить предварительную версию (на ftp), разумеется с соответствующей декларацией-предупреждением (ну как это обычно делается). Проявить, так сказать, заботу о своих дорогих пользователях, дав им больше времени на проверку и адаптацию своих систем. Заодно получить обратную связь по апробации всего этого дела.
Понятно, что вам захочется сразу в ответ дать категоричное Нет. Но, большая просьба, попытаться донести это предложение до принимающих такие решения. Нормальная же, современная практика. Глядишь, и будет позитив... :)
QUIK clients support
Сообщений: Регистрация: 22.12.2014
25.03.2020 15:38:26
Цитата
Latrop написал: Кстати! Уважаемые разработчики Квика! У вас же всяко-разно есть уже бета (или может даже релиз-кандидат) 8.5 версии с этими доработками.
Учитывая, так сказать, текущую конъюнктуру биржевых (и не только) реалий, почему бы вам не выложить предварительную версию (на ftp), разумеется с соответствующей декларацией-предупреждением (ну как это обычно делается). Проявить, так сказать, заботу о своих дорогих пользователях, дав им больше времени на проверку и адаптацию своих систем. Заодно получить обратную связь по апробации всего этого дела.
Понятно, что вам захочется сразу в ответ дать категоричное Нет. Но, большая просьба, попытаться донести это предложение до принимающих такие решения. Нормальная же, современная практика. Глядишь, и будет позитив... :)
Добрый день.
Версию обязательно предоставим, потерпите ещё немного пожалуйста.
Пользователь
Сообщений: Регистрация: 31.01.2015
30.03.2020 15:00:34
А как быть с 32-разрядной версией Квика?
Пользователь
Сообщений: Регистрация: 23.01.2015
30.03.2020 15:04:10
Цитата
Constantin написал: А как быть с 32-разрядной версией Квика?
В ней не планируется изменений.
Пользователь
Сообщений: Регистрация: 31.01.2015
17.04.2020 19:00:31
Вроде как, можно начинать тестирование Lua 5.3 и поддержку 19-значных номеров заявок. Больше тестов и обратной связи -- больше шансов на безглючный переход.
Пользователь
Сообщений: Регистрация: 28.03.2016
18.04.2020 12:12:06
Цитата
_sk_ написал: Вроде как, можно начинать тестирование Lua 5.3 и поддержку 19-значных номеров заявок. Больше тестов и обратной связи -- больше шансов на безглючный переход.
Хотелось бы получить официальный ответ, можно ли начинать тестирование. Также я увидел, что там 2 dll и версии lua 5.1 и версии 5.3 Какая основная и вообще по какому принципу они используются при запуске lua-скриптов?
- Роботы и индикаторы
Пользователь
Сообщений: Регистрация: 21.08.2015
18.04.2020 14:00:23
Цитата
Александр М написал: увидел, что там 2 dll и версии lua 5.1 и версии 5.3 Какая основная
Можно предположить, что 5.1 оставили для какой-то там совместимости, 5.3 экспортирует все то же самое (с поправкой на версию луа). Пока не обнаружил, чтобы что-нибудь крэшнулось без 5.1 (просто убрал ее).
написал: увидел, что там 2 dll и версии lua 5.1 и версии 5.3 Какая основная
Можно предположить, что 5.1 оставили для какой-то там совместимости, 5.3 экспортирует все то же самое (с поправкой на версию луа). Пока не обнаружил, чтобы что-нибудь крэшнулось без 5.1 (просто убрал ее).
Не хочется просто так экспериментировать. Я все-таки подожду официальный ответ. В Документации тоже ни слова, что кстати странно, как минимум должны были именно в Документации озвучить, что версия lua меняется и ссылку дать на различия в версиях.
- Роботы и индикаторы
Пользователь
Сообщений: Регистрация: 21.08.2015
18.04.2020 16:11:15
Цитата
Александр М написал: В Документации тоже ни слова, что кстати странно, как минимум должны были именно в Документации озвучить, что версия lua меняется и ссылку дать на различия в версиях.
Справедливости ради, при первом запуске 8.5 выкинул диалог с как раз этим предупреждением о смене версии и ссылкой куда-то, как бы не сюда.
Собираем с 5.1, запускаем в 8.3, получаем три сообщения: ctor, dtor, Exception caught. Все правильно, lua_error генерирует эксепшены и это прекрасно. Теперь собираем с 5.3, запускаем в 8.5, получаем ДВА сообщения: ctor, dtor. Эксепшен не пойман. Допустив, что мой рантайм не обязательно совпадает с арковским, повторил упражнение на чистом SEH. То же самое, нет там эксепшена. Вариант "собирали gcc + dwarf" отметаю как малореальный. Остается вариант...
...луа с лонгджампами собрали? Это же жесть. Может, пока (почти) никто не видел, пересобрать по-тихому? )
написал: увидел, что там 2 dll и версии lua 5.1 и версии 5.3 Какая основная
Можно предположить, что 5.1 оставили для какой-то там совместимости, 5.3 экспортирует все то же самое (с поправкой на версию луа). Пока не обнаружил, чтобы что-нибудь крэшнулось без 5.1 (просто убрал ее).
Что касается совместимости с 5.1 (видимо для этого там lua5.1.dll), то она несовместимая пока получается.
Например, Квик просто весь падает при попытке запустить Lua Socket (версия для lua51, x64 отлично работавшая под Quik 8.4). Копия lua5.1.dll в lua51.dll (необходимая для станд сборки Lua Socket) делалась.
Пользователь
Сообщений: Регистрация: 21.08.2015
19.04.2020 09:14:03
Цитата
Latrop написал: Что касается совместимости с 5.1 (видимо для этого там lua5.1.dll), то она несовместимая пока получается.
Подтверждаю, вышеописанная длл из одной функции тоже падает, если собрать под 5.1 и запустить в 8.5. Причем если ошибка не генерируется, падает только скрипт и квик пишет access violation, если генерируется - падает весь квик без дампа. Если убрать lua5.1.dll, разрушения меньше, скрипт просто не может загрузить длл. Так что присутствие ее остается загадкой.
написал: Вроде как, можно начинать тестирование Lua 5.3 и поддержку 19-значных номеров заявок. Больше тестов и обратной связи -- больше шансов на безглючный переход.
Хотелось бы получить официальный ответ, можно ли начинать тестирование. Также я увидел, что там 2 dll и версии lua 5.1 и версии 5.3 Какая основная и вообще по какому принципу они используются при запуске lua-скриптов?
Добрый день,
Да, тестирование можно проводить на версии 8.5.1. При запуске lua-скриптов используется версия библиотеки 5.3. Более подробную информацию о совместимости Lua 5.1 и 5.3 можно получить по ссылкам:
Пользователь
Сообщений: Регистрация: 20.04.2016
20.04.2020 12:42:35
не могу найти ссылку,а где взять QLUA 5.3?
QUIK clients support
Сообщений: Регистрация: 27.01.2015
20.04.2020 15:43:25
Цитата
Sergey Denegin написал: не могу найти ссылку,а где взять QLUA 5.3?
Добрый день,
Библиотека находится в архиве с обновлением:
QUIK clients support
Сообщений: Регистрация: 27.01.2015
22.04.2020 10:17:00
Цитата
Anton написал: Так, первые вопросы уже созрели. Пишем длл
Собираем с 5.1, запускаем в 8.3, получаем три сообщения: ctor, dtor, Exception caught. Все правильно, lua_error генерирует эксепшены и это прекрасно. Теперь собираем с 5.3, запускаем в 8.5, получаем ДВА сообщения: ctor, dtor. Эксепшен не пойман. Допустив, что мой рантайм не обязательно совпадает с арковским, повторил упражнение на чистом SEH. То же самое, нет там эксепшена. Вариант "собирали gcc + dwarf" отметаю как малореальный. Остается вариант...
...луа с лонгджампами собрали? Это же жесть. Может, пока (почти) никто не видел, пересобрать по-тихому? )
Добрый день,
Действительно, lua53.dll собрана с отличной от lua5.1.dll конфигурацией. Мы исправим конфигурацию в ближайшем обновлении ПО.
Пользователь
Сообщений: Регистрация: 30.01.2015
28.04.2020 18:24:35
А у меня и без dll скрипты разваливаются при использовании coroutine
Посреди скрипта вызов getScriptPath() начинает вдруг возвращать вместо тип string тип function. При старте скрипта возвращает правильно. Внешние библиотеки все убрал на время теста. На 5.1 работает все на ура.
А вот с индикаторами пролем не заметил, и при использовании внешних библиотек тоже. Видимо, рубильник между вызовами oncalculate работает исправно, да и корутин нет.
Здравствуйте. Помогите собрать dll под QUIK 8.5, не собирается. Под QUIK 8.0 ранее собрал, но она не подключается в lua скрипте. Использую require, а QUIK в ответ Critical error ACCESS_VIOLATION in script
Lua 5.3.5 скачал тут
Файлы из архива заменил, но не собирается. Ошибки: Ошибка 1 error C2079: "ls_lib" использует неопределенный struct "ls_lib" Ошибка 2 error C2078: слишком много инициализаторов Ошибка 3 error C3861: luaL_openlib: идентификатор не найден 4 IntelliSense: недопустимый неполный тип (это она ls_lib ругается) 5 IntelliSense: идентификатор "luaL_openlib" не определен
Пользователь
Сообщений: Регистрация: 31.01.2015
06.05.2020 18:47:14
Новая версия для тестирования:
QUIK clients support
Сообщений: Регистрация: 27.01.2015
07.05.2020 14:29:18
Цитата
Anton написал: Так, первые вопросы уже созрели. Пишем длл
Собираем с 5.1, запускаем в 8.3, получаем три сообщения: ctor, dtor, Exception caught. Все правильно, lua_error генерирует эксепшены и это прекрасно. Теперь собираем с 5.3, запускаем в 8.5, получаем ДВА сообщения: ctor, dtor. Эксепшен не пойман. Допустив, что мой рантайм не обязательно совпадает с арковским, повторил упражнение на чистом SEH. То же самое, нет там эксепшена. Вариант "собирали gcc + dwarf" отметаю как малореальный. Остается вариант...
...луа с лонгджампами собрали? Это же жесть. Может, пока (почти) никто не видел, пересобрать по-тихому? )
Добрый день,
Описанная в данном инциденте ошибка была исправлена в версии 8.5.2 терминала QUIK. Рекомендуем вам обновить версию программы.
Приносим извинения за причиненные неудобства.
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
09.05.2020 21:54:13
В терминале QUIK версии 8.5 лежат 3 dll-файла: qlua.dll lua5.1.dll lua53.dll
Что в них содержится? как они теперь взаимодействуют?
В предыдущих версиях было 2 файла: qlua.dll -- содержит весь интерпретатор Lua lua5.1.dll -- содержит только прокси вызовов в qlua.dll
Уточните зачем Вам это? Мы считаем что все DLL файлы которые лежат в дистрибутиве, должны лежать в дистрибутиве без пояснения причин. Просто так надо.
Хороший ответ, поясняющий. Зачем в дистрибутиве, по которому официально обьявлено, что он переведен на lua 5.3 нужен файл lua5.1.dll?
- Роботы и индикаторы
Пользователь
Сообщений: Регистрация: 23.01.2015
13.05.2020 10:13:45
Цитата
Александр М написал: Хороший ответ, поясняющий. Зачем в дистрибутиве, по которому официально обьявлено, что он переведен на lua 5.3 нужен файл lua5.1.dll?
Ответ уже был дан, просто так надо. Потом может удалим.
Пользователь
Сообщений: Регистрация: 02.07.2015
13.05.2020 10:28:54
Цитата
Александр М написал: Зачем в дистрибутиве, по которому официально обьявлено, что он переведен на lua 5.3 нужен файл lua5.1.dll?
Как зачем? Терминал же теперь поддерживает две версии 5.1 и 5.3, не?
написал: Зачем в дистрибутиве, по которому официально обьявлено, что он переведен на lua 5.3 нужен файл lua5.1.dll?
Как зачем? Терминал же теперь поддерживает две версии 5.1 и 5.3, не?
С чего вы это взяли? Читайте внимательно официальное сообщение:
"В связи с необходимостью поддержки 19-значных номеров, в терминале версии 8.5 выполнено изменение версии LUA c 5.1 до 5.3. В связи с этим:
Выполнение скриптов, скомпилированных под версию Lua 5.1, будет невозможно на новой версии терминала QUIK, для решения проблемы потребуется повторная компиляция под версию Lua 5.3.
"
- Роботы и индикаторы
Пользователь
Сообщений: Регистрация: 21.08.2015
13.05.2020 13:13:28
Цитата
Imersio Arrigo написал: поддерживает две версии 5.1 и 5.3, не?
По крайней мере для пользовательских скриптов это малореально в принципе. Ну то есть героически порешать может и можно, только зачем. Скорей всего какой-то из плагинов тоже на луа завязан и его до сих пор не переписали. Как перепишут, так и 51 выкинут.