Lua quik руководство

Файловый архив

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

webQUIK

Рабочее место webQUIK — это полноценный торговый терминал, работающий в окне любого веб-браузера и под управлением любой операционной системы.

QUIK Android X

Мобильное приложение для устройств, работающих на платформе Android. Приложение QUIK Android X в Google play и RuStore.

iQUIK X

Утилиты и документация

Разные утилиты и документация.

Документация Дистрибутив
Краткая инструкция по Рабочему месту QUIKpdf, 752.4 КБ

Текущая версия: Утилиты / 22.11.2022
Адаптер для экспорта данных в программу технического анализа Wealth-Lab Developer, v.6.0zip, 222.1 КБ

Инструкция по установке Рабочего места QUIK на компьютеры с macOSPDF, 825.9 КБ

Адаптер для экспорта данных в программу технического анализа AmiBroker, v. 2.0.1dll, 257.6 КБ

Инструкция по установке Рабочего места QUIK на компьютеры с ОС Linuxpdf, 1.9 МБ

Адаптер для экспорта данных в программу технического анализа AmiBroker, v.1.0.0.19dll, 248.1 КБ

Инструкция по проведению депозитных операций Банка России в системе QUIKzip, 42 КБ

Редактор архива данных для графиковzip, 1.8 МБ

Документация по языку LUA в QUIK и примерыzip, 3.5 МБ

API импорта транзакций 1.3 x64 (для версий Рабочего места QUIK 7.0 — 10.0)rar, 167.6 КБ

Примеры функций расчета индикаторов терминала QUIK на языке Luazip, 76 КБ

API импорта транзакций 1.5 x64 (для версии Рабочего места QUIK 10.0 и выше)zip, 1.1 МБ

Модуль алгоритмической торговли Light. Руководство пользователяpdf, 1.5 МБ

Терминальный модуль TrustManagerpdf, 2.7 МБ

Инструкция по устранению затруднений, связанных с нечитаемым отображением шрифтов в терминале QUIK для ПК на Windows 10pdf, 524 КБ

Аварийное завершение работы терминала (ошибка «General Protection Fault — Internal Exception Happened»)pdf, 827.9 КБ

Инструкция по работе с условными (стоп–) заявкамиpdf, 980.7 КБ

Импорт сертификата в QUIK Front 9.2 на Windows 7,8 и Server 2012pdf, 605.9 КБ

Руководство пользователя Модуля опционной аналитики v.3.0pdf, 707.1 КБ

Типовые ошибки в Рабочем месте QUIKpdf, 1.8 МБ

midQORT

Автоматизированный мидл-офис, обеспечивающий мониторинг и управление позициями и рисками с учетом всех рынков и групп участников, а также определение финансового результата в разрезе, нужном инвестиционной компании или банку.

backQORT

Автоматизированный бэк-офис, обеспечивающий автоматизацию учета операций, оперативную организацию документооборота и подготовку различных видов отчетности инвестиционной компании и банка, как регуляторной, так и клиентской и внутренней.

capQORT

Мидл-офис управляющей компании, обеспечивающий ведение и контроль позиций в режиме онлайн для портфелей и групп портфелей, возможность проведения торговых операций, анализ портфелей, контроль ограничений и мониторинг нарушений.

LuaForWindows_v5.1.4-46.rar

Пакет Lua­­ for Windows содержит всё, что необходимо для написания, выполнения и отладки скриптов на языке Lua под операционную систему Windows.
Размер файла: 25.06 мб

Quik_lua.zip

Документация по языку Lua в QUIK. Размер файла: 2.54 мб

Doc714.zip

Документация к торговому терминалу QUIK. Руководство пользователя QUIK. Размер файла: 17.30 мб

8 Язык QPILE.pdf

Имена параметров для вызова функции getParamEx. Страницы с 63 по 68. Размер файла: 1.63 мб.

Ошибка при установки LuaForWindows_v5.1.4-46

Если у Вас, при установке LuaForWindows_v5.1.4-46 появляется следующая ошибка:

Запустите установку файла vcredist_x86.4053.exe из архива LuaForWindows_v5.1.4-46.rar, а после снова попробуйте запустить LuaForWindows_v5.1.4-46.exe.

