Блог им. finstrateg

Открытый Универсальный Робот – Немного о Qlua и как запускать робота в квике

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

Qlua – это скриптовый язык поддерживаемый квиком, в основе язык lua 5.1 (в моем квике версия такая).

Скрипты, написанные на Qlua – это обычные текстовые файлы, которые имеют расширение «.lua». То есть можно сделать файл в обычном блокноте и после сохранения поменять в нем расширение с «.txt» на «.lua». Если внутрь этого файла записать инструкции кода на языке Qlua, то квик будет выполнять их.

Для удобства написания инструкций кода лучше пользоваться не виндусовым стандартным блокнотом, а например Notepad++, который можно скачать официально и бесплатно здесь https://notepad-plus-plus.org/download/v6.9.1.html. Он позволяет включить подсветку синтаксиса различных языков программирования, в том числе и lua, что очень помогает при написании кода.

В Notepad++ в «Опции -> Настройки» можно выбрать русский язык, а в «Опции -> Определение стиля» установить для lua понравившийся стиль отображения. Я для «Язык -> lua» ставлю стиль «Выбрать стиль -> Bespin» и еще в окошке «Стиль» для последних трех «FUNC» переопределяю цвет, иначе они с фоном сливаются.

Для запуска скрипта в квике достаточно в окно «Таблицы -> Lua -> Доступные скрипты» добавить один или несколько скриптов и используя находящиеся там кнопки запуска и останавки управлять выполнением. Если при выполнении будут обнаружены ошибки, то сообщение о них будет показано с коротким описанием и номером строки.

Сайты, где можно посмотреть примеры и почитать теорию.

Официальная документация по языку LUA в QUIK и примеры http://www.arqatech.com/ru/support/files/ (архив в самом низу страницы).

Статейка http://vasraskolbas.livejournal.com/87417.html

Статейка https://zserge.wordpress.com/2012/02/23/lua-за-60-минут/

Форум https://quik2dde.ru/viewtopic.php?id=16

Блог http://www.bot4sale.ru

Блог http://quikluacsharp.ru

Справочник http://www.lua.ru/doc/

Справочник http://www.user.su/lua/

Это все что требуется для написания роботов на qlua – все бесплатно – было бы желание ))) Ну а я продолжаю разработку своего открытого универсального робота http://smart-lab.ru/blog/325075.php .

ПС
У кого есть еще интересные материалы, связанные с qlua — делитесь!
★41
29 комментариев
Это все хорошо, но для Lua нет библиотек для бектеста (насколько я знаю). Поэтому сначала придется писать прототип системы в любой из сред, где есть бектестер или библиотеки для бектеста (Wealthlab или TSlab, или МТ4/МТ5, или Amibroker, или R, или Python) потом идею переносить в Lua. Двойная работа.
Т.е. помимо Lua нужно будет знать один из указанных выше языков программирования/систем. 
avatar
vito2000, под бектестом подразумевается тестирование на истории?- ну и в чем сложность-то? — открыть файл с котировками и пропустить через алгоритм робота… — все можно сделать на луа
avatar
avatar
Igr, да — на самом деле я начинал знакомство с lua с этих статеек но они сложноваты
avatar
finstrateg, да вроде не, вполне хорошие уроки, полезные 
avatar
Никто не изучает TradeScript для SmartX?
avatar
Был очень хороший сайт QL, вели ребята с Украины. Много примеров, рабочих программ, библиотекой их QL до сих пор пользуюсь. Может быть кто знает, мож на другой ресурс переехали?
avatar
Вот неплохой ресурс http://quikluacsharp.ru/
avatar
Karim, я его указал!
avatar
finstrateg, Сорри, не заметил.
avatar
Karim, спасибо!
avatar
Quikluacsharp.ru отличный понятный простой ресурс. Его владелец с удовольствием подробно отвечает на все вопросы по lua. Куча подробных примеров простых кодов для стандартных ситуаций.
avatar
onlyfly, спасибо!
avatar
выбор lua — это мазохизм какой-то.
avatar
Vitty, какие предложения?
avatar
finstrateg, C# конечно же. ну или джава.
avatar
Vitty, C# хорош, но он не встроен в квик, что значительно усложняет его использование — нужно уже быть программером
avatar
finstrateg, а луа встроен что ли? я про квик не знаю, бог миловал. ну по идее ж можно сопряжение какое-то сделать и дальше на шарпе. причем компилить же можно на лету, т.е. без вижуал студии. программистом, ну хоть в какой-то мере, по любому надо быть. это не больно ;)
avatar
Vitty, в том и дело, что qlua встроен, и сопряжение на нем и придется делать скорее всего ))) освоим qlua, а там видно будет
avatar
finstrateg, всегда знал что русская биржа для извращений создана ;)
avatar
finstrateg, вы, кажется, планировали выложить исходники робота? Или я что-то путаю?
Евгений Гуревич, не все так быстро, во первых робот еще не готов, во вторых исходники надо подготовить к выкладыванию, сейчас готовлю что уже есть скоро выложу
avatar
smart-lab.ru/blog/289827.php
Чем ваш проект будет отличаться от «Нового подхода к созданию роботов»?
Тут уже и коды выложены:
github.com/hacktrade/hacktrade
Олег Коробкин, на первый взгляд идея очень похожа, чтобы ответить конкретнее, чем будет отличаться — надо разобраться в коде этого «Нового подхода к созданию роботов», что скорее всего будет сложновато, так как там явно работал программист и в коде нет подробных комментариев, без которых там голову сломаешь. Но за ссылку спасибо — будет образец кода над которым можно голову ломать.

Мой вариант робота явно будет попроще в коде — никаких фреймворков — даже не знаю что это ))) и т.п., так как я самоучка, то использую только простые и доступные конструкции.
avatar
Приколол таки ))))))))))))

там явно работал программист

Дык, программы пишут программисты, не?
Или не не всякий «Алготрейдер авторитет» - программист?
Чудны твои дела, создатель сайта!
Олег Коробкин, ничего чудного, программы пишут все кому не лень, а под программистом я подразумевал профессионального программиста
avatar
Хотел выразить поддержку и одобрение автору топика и идеи как таковой. Именно сейчас у меня в процессе формализация идей и систем, бэктесты в основоном на WL, но присматриваюсь к Ami, а какие-то совсем простые вещи проще и быстрее видимо будет делать на С++ и/или Питоне. Но итоговых жизнеспособных роботов буду делать безусловно на Qlua, посему тема очень интересна. В данном топике пожалуй собран весь основной материал для начала, сам на днях искал инфу по теме, основной список ссылок получился очень похожим…
 ЗЫ Отдельное спасибо Олегу Коробкину, на досуге будет интересно посмотреть указанный фреймворк

теги блога finstrateg

....все тэги



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