Блог им. 3Qu

Quik 8.11.0.66. Вот так номер. Шо, опять Win32, опять 32 бит?

    • 18 февраля 2021, 20:35
    • |
    • 3Qu
  • Еще
Сегодня брокер Альфа обновил Квик с версии 8.8… до версии Quik 8.11.0.66. Появился кроме Lua 5.3.5 еще и Lua 5.4.1. Отлично, мне бы радоваться, давно этого хотел. Но...
Запустил рабочую в Quik 8.8 версию системы использующую DLL, И увидел вот это:
Quik 8.11.0.66. Вот так номер. Шо, опять Win32, опять 32 бит?
Во первых, ничего не работает даже в уже отлаженной версии Lua 5.3.5. Вы видите на картинке, что Lua не нравится 64-бит DLL, и она хочет 32-битную.
Во вторых, то ли Quik стал опять 32-х битным (пока не смотрел), то ли Lua в Quik стала снова 32-х битной, а это означает, что все надо переделывать с 64 бит на 32 бит. С чем боролись, на то и напоролись. Вечный кайф.
Признаться, сильно лень переделывать все опять на 32 бит, тем более, многих библиотек для DLL С++ для 32 бит просто не существует в природе.
О моей борьбе с этим буду сообщать. Наверно, дополнением этого топика. Подписывайтесь, чтобы ничего не пропустить. Мало ли, м.б. решение и найдется.



Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • QUIK
18 комментариев

Квик не стал 32-битным. Если Вы запустили dll, скомпилированную под lua 5.3 в режиме 5.4, то и не будет работать.

Необходимо собрать ее для lua 5.4 или продолжать использовать в режиме lua 5.3. По крайней мере никаких проблем не наблюдается не на 8.11 ни на 8.12.

avatar
nicknh, я же написал запускаю для 5.3.5. И дело не в проге Луа, а в том, что Луа хочет 32 бит DLL. См. картинку, подчеркнуто красным.
Все индикаторы и пр. Луа (которые без DLL) как работали, так и работают.
avatar
Люди по уровням торгуют и наторговывают, танцевать с этими программами. Или вон трейдинг вью, там всегда все работает.

3Qu, Вы всегда можете проверить какая версия lua используется при запуске, выведя значение константы _VERSION. Не думаю, что ваш брокер решил что-то сделать с дистрибутивом. 32-бит версия будет иметь проблемы с 19 знаками в номерках заявок срочного рынка.

Данная ошибка просто говорит о несовместимости библиотек. А не то, что она 32 бит.

avatar
nicknh, 5.3.5. Если в программах Луа нет ДЛЛ, то все работает, что естественно, т.к. это не зависит от битности.
Проверил в предыдущей версии терминала — нет проблем.
avatar
Не похоже, что 32-бит версию хочет. Это просто обобщенное сообщение об ошибке. Такое вылезет, если вместо DLL подсунуть текстовый файл, например.
avatar
bstone, там нормальные версии и программы и ДЛЛ. Уже все это проверил в старой версии терминала 8.8… — все ОК.
На всяк случай удалял даже scripts.dat, переименовывал файлы Луа — не помогает.
Откровенно, думаю, что вряд ли они на 32 бит поменяли, но просит-то она 32 бит.
Мистика.(( ))
avatar

Чую копать нужно в сторону «путей», что то там не ладно.

 

avatar
Винни Пух, у меня все как было, так и осталось. А вот в интерпретаторе Луа они явно что-то поменяли, а, скорее всего, не учли, забыли учесть.
Вполне возможно, что с поиском Луа путей они и напутали. В Луа вполне определенная процедура поиска путей, м.б. с ней действительно что-то не в порядке. Как раз в этом направлении начал копать.
avatar
У  меня после перехода на новую версию только автологин «сломался» (починил быстро). С Lua-скриптами никаких проблем не возникло.
avatar
Prophetic, непосредственно с самими Луа скриптами никаких проблем и нет. Проблемы с ДЛЛ, подключенным к Луа скриптам. И даже, только в некоторых конфигурациях.
avatar
3Qu, Не дурак, читать умею. У меня роботы на С# работают. Lua-скрипты нужны для работы коннектора, и dll там подключена. в частности core.dll для 5.3, и «да» — 64-bit
avatar
Prophetic, в итоге все заработало. Проблемы действительно оказались с путями поиска reguire(). Видимо, ARQA по ходу пьесы их поменяла. При этом ошибки возникают для более сложных конструкций, скажем, когда ДЛЛ использует еще какие-то ресурсы, другие ДЛЛ, в частности. Просто ДЛЛ подключаются без проблем.
Ошибка -«не является приложением Win32», по видимому, осталась в наследие от предыдущих, еще 32-бит версий Квик.
avatar
3Qu, Да, подобное сообщение действительно сбивает с толку, и может привести к неправильному направлению поиска проблемы. Хорошо, что у Вас все получилось в результате.
avatar
3Qu, это системное сообщение, к 32-битности оно не имеет отношения, как я и говорил. Просто система сначала проверяет формат .exe/dll файла на соответствие спецификации PE Win32. Если он не соответствует, то выдается соответствующее сообщение. А уже в формате PE Win32 система может узнать платформу win32/x64 и т.п.

С путями, по сути, у вас тоже косяк. Надо их делать относительными к .lua скрипту, а не рассчитывать на то, что по умолчанию будет то, что вам нужно. В это случае проблем бы с изменением базового пути при обновлении Quik не было бы.
avatar
bstone, скорее всего так.
Что касается путей, то ошибок нет.Есть Луа переменные PATH и CPATH — там все пути определены. Достаточно путей по умолчанию.
В 8.11 не совсем в путях дело, а в некой ошибке в задании путей при запуске. Об этом написал в след топике. В итоге, обновил до 8.12, и все стало на свои места.
avatar
3Qu, не уловили суть. Надо строить пути к своим DLL относительно getScriptPath(). Тогда вам будет все равно, что там очередная версия квика с путями по умолчанию сделает.
avatar
bstone, require() работает с CPATH. Сама же ДЛЛ ищет ресурсы в своей папке, или по PATH виндов, либо в реестре, либо по указанному пути.
avatar

Читайте на SMART-LAB:
Фото
EUR/USD между 1,16 и 1,17: рынок ждет сигнала от Уорша
EUR/USD вяло торгуется в пятницу, держась около 1,1650. Недавняя попытка закрепиться выше 1,17 завершилась откатом. Рынок взял паузу...
🔥 Акции Займера войдут в Индекс широкого рынка
С 18 сентября акции Займера $ZAYM будут включены в базу расчета Индекса акций широкого рынка Московской биржи (MOEXBMI). 📌 Индекс объединяет...
Фото
Финансовые результаты ПАО «АПРИ» по МСФО за первое полугодие 2026 года: рост LTM EBITDA на 67,9%
Финансовые результаты ПАО «АПРИ» по МСФО за первое полугодие 2026 года: рост LTM EBITDA на 67,9% 🔵Выручка составила 12,01 млрд руб....
Фото
Рубль снова упал - на календаре третий квартал. Анализ исторической сезонности курса рубля
Здравствуйте! Мне стало интересно проверить, существует ли статистически значимая сезонность курса рубля относительно равновзвешенной корзины...

теги блога 3Qu

....все тэги



UPDONW
Новый дизайн