1. Lua for Windows.

Установим пакет на свой компьютер. Процесс установки прост и не требует никаких специальных настроек. Необходимо только принять лицензионное соглашение. Более никаких изменений в процессе установки вносить не требуется. После установки пакета в меню Пуск найдем директорию Lua. Из всех установленных приложений пользоваться мы будем только редактором кода SciTE. Редактор кода SciTE это специальный текстовый редактор, который настроен на язык программирования Lua и знает синтаксис данного языка.
Запустим SciTE через меню Пуск > Все программы > Lua > SciTE или Пуск > Приложения > Lua > SciTE. Если по какой-то причине в меню Пуск отсутствует папка Lua, то запускаем по следующему пути. C:\Program FilesLua5.1SciTESciTE.exe.

Окно редактора SciTE.

Немного о редакторе SciTE. 

После запуска идем в меню Language и выбираем язык Lua. Этим действием мы настраиваем редактор на нужный язык программирования. Редактор знает синтаксис языка Lua и поэтому, будет выделять цветом тот или иной текст кода. Например слова входящие в состав языка Lua выделяются синим жирным шрифтом, обычным черным шрифтом печатаются имена переменных, названия таблиц или названия каких-то функций, которые уже были созданы с помощью языка Lua. Значения переменных выделяются голубым тонким шрифтом. Красным тонким шрифтом выделятся комментарий к коду.

Сейчас возможно Вам не понятны некоторые термины, но мы их обязательно разберем ниже.

Еще некоторые возможности редактора SciTE. При написании кода иногда выводятся подсказки ниже курсора — это редактор подсказывает Вам имена, существующие в текущем скрипте. Нажав клавишу Tab или дважды щелкнув мышкой на подсказку, произойдет автоматический ввод подсказки.

На рисунке, с левой стороны окна, Вы можете видеть столбец с номерами 1, 2, 3, 4, 5 – это нумерация строк кода. Нумерация строк очень удобная вещь, она позволяет находить ошибки в коде. Например, если произошел какой-то сбой в программе, то в сообщении об ошибке будет указан номер строки, в которой это произошло.
Некоторые полезные функции при написании кода:
Для того чтобы удалить одну строку, встаем на нее курсором и нажимает Ctrl+L, при этом действии удаляется целиком вся строка.
Для выделения всей строки, трижды щелкаем левой кнопкой мыши по строке.
Для выделения прямоугольной области из нескольких строк удерживая клавишу Alt, выделяем необходимый фрагмент, удерживая нажатой левую клавишу мыши.
В редакторе работают стандартные сочетания горячих клавиш Ctrl+C – копировать, Ctrl+V – вставить, Ctrl+X – вырезать, Ctrl+Z – отменить.
Выше приведены минимально необходимые знания для работы с редактором кода SciTE. Функции редактора, которые нам потребуются, при изучении языка Lua и написании торговых роботов мы будем рассматривать в процессе.

2. Документация по языку Lua в QUIK.

Разработчиками терминала QUIK составлен пакет документов поясняющих взаимодействие скриптов на языке Lua и торгового терминала QUIK. Документация доступна на официальном сайте QUIK www.arqatech.com, а также в документах к данному курсу. Рассмотрим имеющиеся документы подробнее.

«Интерпретатор языка Lua.pdf» – это основной документ, содержащий команды для терминала QUIK, позволяющие скриптам на языке Lua получать доступ к данным и отправлять заявки в торговую систему. Интерпретатор языка Lua для терминала QUIK называется QLua. Определение интерпретатора QLua из документа «Интерпретатор языка Lua.pdf» стр.5:
«Интерпретатор языка Lua (QLua) – это библиотека, которая предоставляет пользователю возможность взаимодействия с Рабочим местом QUIK при помощи скриптов, созданных на языке Lua.»
Библиотекой называют сборник подпрограмм для выполнения часто встречающихся операций.

Что такое скрипт? Прежде чем ответить на этот вопрос давайте с начала подробнее разберем, что такое язык программирования.

