Тема: Вышло обновление QUIK версии 7.5
Далее аналогичный лог изменений ведётся в другой теме [url]https://quik2dde.ru/viewtopic.php?id=320[/url]
Обновлено: 07.10.2016
Вышло [url=ftp://ftp.quik.ru/public/updates/7.5/]обновление терминала Quik[/url], версия 7.5.
По части Lua значатся лишь исправленными пара ошибок:
получение стакана котировок из Lua приводило к аварийному завершению работы
программы (видимо, не всегда всё же??);в момент удаления области графика с индикатором Lua в предыдущей версии не по делу запускался пересчёт индикатора, в этой версии проблема исправлена, пересчет при удалении не запускается.
[hr][/hr]
Вышло [url=ftp://ftp.quik.ru/public/updates/7.4/]обновление терминала Quik[/url], версия 7.4.
Обновлений по Lua в этой версии немного.
Добавлены поля в таблицу данных "Обязательства и требования по активам".
Добавлена таблица данных "Валюта: обязательства и требования по активам".
В битовые функции добавлена удобная и полезная функция bit.test(), которая позволяет понятно и наглядно проверять значение бита полей битовых флагов. Например:
if bit.test(order.flags, 0) then
-- заявка активна, т.к. нулевой бит поля order.flags установлен в 1
end
[hr][/hr]
Вышло обновление терминала Quik, версия 7.2.
Обновления, относящиеся к Lua.
Хотелось бы отметить, что справка в файле QLUA.chm заметно поправлена и дополнена. Для некоторых call-back функций приведены существенные уточнения о моменте их вызова, что ранее было возможно узнать лишь штудируя форум.
В функции CreateDataSource() появилось значение SetEmptyCallback, которое позволяет "включить" получения данных с сервера без необходимости создавать функцию обратного вызова.
Добавлены несколько параметров в возвращаемых таблицах некоторых функций:
getParamEx() - добавлен параметр result, возможные значения 0 или 1. Удивительно, но по славной традиции тип значения при этом - string.
getPortfolioInfo() - параметр is_leverage дополнительно может принимать значение "С" в случае, если торгуется только срочный рынок без ЕДП.
getPortfolioInfoEx() - добавлено несколько параметров.
Добавлены немного параметров в следующие таблицы структур данных:
"Заявки на внебиржевые сделки"
"Обезличенные сделки"
"Отчеты по сделкам для исполнения"
"Позиции по клиентским счетам (фьючерсы)"
"Сделки для исполнения"
"Стоп-заявки"
Пользовательские индикаторы. В таблицу "Settings" добавлена возможность указывать дополнительные типы графиков:
гистограммы
точка-тире
треугольник вверх
треугольник вниз
[hr][/hr]
Вышло [url=ftp://ftp.quik.ru/public/updates/7.1/]обновление терминала Quik[/url], версия 7.1.
Что касается обновлений для Lua, то их весьма немного.
1. Добавлены функции ParamRequest, CancelParamRequest и getParamEx2. "Они
позволяют управлять получением биржевых параметров без добавления этих параметров в открытую Таблицу текущих торгов". В общем наконец-то предоставлена возможность заказа нужных параметров непосредственно из скриптов. Скрипты становятся всё более и более автономными и не зависящими от интерфейса QUIK, это радует.
2. Исправление про метки: была ошибка, что после вызова функции SetLabelParams из Lua-скриптов метки на графике нельзя было переместить вручную. Это теперь исправлено, метки вручную перемещать можно.
Я с этой версией заметил такой момент: если вы обновляетесь с указанного выше FTP из файла quik_7_1_0_upd.zip - то в этом архиве лежит какой-то устаревший файл lua5.1.dll, он старее, чем такой файл был в версии 7.0.4. Соответственно есть смысл этот файл при обновлении из указанного архива оставить такой, какой у вас уже есть. Хотя проблема эта наверняка не критичная, и уж точно не важная, если выпишете только на Lua, без использования внешних библиотек.
По этому поводу получил ответ от тех. поддержки QUIK'а: это не принципиально, между указанными версиями различий нет. Так что это не баг и не критично. Хоть и досадно )
[hr][/hr]
Вышло [url=ftp://ftp.quik.ru/public/updates/7.0/]обновление терминала Quik[/url], версия 7.0.2.
Наконец-то в нём починена проблема запуска Lua-скриптов на Windows XP.
Т.е. начиная с этой версии можно нормально и полноценно пользоваться Lua-сриптами с 7-й версии терминала QUIK.
Собственно это всё, что есть в версии.
[hr][/hr]
Вышло [url=ftp://ftp.quik.ru/public/updates/7.0/]обновление терминала Quik[/url], версия 7.0.1.
По части Lua в этом обновлении были исправлены существенные ошибки версии 7.0.0. Собственно всё, что написано про ошибки 7.0.0 красным цветом (см. под чертой).
Однако, есть и новая проблема:
В версии 7.0.1 на Windows XP не отображается пункт меню "Lua скрипты", т.е. на этой ОС вы вовсе не сможете запускать какие-либо Lua скрипты (кроме индикаторов).
На других версиях Windows скрипты Lua в этой версии работают корректно, так что в отличии от предыдущей версии на версии 7.0.1 Lua-роботов уже можно запускать, работать будут корректно (кроме как в Windows XP).
[hr][/hr]
Вышло [url=ftp://ftp.quik.ru/public/updates/7.0/]обновление терминала Quik[/url], версия 7.0.0.
В версии 7.0 полностью изменилось меню QUIK, теперь диалог со списком Lua-скриптов открывается так:
Сервисы -> Lua скрипты.
О проблемах.
Сначала фича:
Начиная с этой версии в Lua вскрылась интересная нигде не описанная особенность: ранее OnTrade приходил только 1 раз для каждой сделки. В версии 7.0 и более новых, судя по опыту, OnTrade по одной и той же сделке может приходить 1, 2 или 3 раза. Разработчики на форуме объясняют, что в сделке стали возможны обновления полей, хотя по факту при повторных вызовах никакие значения (во всяком случае то, что получает Lua) не меняются. Но логику роботов придётся подправлять, или, как минимум, вставлять сохранение и проверку номера сделки, для которой же был вызов OnTrade, повторные вызовы для одной и той же сделки не обрабатывать (игнорировать).
В любом случае с этим придётся смириться, ибо заявлено, что это фича.
Теперь про найденные серьёзные ошибки в этой версии: (эти ошибки исправлены в версии 7.0.2)
Глядя на этот список можно уверенно сказать, что роботов Lua в этой версии запускать не стоит, надо ждать обновлений, т.к. всё будет работать явно не так, как хотелось бы.
Теперь о хорошем. Обнаружены следующие изменения:
1. Важное дополнение: в обработчик OnConnected добавлен параметр flag типа BOOLEAN.
Теперь этот обработчик вызывается каждый раз при получении терминалом нового класса, а не только при подключении! Если произошло получение нового класса - то flag равен false. Вероятно, если на самом деле произошло подключение - то значение параметра flag будет true (в справке не уточняется когда же значение этого параметра будет равно true, указано только про значение false).
Вызывался ли ранее этот обработчик при получении нового класса?!
2. Для функций «getItem», «getOrderByNumber», «getNumberOf» и «SearchItems» исчез вариант запроса параметра ccp_positions, соответственно из справки убрано описание соответствующей таблицы "Обязательства и требования по деньгам".
3. В функции getFuturesLimit добавился параметр curr_code. Что будет, если его совсем не передать - в справке не уточняется.
Что будет со старыми программами, если этот параметр совсем не предавать? не понятно.
4. Существенно расширился состав полей в таблице "Отчеты по сделкам для исполнения", добавлены поля: sec_code, class_code, report_time, report_date_time.
5. Добавились несколько новых полей в таблицах "Сделки для исполнения", "Стоп-заявки", "Торговые счета".
6. В таблицу "Позиции по клиентским счетам (фьючерсы)" добавлено поле session_status.
7. В одной из предыдущих версий QUIK прямо в его поставку был включена прокси-библиотека lua5.1.dll. Но с ней была проблема, хоть и не часто замечаемая: эта библиотека требовала наличия в системе или в каталоге с терминалом файла msvcr100.dll.
В версии 7.0 эта проблема исправлена, файл msvcr100.dll более не требуется.
8. Как бы по-мелочи, но при этом существенно доработана справка, в неё добавлено описание разных нюансов, которые очень не очевидны, но которых, как известно, очень много в QLua. Это явно поможет тем, кто делает Lua-роботов, теперь в справке больше той информации, которую ранее приходилось получать экспериментами или окольными путями. Замечены уточнения и добавки:
Для некоторых функций обратного вызова уточнено когда именно они вызываются (например, OnCleanUp, OnClose).
Ко многим функциям дописаны полезные примечания (например, CalcBuySell), текст много где изменён, стал более понятный.
Уточнения по возвращаемым параметрам (например, getBuySellInfoEx, таблица завок).