Нас грузит какая-то определенная версия и мы с этой версией должны работать. Можно не линковаться с luaxx.dll, а подгружать ее динамически, чтобы одна длл работала во всех 8 версиях, но это геморрой тот еще. Там тупо придется разные функции импортировать в зависимости от версии и писать обертки для согласования, причем не везде это тривиально можно сделать, не говоря уже о неоправданном оверхеде в рантайме. Посмотрите на lua_upvalueindex например. В нормальном случае она компилируется просто в константу, в случае "универсальной длл" это будет что-то вроде
почему новый квик 8.5.2.11 может не видеть скомпилированный индикатор? если не компилировать то его видно и нормально работает а если скомпилировать - то его уже не видно в списке, что может быть не так?
Пользователь
Сообщений: Регистрация: 30.01.2015
15.05.2020 20:38:49
Сеорее всего компилируете неподходящей версией luac
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 20.03.2015
15.05.2020 20:40:40
Цитата
s_mike@rambler.ru написал: Сеорее всего компилируете неподходящей версией luac
написал: Сеорее всего компилируете неподходящей версией luac
я собрал 5.3.5, а какую надо использовать?
отбой, разобрался. я случайно собрал lua 5.3.5 в x86 версии. а компилятор luac должен был быть x64, формат прекомиленных lua файлов разный для разных платформ, оказывается.
Уточните зачем Вам это? Мы считаем что все DLL файлы которые лежат в дистрибутиве, должны лежать в дистрибутиве без пояснения причин. Просто так надо.
Вы можете считать как угодно, однако было бы здорово, если бы вы нашли в себе силы нормально документировать систему. И отвечать на вопросы, а не переспрашивать в ответ "зачем вам это надо". Т.е. скрипты Lua могут использовать внешние dll-библиотеки, то критично важно знать как сейчас технически устроен интерпретатор Lua в QUIK для того, чтобы:
1) Исправлять ваши же косяки с организацией Lua-машины и внешних библиотек. См. изготовление правильной lua5.1.dll как прокси к qlua.dll
Что характерно, позже вы сами добавили в дистрибутив QUIK lua5.1.dll, сделанную именно таким образом, а не просто подложив её из дистрибутива Lua, т.е. признали такой подход верным.
2) Понимать с какой же dll-библиотекой необходимо линковать свои внешние dll модули для Lua: с qlua.dll, с lua5.1.dll или с lua53.dll ? В том числе чтобы не возникало проблем, описанных по ссылке из пункта 1).
3) Чтобы в конце-концов все же понять: что за файл в дистрибутиве lua5.1.dll ? Что это? как он функционирует в составе Lua 5.3 ? Если у меня есть dll, которая была ориентирована на работу в Lua5.1, эта dll работала в составе Lua-скрипта на предыдущих версиях QUIK и, предположим, она корректно запустилась на QUIK 8.5, используя при этом обращения к lua5.1.dll для вызова функций Lua-машины - то могу ли я быть уверен, что такая библиотека будет корректно работать в составе QUIK 8.5 ? В том числе с учетом изложенного в пункте 1) ?
Так что я просто-таки требую ответа на вопрос, ибо в противном случае вы утаиваете часть необходимой пользователям информации.
Почему все компании производящие платформы всегда рассказывают и показывают как устроена платформа внутри (в точки зрения её организации, требуемой пользователю для понимания что и как, и только QUIK традиционно выдаёт информацию по крупицам, просто-таки клещами всё приходится вытягивать? Это, кстати, скорее всего говорит лишь о том, что вы даже не продумываете совершенно клиентские сценарии работы с вашим ПО, вы просто не знаете о них! И QUIK вы выпускаете "как получится", не продумывая клиентские сценарии. Соответственно вам просто-напросто и рассказать-то не о чем. Вы не понимаете что вообще пользователям требуется для нормального функционирования системы. И лишь когда пользователи с удивлением обнаруживают разные "неожиданные сюрпризы" - внезапно в них сознаетесь (типа многократного срабатывания OnTrade и OnOrder). Прекрасная, очень прекрасная позиция!
Пользователь
Сообщений: Регистрация: 27.08.2018
17.05.2020 13:47:21
Цитата
swerg написал: Почему все компании производящие платформы всегда рассказывают и показывают как устроена платформа внутри (в точки зрения её организации, требуемой пользователю для понимания что и как
не оспариваю Вашу критику, но интересуюсь кто эти все? можно пару-тройку?
спасибо.
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
17.05.2020 14:26:15
Цитата
новичок написал: не оспариваю Вашу критику, но интересуюсь кто эти все? можно пару-тройку?
Откройте документацию или презентации по .NET Да хоть и по Lua.
какие торговые платформы обсуждают с юзерами свою внутреннюю структуру?
Пользователь
Сообщений: Регистрация: 23.01.2015
18.05.2020 09:01:43
Цитата
swerg написал: Так что я просто-таки требую ответа на вопрос, ибо в противном случае вы утаиваете часть необходимой пользователям информации.
Добрый день!
Переход на LUA 5.3 был вынужденным, в связи с планируемым введением 19-значных номеров заявок и сделок на срочном рынке Московской Биржи.
Начиная с версии торгового терминала 8.5 все QLUA скрипты должны быть адаптированы под LUA 5.3. Это в частности означает, что все внешние библиотеки должны быть залинкованы на библиотеку lua53.dll.
Библиотеку lua5.1.dll, оставленную в дистрибутиве на "переходной" период, использовать не следует. В дальнейшем lua5.1.dll будет удалена из дистрибутива.
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 06:42:50
Цитата
Sergey Gorokhov написал: Переход на LUA 5.3 был вынужденным, в связи с планируемым введением 19-значных номеров заявок и сделок на срочном рынке Московской Биржи.
Смешно звучит, не позорились бы, ей богу! Из-за увеличения длины текстового поля, пытаетесь убедить нас, что нужно было переходить на новую версию луа. А у всех из-за этого проблемы с перекомпиляцией, да еще и терминал начал виснуть по непонятным причинам, просто виснет и все, без каких либо причин, хотя на версии 7.2 мог проработать целый день без зависания.
Пользователь
Сообщений: Регистрация: 31.01.2015
19.05.2020 06:57:33
МосБиржа перенесла релиз на 06 июля 2020 года. Наверное, что-то дорабатывают, а у разработчиков терминала и его пользователей ещё один месяц на устранение багов появился. Но расслабляться не надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
19.05.2020 08:46:57
Цитата
_sk_ написал: Из-за увеличения длины текстового поля,
В документации сказано что поле не текстовое, и Вы можете самостоятельно это легко проверить.
Цитата
Sergey Denegin написал: еще и терминал начал виснуть по непонятным причинам, просто виснет и все, без каких либо причин, хотя на версии 7.2 мог проработать целый день без зависания.
Если есть проблема, мы готовы исследовать ее причины. Просьба снять дамп процесса info.exe в момент зависания (это делается через диспетчер задач), после чего прислать нам дамп и архив всей папки с терминалом (без ключей доступа) на адрес quiksupport@arqatech.com. Архив с терминалом следует паковать при закрытом терминале сразу после повторения проблемы.
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 09:26:51
Цитата
Sergey Gorokhov написал: прислать нам дамп и архив всей папки с терминалом (без ключей доступа) на адрес
Вы в курсе, что почтовые сервера давно не разрешают отправлять большие файлы? Вчера пробовал отправить 40 мегабайтный архив с двух платных почтовых серверов, ни один не дал такую возможность, говорит "слишком большой объем". Придумайте другой способ. Например через телеграм.
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 09:28:09
Цитата
Sergey Gorokhov написал: Просьба снять дамп процесса info.exe в момент зависания (это делается через диспетчер задач),
Где прочитать, как это делается? не вижу такой функции в диспетчере задачь.
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 09:31:54
Цитата
Sergey Gorokhov написал: В документации сказано что поле не текстовое, и Вы можете самостоятельно это легко проверить.
Очень странно, т.к. при отправке заявки отправляется текстовое поле. Кроме того, луа взаимодействует с терминалом, и ничего не мешает внутри терминала преобразовать переменную в текстовый тип, и для луа скрипта предоставить уже текстовое значение. Не думаю, что одно преобразование было бы сложнее, чем замена целой библиотеки luacom, из-за которой у многих возникают куча проблем.
Пользователь
Сообщений: Регистрация: 23.01.2015
19.05.2020 09:37:53
Цитата
Sergey Denegin написал: Придумайте другой способ. Например через телеграм.
Большинство почтовиков предлагают выложить большой файл на облако и в письме приходит ссылка вместо вложения.
Цитата
Sergey Denegin написал: Где прочитать, как это делается? не вижу такой функции в диспетчере задачь.
Правой кнопкой мыши по процессу и нажать "Создать файл дампа"
Цитата
Sergey Denegin написал: Очень странно, т.к. при отправке заявки отправляется текстовое поле.
При отправке вообще все параметры отправляются в виде текста. Проблема не в том чтобы отправить текст а в том чтобы получить его из тела заявки в котором он в виде числа а не текста. Или Вы привыкли парсить текст ответа на транзакцию для получения номера? Увы 99% пользователей не привыкло, так что кроме как обновить Lua выходя нет.
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 12:36:55
Цитата
Sergey Gorokhov написал: Большинство почтовиков предлагают выложить большой файл на облако и в письме приходит ссылка вместо вложения.
Я пользуюсь почтовой программой с отправкой через SMTP.
Цитата
Sergey Gorokhov написал: Правой кнопкой мыши по процессу и нажать "Создать файл дампа"
Благодарю!
Цитата
Sergey Gorokhov написал: Или Вы привыкли парсить текст ответа на транзакцию для получения номера?
Я использую функцию getItem("orders",N) и эта функция, насколько я понимаю, встроена в QUIK и разработана вашими программистами. Почему нельзя сделать так, чтобы получая от сервера биржи значение в виде числа, терминал преобразовывал значение в текст, и в функцию getItem передавал уже текстовое значение? Доработка обойдется в одну строку в коде терминала, и не потребуется всем переходить на версию 8.5 и луа 5.3
Пользователь
Сообщений: Регистрация: 23.01.2015
19.05.2020 13:00:47
Sergey Denegin, решение о переводе уже принято и отмене не подлежит.
написал: Переход на LUA 5.3 был вынужденным, в связи с планируемым введением 19-значных номеров заявок и сделок на срочном рынке Московской Биржи.
Смешно звучит, не позорились бы, ей богу! Из-за увеличения длины текстового поля, пытаетесь убедить нас, что нужно было переходить на новую версию луа. А у всех из-за этого проблемы с перекомпиляцией, да еще и терминал начал виснуть по непонятным причинам, просто виснет и все, без каких либо причин, хотя на версии 7.2 мог проработать целый день без зависания.
сейчас врюерсия 7.27.2.1 работает с зависаниями, а вот версия 6.17 у меня годами без сбоев пахала...
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 13:05:41
Цитата
Sergey Gorokhov написал: решение о переводе уже принято и отмене не подлежит.
Очень печально, потому что весь форум бухтит о том, что проблем с версией 8.5 стало гораздо больше, как с тормозами, так и с зависаниями.
Как можно обратиться к руководству компании, которая находится выше штата разработчиков, и которые принимают решения?
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 13:06:25
Есть ощущение, что они не в курсе, что от версии к версии программа становится только хуже и менее надежная. И рано или поздно, от нее все откажутся, а это их прямая прибыль.
При отправке вообще все параметры отправляются в виде текста. Проблема не в том чтобы отправить текст а в том чтобы получить его из тела заявки в котором он в виде числа а не текста. Или Вы привыкли парсить текст ответа на транзакцию для получения номера? Увы 99% пользователей не привыкло, так что кроме как обновить Lua выходя нет.
что плохого в том, чтобы получать номер заявки из ответа на транзакцию?
Пользователь
Сообщений: Регистрация: 23.01.2015
19.05.2020 13:10:04
Цитата
Sergey Denegin написал: Очень печально, потому что весь форум бухтит о том, что проблем с версией 8.5 стало гораздо больше, как с тормозами, так и с зависаниями.
По тем проблемам которые были озвучены выпущен патч 8.5.2 Если у Вас есть какие-то жалобы к текущей версии 8.5.2 готовы разбираться Транслировать тип строку там где архитектурно заложено число мы не будем.
Цитата
Sergey Denegin написал: Как можно обратиться к руководству компании, которая находится выше штата разработчиков, и которые принимают решения?
Через поддержку
Пользователь
Сообщений: Регистрация: 23.01.2015
19.05.2020 13:21:29
Цитата
Максим написал: что плохого в том, чтобы получать номер заявки из ответа на транзакцию?
Ничего кроме того что нужно написать функцию которая будет его дергать.
Пользователь
Сообщений: Регистрация: 13.02.2015
19.05.2020 13:22:35
такое впечатление что бирже нечем заняться. могли бы и нулей каких нибудь добавить в это 19 значное поле, если оно им так необходимо, чтобы не создавать проблем
делов то... Вы сами так советовали и всё работает :)
Пользователь
Сообщений: Регистрация: 12.05.2020
19.05.2020 15:11:00
Цитата
Sergey Gorokhov написал: Ничего кроме того что нужно написать функцию которая будет его дергать.
В С++
Перевод строки в INT64: INT64 value = _atoi64(input); Обратный перевод: _i64toa_s(value, input, 20, 10);
Пользователь
Сообщений: Регистрация: 12.05.2020
19.05.2020 16:07:21
Цитата
Цитата Sergey Gorokhov написал:Ничего кроме того что нужно написать функцию которая будет его дергать. ----------------------------------
TGB В С++ Перевод строки в INT64: INT64 value = _atoi64(input); Обратный перевод: _i64toa_s(value, input, 20, 10);
Дополнительные пояснения. Наверное, почти все знают, что из QLua можно обращаться к функциям, написанным на C++. И за 2-3 :) дня можно было разработчику QUIK, используя приведенные выше две строки, написать две функции, каждая из которых былабы длиной не более 6-ти строк.
Цитата Sergey Gorokhov написал:Ничего кроме того что нужно написать функцию которая будет его дергать. ----------------------------------
TGB В С++ Перевод строки в INT64: INT64 value = _atoi64(input); Обратный перевод: _i64toa_s(value, input, 20, 10);
Дополнительные пояснения. Наверное, почти все знают, что из QLua можно обращаться к функциям, написанным на C++. И за 2-3 :) дня можно было разработчику QUIK, используя приведенные выше две строки, написать две функции, каждая из которых былабы длиной не более 6-ти строк.
но это видимо так сложно, что лучше перейти на Квик 8 и Луа новый, где ещё больше косяков ))) абсурдно, как и многое в стране )))
Пользователь
Сообщений: Регистрация: 20.04.2016
19.05.2020 16:37:50
Цитата
Максим написал: но это видимо так сложно, что лучше перейти на Квик 8 и Луа новый, где ещё больше косяков ))) абсурдно, как и многое в стране )))
Пишем письма руководству компании, что программерские ресурсы, расходуются на ухудшение программы, и от версии к версии она становится менее стабильной и тормозной. Им то поди докладывают - "выпущена новая версия, дайте нам новых денег", и на форумах они не бывают.
Как только программеры квика сами не могут понять, что когда они окончательно достанут своими новыми виснущими версиями пользователей, все откажутся от квика, и и брокерские конторы перестанут платить, и будут они искать новую работу. Рубят сук на котором сидят
написал: но это видимо так сложно, что лучше перейти на Квик 8 и Луа новый, где ещё больше косяков ))) абсурдно, как и многое в стране )))
Пишем письма руководству компании, что программерские ресурсы, расходуются на ухудшение программы, и от версии к версии она становится менее стабильной и тормозной. Им то поди докладывают - "выпущена новая версия, дайте нам новых денег", и на форумах они не бывают.
Как только программеры квика сами не могут понять, что когда они окончательно достанут своими новыми виснущими версиями пользователей, все откажутся от квика, и и брокерские конторы перестанут платить, и будут они искать новую работу. Рубят сук на котором сидят
Серега-брат, узбагойся и почитай гугл на предмет руководства арки. это фрики 80-х, что хорошо и плохо сразу
жалобы твои дурацкие, тк ты очень маленький процент пусто-юзеров. скорее они начнут пилить строго под венду на шарпе, что понравится другим 90% больше - которые даже не понимают что ты говоришь и зачем. неужели не ясно? - это ритейл, а не дзен-ячейка кришнаидов с точками на башке :)
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
20.05.2020 06:23:05
Цитата
Sergey Denegin написал: Как только программеры квика сами не могут понять, что когда они окончательно достанут своими новыми виснущими версиями пользователей, все откажутся от квика, и и брокерские конторы перестанут платить, и будут они искать новую работу. Рубят сук на котором сидят
Давно есть метатрейдер с выходом на биржу. С крутым встроенным языком и всё такое. Предлагаю бить не словом, а делом, т.е. ногами ) После расскажете как оно.
Пользователь
Сообщений: Регистрация: 08.03.2016
20.05.2020 09:09:18
Цитата
swerg написал: Давно есть метатрейдер с выходом на биржу.
Там опционов нет.
Пользователь
Сообщений: Регистрация: 20.04.2016
21.05.2020 10:52:20
Цитата
swerg написал: Давно есть метатрейдер с выходом на биржу. С крутым встроенным языком и всё такое.Предлагаю бить не словом, а делом, т.е. ногами )После расскажете как оно.
Я бы с радостью, но мой робот написан на lua и переписывать его на другую платформу - это крайне трудозатратно. Но если так дело и дальше пойдет с квиком, то видимо так и придется делать
Пользователь
Сообщений: Регистрация: 18.02.2015
26.05.2020 13:14:12
Раньше была функция lua_remove теперь её нет. На что заменили?
Функции lua_remove не было и нет в функционале QLUA. В LUA5.1 и LUA5.3, используемых в терминале до версии 8.5 и начиная с версии 8.5 - данная функция также присутствует.
Просьба уточнить, на основании чего возник такой вопрос?
Функции lua_remove не было и нет в функционале QLUA. В LUA5.1 и LUA5.3, используемых в терминале до версии 8.5 и начиная с версии 8.5 - данная функция также присутствует.
Просьба уточнить, на основании чего возник такой вопрос?
В том, что выдает ошибку теперь, что не найдена функция.
Я не знал, что у вас не оригинальный LUA. Глянул в вашу dll в дистрибутиве с вашего сайта. Нет такой функции в вашей dll.
Функции lua_remove не было и нет в функционале QLUA. В LUA5.1 и LUA5.3, используемых в терминале до версии 8.5 и начиная с версии 8.5 - данная функция также присутствует.
Просьба уточнить, на основании чего возник такой вопрос?
В том, что выдает ошибку теперь, что не найдена функция.
Я не знал, что у вас не оригинальный LUA. Глянул в вашу dll в дистрибутиве с вашего сайта. Нет такой функции в вашей dll.
lua53 - там нет. lua5.1 - еще есть.
Функция из спецификации LUA языка. Вы зачем ее удалили?
Пользователь
Сообщений: Регистрация: 21.08.2015
26.05.2020 16:59:04
Цитата
timber написал: Я не знал, что у вас не оригинальный LUA. Глянул в вашу dll в дистрибутиве с вашего сайта. Нет такой функции в вашей dll.
У них оригинальный луа с точностью до внутренних деталек. Если бы вы также глянули в lua.h (строка 371), то увидели бы, что в 5.3 это макрос.
написал: Я не знал, что у вас не оригинальный LUA. Глянул в вашу dll в дистрибутиве с вашего сайта. Нет такой функции в вашей dll.
У них оригинальный луа с точностью до внутренних деталек. Если бы вы также глянули в lua.h (строка 371), то увидели бы, что в 5.3 это макрос.
Это ответ на мой вопрос, зачем удалили данную функцию?
Пользователь
Сообщений: Регистрация: 21.08.2015
27.05.2020 03:49:12
Цитата
timber написал: Это ответ на мой вопрос, зачем удалили данную функцию?
Это констатация факта, что ее никто не удалял. Была функцией - стала макросом. А есть и обратные примеры, lua_setglobal была макросом, а стала функцией. Это не арка сделала и спрашивать зачем надо у авторов луа.
Пользователь
Сообщений: Регистрация: 27.05.2020
27.05.2020 11:16:58
Доброе время суток! Почему перестало работать в функции arg.n ? Говорит - attempt to index a nil value (global 'arg')
The vararg system changed from the pseudo-argument arg with a table with the extra arguments to the vararg expression. (See compile-time option LUA_COMPAT_VARARG in luaconf.h.)
т.е. надо заменить arg например так:
Код
function ConvertValue(...)
local arg = {...}
arg.n = select('#', ...)
for i = 1, arg.n do
-- do something arg[i]
end
end
В состав предлагаемой нами библиотеки lua53.dll данный макрос добавлен не был. При необходимости использовать функционал lua.5.1 - Вы можете самостоятельно добавить такой макрос в ваш скрипт/программу, либо использовать какой-либо иной подход, с использованием стандартных функций lua5.3.
В состав предлагаемой нами библиотеки lua53.dll данный макрос добавлен не был. При необходимости использовать функционал lua.5.1 - Вы можете самостоятельно добавить такой макрос в ваш скрипт/программу, либо использовать какой-либо иной подход, с использованием стандартных функций lua5.3.
Понял, спасибо вам и Антону.
QUIK clients support
Сообщений: Регистрация: 22.12.2014
01.06.2020 13:52:07
Добрый день.
Уважаемые клиенты, исходное сообщение данной темы дополнено следующей информацией: вышла новая версия терминала QUIK 8.6.0