Язык программирования.
Язык программирования — это набор слов и символов понятный для компьютера. Все компьютерные программы написаны на определенном языке программирования. Любая компьютерная программа представляет собой текст, написанный на языке программирования, этот текст называется кодом программы. Компьютер, читая код программы, понимает какие действия ему необходимо совершить. Компьютерные программы все чаще называют приложениями.

Язык программирования Lua.
Lua — это встраиваемый язык программирования, предназначенный для встраивания в программу собственного кода. Пользователь, при помощи языка Lua, может написать сценарий поведения для определенной программы, и программа будет самостоятельно выполнять прописанные в сценарии действия. Такие сценарии называются скриптами. В нашем случае мы будем встраивать скрипт на языке Lua в торговый терминал QUIK. Интерпретатор QLua служит связкой между скриптом на языке Lua и терминалом QUIK, именно эта связка и позволяет встроить код на языке Lua в терминал QUIK.

Список данных, к которым предоставляет доступ интерпретатор QLua:

1.Данные из таблицы «Текущие торги».
2.Данные с графиков цены, объема и индикаторов.
3.Данные из стакана котировок.
4.Данные из таблиц, заявки, сделки и стоп-заявки.
5.Данные из таблицы «Клиентский портфель».
6.Информация по денежным средствам на торговых счетах.
7.Информация по бумажным лимитам.
8.Позиции по фьючерсам и ограничения по денежным лимитам.
9.Данные с графиков цены и объема торгового инструмента.
10.Данные с графиков индикаторов.

Над полученными данными мы можем производить любые математические или логические действия.

Одной из ключевых возможностей интерпретатора QLua является возможность работы с торговыми заявками. Интерпретатор QLua может отправлять в торговую систему все виды заявок, а именно:

1.Рыночная заявка.
2.Лимитированная заявка.
3.Заявка типа «Стоп-лимит» (стоп-заявка).
4.Заявка типа «Тейк-профит».
5.Заявка типа «Тейк-профит и Стоп-лимит».
6.Заявка типа «Спот-цена по другой бумаге».
7.Заявка типа «Со связанной заявкой».

На протяжении всего курса мы будем обращаться к документу «Интерпретатор языка Lua.pdf», так как в нем содержится вся информация по взаимодействию скриптов на языке Lau и терминалом QUIK.Следующий документ из пакета «Документация по языку Lua в QUIK» это «Создание индикаторов технического анализа с помощью скриптов Lua.pdf» – в данном документе рассматриваются примеры создания индикаторов технического анализа. Данная инструкция была разработана специалистами компании ARQA Technologies.

Следующий документ «Использование Lua в Рабочем месте QUIK.pdf» — документ был разработан специалистами компании ARQA Technologies. Документ поясняет взаимодействие скриптов Lua и терминала QUIK также в документе представлены некоторые примеры написания скриптов на языке Lua.

В папке «examples» содержаться примеры скриптов Lua для QUIK.

3. Документация к торговому терминалу QUIK. Руководство пользователя QUIK.

Пакет документов «Руководство пользователя QUIK» содержит исчерпывающую информацию по работе с терминалом.

Курс предполагает, что Вы умеете пользоваться терминалом QUIK и знаете его основные функции. В курсе будут рассматриваться функции терминала QUIK относящиеся только к скриптам на языке Lua.

Из всех документов, представленных в руководстве пользователя QUIK, мы будем рассматривать только документ «6 Работа с другими приложениями.pdf», а именно пункт «6.11 Импорт транзакций», стр. 31. В данном пункте прописаны все возможные настройки для отправки заявок в торговую систему.

Скачайте все перечисленные документы. И установите пакет Lua for Windows.

Это ознакомительная часть курса, что бы просмотреть полный курс, пожалуйста оплатите подписку, подписка действует 2 года. Помимо доступа к полному тексту курса, предоставляются все коды скриптов и вспомогательные файлы. Первые три раздела предоставляются бесплатно в полном объеме. Всем кто ранее покупал коды скриптов доступ будет предоставлен бесплатно, пожалуйста пришлите запрос с Email на который Вам были направлены коды.

основы-квик

В данной статье начнем рассматривать такую интересную тему как написание скриптов на языке программирования QLUA. Существует язык программирования LUA, а если в названии указан символ Q, то значит, этот язык относится к торговому терминалу QUIK. Пользователи еще говорят, что это Квик_Луа (QUIK LUA). Но суть остается одна, это встроенный язык программирования для КВИК.

Если вы только начинаете изучение разных платформ и языков программирования для написания скриптов для них, торговых роботов или индикаторов, то Вам должно быть интересно узнать подробнее о языке QLUA.

Приступим с самого интересного момента, а с чего надо начать все это осваивать? Все сталкиваются с таким вопросом и начинают копать тонну информации по разным источникам, чтобы разобраться что же это такое и из чего все состоит. Мы же Вам попытаемся немного помочь и ускорить процесс ознакомления с QLUA.

На языке LUA можно запрограммировать скрипты для торговли в терминале КВИК, все возможные индикаторы и торговые роботы, это все понятно, но как и где это делать, в каком редакторе необходимо все это программировать?

Где будем создавать код LUA?

Notepad-программа
Все скрипты или индикаторы, написанные на LUA представляют собой простой текстовый файл, просто имеет другое специальное расширение. Из этого становится ясно, что написать индикатор/скрипт возможно даже в простом текстовом редакторе, например в программе Блокнот, что есть у всех по умолчанию в Виндоуз. Запускаем текстовый редактор, пишем в нем код скрипта, далее сохраняем файл. Вот в принципе и все, наш скрипт для применения в торговой платформе КВИК готов. Как видите, оказывается очень просто. Да, все просто, но не очень удобно, т.к. текст в блокноте не имеет никакого обозначения, просто сплошной текст без разделений, если вы программировали, то поймете о чем речь идет. Именно поэтому обычно программисты используют подобие блокнота — это программа Notepad++. Повторюсь, что можно код писать в любом редакторе, но, на наш взгляд, программа Notepad++ очень удобна для программировании на LUA. В Notepad++ есть подсветка синтаксиса Lua и это очень большое преимущество в удобстве написания Lua кода.

Что лучше создать Скрипт или Индикатор?

И вот, когда мы поняли, где мы будем создавать наши творения для терминала КВИК, у нас возникает еще один вопрос, а что лучше написать Скрипт или может Индикатор?! Да, выбирать особо не приходится, но необходимо четко понимать в чем отличия между скриптом и индикатором. Тут можно не вдаваться в глубокие подробности структуры того и другого, а можно рассуждать как простой пользователь, если нужно просто видеть нужную информацию на графике в виде линий, точек и прочих обозначений, то значит нужен Индикатора. Если, что-то другое нужно, то значит скрипт. Да, это очень поверхностные различия, но для общего понимания хватит! Далее, когда вы углубитесь в данную тему и начнете понимать из чего состоит структура скрипта, а из чего структура индикатора, то сами легко сможете понять, что нужно сделать, чтобы осуществить задуманную идею.

Заключение

Мы начали с малого, подготовились к написанию кода на LUA и разобрались, что писать код будем в текстовом редакторе Notepad+, а также знаем, что нам выбрать для реализации индикатор или скрипт. Да, пока не коснулись самого кода LUA и структуры, но постараемся сделать цикл статей, чтобы это все постепенно разобрать и понять. Это был Первый и очень важный шаг к изучению языка QLUA. А тем самым даже на этой стадии мы помогли сэкономить Вам немного немало несколько часов рабочего времени!

Продолжение следует, следите за серией статей по языку программирования QLUA для торгового терминала КВИК.



April 1 2014, 23:41

Category:

  • IT
  • Cancel

Язык луа предоставляет достаточно широкие возможности для создания инфраструктуры торговых алгоритмов. Большой плюс Луа его интегрированность непосредственно в торговый терминал квик, что снижает риск обрыва потока данных из квика в стороннюю оболочку, снижение времени на передачу данных, его обработку и передачу торговых сигналов обратно в квик. Кроме этого, луа позволяет создать собственный интерфейс внутри квика, отслеживать исполнение (полное и частичное) ордеров, возможность встраивать элементы ММ.
Документация по Луа, как им то невооборазимым образом разбросана по разным документам. Разумеется пользоваться скриптами будет небольшое кол-во пользователей, тем не менее, документацию по языку все же можно было собрать в одном месте.

Итак, синтаксис языка и его описание
Если с синтаксисом языка все понятно, двигаем дальше.

Проверим, готов ли наш квик к обработке скриптов на луа.
Работу QLua обеспечивает файл qlua.dll, который должен находиться в одной папке с файлами рабочего места QUIK, например, C:Program FilesQUIK. Если файла нет, пробуем обновить квик или скачиваем dll с сайта quik.ru

Программирование
Скрипт пишется непосредственно в текстовом файле и сохраняется с расширением .lua
Возможно 3 подхода к написанию скриптов:
1. Скрипт пишется в текстовом файле и при его запуске выполняется 1 раз. Удобен для выполнения каких то разовых операций.
2. Можно написать в Lua-скрипте функцию с предопределенным именем и всю логику работы робота (или вычислительного скрипта) поместить в эту функцию. Функция main выполняется в отдельном потоке, т.е. она не мешает работе основного функционала терминала QUIK, наличие функции позволяет выполнять периодически приостанавливать скрипт и возобновлять его работу. Если зациклить main() и вставить sleep(), то получаем полную эмуляцию подхода, использующегося при программировании на встроенном QPILE: периодический расчет чего-либо через заданный интервал времени.
3. В QLUA доступна событийная модель программирования.
При выборе такого подхода получаем весьма гибкую среду выполнения пользовательских скриптов внутри QUIK, позволяющую мгновенно получать интересующие события от терминала, производя нужную нам обработку этих событий. Для того, чтобы обработать то или иное событие, необходимо просто прописать в своем скрипте функцию с предопределенным названием. Все доступные функции обработки событий есть в документации по QLUA. Поддерживаются самые различные события совершение на бирже очередной сделки, выставление новой заявки пользователем (или скриптом), изменение стакана котировок и т.д. Схематически принцип выполнения скриптов внутри терминала можно изобразить следующим образом:

Скрипт LUA в QUIK может содержать несколько функций с предопределенными названиями, являющимися обработчиками событий (таких как новая сделка, изменение лимитов, изменение котировок и т.д.).
Выполнение скрипта происходит после пожатия на кнопку «Запустить» в диалоге «Таблицы -> Lua -> Доступные скрипты», и всегда начинается с обработки тела скрипта вне каких-либо функций (на схеме обозначено [BODY]) и вызова обработчика с именем Init() (если он есть). После того, как функция Init() завершится, происходит создание отдельного потока приложения QUIK, и в этом потоке начинает выполняться функция main(), которая обязательно должна быть. Скрипт считается работающим до тех пор, пока выполняется функция main. Как только она завершится — прекращается и выполнение скрипта, т.е. вызов из него обработчиков событий. Обратите внимание, что все функции обработки событий, в отличие от функции main(), выполняются в рамках основного потока терминала QUIK, а значит время их работы должно быть сравнительно небольшим, иначе будут заметны «подвисания» в работе терминала.

Начать программирование можно с такого кода:

is_run = true

function main()

while is_run do

sleep(1000)   — приостановка (1000 = на 1 секунду)

robot()

end

end

function robot() —тело робота
— здесь ваш код

end —конец тела робота

function OnStop(stop_flag)

is_run=false

stop_flag=1

end

Описание функций находятся здесь в файле «Интерпетатор языка луа» или в веб-версии здесь.
К сожалению, описание функций не полное и когда вы дойдете то программирования отправки транзакций (функция «sendtransaction()» ) то обнаружите что параметры нужно искать в другом месте, а именно в «Руководстве пользователя квик» в разделе 6 «Работа с другми приложениями», правда удобно?)) Я потратил несколько минут на поиски.

В остальном язык сильно проще и приятнее QPILE.
Примеры работающего робота, торгующего в спреде здесь. Его принцип работы и описание в предыдущем посте.

текст частично взят отсюда

Qlua-основыЧтобы скомпилировать(получить байт-код) Ваш скрипт, Вам понадобится файл luac.exe, находится в корневом каталоге Вашей LuaForWindows, если у Вас ее еще нет, то установите отсюда code.google.com
Затем, положите в папку с Вашим скриптом копию файла luac.exe, создайте в этой папке текстовый файл, добавьте в него строчку:
luac.exe -o MyScript.luac MyScript.lua
«MyScript» замените на имя Вашего скрипта и сохраните этот файл под любым названием, главное с расширением .bat
Теперь выполните этот файл и в папке появится еще один файл с расширением .luac, перекиньте его куда-нибудь, поменяйте его расширение на .lua и запускайте в терминале как обычный скрипт.

Тот же результат можно получить программным путем:

1
2
3
local f = io.open(FilePathLuac, 'wb')        -- FilePathLuac по этому пути будет создан скомпилированный файл, например: "C:\MyScript.lua"
f:write(string.dump(loadfile(FilePathSrc)))  -- FilePathSrc путь к Вашему исходному файлу .lua
f:close()

Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!

csvФайл CSV-формата это обычный текстовый файл, с которым Excel и аналогичные программы могут работать как с таблицей. Каждая строка таблицы в этом файле записывается как новая строка со знаком переноса в конце, а значения полей разделены между собой каким-то символом, чаще «;». В самой первой строке такого файла можно (не обязательно) указать названия столбцов, так же через «;».

Ниже приведен пример создания такого файла и записи в него данных о совершенных сделках средствами QLua(Lua):
Смотреть полностью…

Qlua-основы

INTERVAL_TICK -- (0)       Тиковые данные  
INTERVAL_M1   -- (1)       1 минута  
INTERVAL_M2   -- (2)       2 минуты  
INTERVAL_M3   -- (3)       3 минуты  
INTERVAL_M4   -- (4)       4 минуты 
INTERVAL_M5   -- (5)       5 минут 
INTERVAL_M6   -- (6)       6 минут 
INTERVAL_M10  -- (10)      10 минут 
INTERVAL_M15  -- (15)      15 минут 
INTERVAL_M20  -- (20)      20 минут 
INTERVAL_M30  -- (30)      30 минут 
INTERVAL_H1   -- (60)      1 час 
INTERVAL_H2   -- (120)     2 часа 
INTERVAL_H4   -- (240)     4 часа 
INTERVAL_D1   -- (1440)    1 день 
INTERVAL_W1   -- (10080)   1 неделя 
INTERVAL_MN1  -- (23200)   1 месяц

Qlua-основы

Сейчас в QLua появилась встроенная функция bit.test, которая решает ту же задачу, т.е. смысла в использовании функции CheckBit больше нет !

true — флаг установлен
false — флаг не установлен

-- Функция проверяет установлен бит, или нет (возвращает true, или false)
CheckBit = function(flags, _bit)
   -- Проверяет, что переданные аргументы являются числами
   if type(flags) ~= "number" then error("Ошибка!!! Checkbit: 1-й аргумент не число!") end
   if type(_bit) ~= "number" then error("Ошибка!!! Checkbit: 2-й аргумент не число!") end
 
   if _bit == 0 then _bit = 0x1
   elseif _bit == 1 then _bit = 0x2
   elseif _bit == 2 then _bit = 0x4
   elseif _bit == 3 then _bit  = 0x8
   elseif _bit == 4 then _bit = 0x10
   elseif _bit == 5 then _bit = 0x20
   elseif _bit == 6 then _bit = 0x40
   elseif _bit == 7 then _bit  = 0x80
   elseif _bit == 8 then _bit = 0x100
   elseif _bit == 9 then _bit = 0x200
   elseif _bit == 10 then _bit = 0x400
   elseif _bit == 11 then _bit = 0x800
   elseif _bit == 12 then _bit  = 0x1000
   elseif _bit == 13 then _bit = 0x2000
   elseif _bit == 14 then _bit  = 0x4000
   elseif _bit == 15 then _bit  = 0x8000
   elseif _bit == 16 then _bit = 0x10000
   elseif _bit == 17 then _bit = 0x20000
   elseif _bit == 18 then _bit = 0x40000
   elseif _bit == 19 then _bit = 0x80000
   elseif _bit == 20 then _bit = 0x100000
   end
 
   if bit.band(flags,_bit ) == _bit then return true
   else return false end
end

Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!

Qlua-основы

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-- Флаг поддержания работы скрипта
IsRun = true;
 
function main()
   -- Пытается открыть файл в режиме "чтения/записи"
   f = io.open(getScriptPath().."\Test.txt","r+");
   -- Если файл не существует
   if f == nil then 
      -- Создает файл в режиме "записи"
      f = io.open(getScriptPath().."\Test.txt","w"); 
      -- Закрывает файл
      f:close();
      -- Открывает уже существующий файл в режиме "чтения/записи"
      f = io.open(getScriptPath().."\Test.txt","r+");
   end;
   -- Записывает в файл 2 строки
   f:write("Line1nLine2"); -- "n" признак конца строки
   -- Сохраняет изменения в файле
   f:flush();
   -- Встает в начало файла 
      -- 1-ым параметром задается относительно чего будет смещение: "set" - начало, "cur" - текущая позиция, "end" - конец файла
      -- 2-ым параметром задается смещение
   f:seek("set",0);
   -- Перебирает строки файла, выводит их содержимое в сообщениях
   for line in f:lines() do message(tostring(line));end
   -- Закрывает файл
   f:close();
   -- Цикл будет выполнятся, пока IsRun == true
   while IsRun do
      sleep(100);
   end;   
end;
 
function OnStop()
   IsRun = false;
end;

Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!

Qlua-основы
Во время работы терминала QUIK в нем происходят различные события, такие, как приход новой обезличенной сделки, выставление заявки, сработал стоп-ордер и т.п. Для того, чтобы своевременно и определенным образом реагировать на эти события, в скрипте QLua можно использовать функции обратного вызова, которые будут выполнять блок кода, расположенного внутри них, в тот момент, когда это событие произойдет.

Для каждого определенного события есть своя предопределенная разработчиками QLua функция!Смотреть полностью…

Qlua-основы
isConnected()   — возвращает 1, если QUIK подключен к серверу и 0, если не подключен

getScriptPath()   — возвращает путь, по которому находится скрипт, без последнего обратного слэша («»), например, «C:Program Files (x86)InfoMyLua»

getInfoParam()   — возвращает значение параметра из окна:«Связь» -> «Информационное окно…»
Смотреть полностью…

Qlua-основы
Для приведения типов в QLua(Lua) служат всего 2 функции:

tostring()   — принимает любой параметр и конвертирует его в строку в подходящем формате, для применения конкретного формата, используйте функцию string.format

tonumber()   — пытается преобразовать переданный параметр в число, иначе возвращает nil

Qlua-основы
Стандартные арифметические операции:
«+» — сложение,
«-« — вычитание,
«/» — деление,
«*» — умножение,
«%» — остаток от деления (5%2 == 1).

   math.abs (x) — Модуль x.

   math.acos(x) — Возвращает арккосинус x

   math.asin(x) — Возвращает арксинус x (в радианах).

   math.atan(x) — Возвращает арктангенс x (в радианах).

   math.atan2(x, y) — Возвращает арктангенс x/y (в радианах), но использует знаки обоих параметров для вычисления «четверти» на плоскости. (Также корректно обрабатывает случай когда y равен нулю.)Смотреть полностью…

Qlua-основы
Материал статьи взят здесь: http://www.bot4sale.ru/blog-menu/qlua/spisok-statej/368-lua-time.html

Дата/время в QLua(Lua) может быть представлено либо в виде секунд, прошедших с полуночи 1 января 1970 года, либо в виде таблицы, имеющей следующие поля:

   year — год (четыре цифры)
   month — месяц (1 – 12)
   day — день (1 – 31)
   hour — час (0 – 23)
   min — минуты (0 – 59)
   sec — секунды (0 – 59)
   wday — день недели (1 — 7), воскресенью соответствует 1
   yday — день года
   isdst — флаг дневного времени суток, тип booleanСмотреть полностью…

Понравилась статья? Поделить с друзьями:
  • Инструкция по охране труда при работе на мясорубке в столовой
  • Инструкция по применению лекарства де нол
  • Как создать тренинг пошаговое руководство
  • Офсин по кчр руководство
  • Орвис лизоцим для горла инструкция по применению цена