Програмування мовою Lua, торгові роботи та скрипти для трейдингу

Программирование

За допомогою мови програмування Lua можна створювати різноманітні ігри, утиліти,
торгові роботи та інші розробки. Мова Луа нескладна для сприйняття, має популяризований інтерпретатор. Пропонується ознайомитися з Луа ближче, а також дізнатися, як написати торговий робот або скрипт цією мовою.

Що являє собою мова Lua і чим він корисний?

Lua – це легкий у застосуванні мова, що вбудовується. Новачки зізнаються, що з його допомогою можна в короткий термін навчитися азам програмування. Луа вдало вдається поєднувати з розробками, складеними іншою мовою. Його часто рекомендують студентам, які лише починають освоювати науку про електронні розробки.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуМова Lua часто використовується у різних сферах. Він може стати в нагоді:

  1. Користувачеві, який грає в комп’ютерні ігри (писати плагіни).
  2. Фахівцю зі створення ігор (розробляти двигун).
  3. Програмісту з розробки додатків (писати плагіни для різних утиліт).
  4. Розробнику в напрямку embedded (мова не гальмує процес і дозволяє працювати якісно)
  5. Трейдерам для написання скриптів та торгових роботів.
    Програмування мовою Lua, торгові роботи та скрипти для трейдингу
    Торговий робот для QUIK на Lua за рівнями докупки

Завдяки Луа створили не один торговий робот. Перевага полягає в тому, що кожен користувач може швидко розібратися в нюансах мови та самостійно створити подібну програму. Через неї можна буде надсилати команди в
термінал Quik та здійснювати технічний аналіз. Для чого потрібна мова Lua, огляд мови програмування LUA: https://youtu.be/PbYf6uNZFCE

Короткі історичні дані

Луа був придуманий в 1993 бразильськими програмістами з відділення Tecgraf. Розробники подбали про те, щоб кожен користувач зміг внести певні зміни в розвиток мови. Це можна зробити завдяки відкритому доступу до коду. Для Бразилії поява власної мови програмування стала справжнім відкриттям. Адже до цього, ця країна не вимагала подібних успіхів у сфері комп’ютерних розробок.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуМова була створена на базі SOL та DEL. Ці розробки побачили світ роком раніше, ніж Lua. Автором виступила та сама бразильська організація. Ці мови програмування були зроблені на замовлення Petrobras – компанією тієї ж держави, яка займається добуванням та обробкою нафти. Остання версія Луа 5.4.0 вийшла порівняно недавно – 2020 року. Розробники намагаються якнайчастіше впроваджувати в проект цікаві та корисні функції. Тому програма постійно оновлюється і має попит у розробників.

Особливості мови програмування Луа

Зіткнувшись з Lua, розробнику надається можливість застосування цієї мови як вбудованої (завдяки тому, що вона скриптова), так і автономної (у певних випадках, її вдасться використовувати без доповнень). Коли автори працювали над створенням Луа, вони навмисно йшли до того, щоб виготовити оперативний інструмент, який не займе багато місця і легко функціонуватиме на будь-якому пристрої.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуРозробники намагалися максимально спростити цю мову, щоб її швидко могли освоїти навіть програмісти-початківці. У цьому полягає підвищений попит на проект. Фахівці мають можливість писати код та створювати масштабні розробки, не звертаючись до бібліотек на офіційному сайті. Автори подбали про наявність необхідних параметрів у самій програмі. Користувачі-початківці прагнуть дізнатися, в яких сферах використовується мова Lua. Він конструювався виготовлення програм у промислової галузі. Але сьогодні за допомогою цієї мови створюються різні торгові роботи, скрипти, комп’ютерні ігри, програми, боти для телеграм та інше. Крім того, Lua задіяний в інноваційній техніці, яка допомагає вивчати космос. Також його використовують під час навчання студентів в університетах. Найбільш популярною мовою програмування Луа вважається на батьківщині. Саме в Бразилії його застосовують практично всюди (де це можливо).

Переваги і недоліки

Програмування мовою Lua, торгові роботи та скрипти для трейдингуЯк будь-яка програма, механізм та мова програмування Lua має ряд своїх плюсів та мінусів. Варто розпочати з позитивних сторін розробки:

  1. Якісне транспортування . На відміну від багатьох програм, Луа виходить просто переносити з однієї операційної системи до іншої. При цьому не виникає серйозних змін. У будь-якому разі, помилок у роботі коду не буде.
  2. Багато бібліотек . Якщо порівнювати з ДжаваСкрипт , то в Луа параметри бібліотек набагато менші. Проте на офіційному ресурсі знайдеться все необхідне для повноцінної роботи з мовою.
  3. Оперативність . Система дозволяє за короткий час додати бібліотеки, які важливі для конкретного процесу написання коду.
  4. Легкість у використанні . Для гуру програмування знадобиться вивчити деякі деталі мови, і вже тоді вони зможуть сміливо використовувати його у своїх розробках. Для тих, хто починає розбиратися в програмуванні, також не знадобиться багато часу, щоб зрозуміти Lua.
  5. Істотна економія пам’яті . Створюючи програми цією мовою, фахівець гарантовано помітить різницю з іншими аналогами. Адже розробки Луа потребують меншої кількості пам’яті на пристрої.

Єдиний значний мінус мови – він скриптовий. А це означає, що найчастіше його можна використовувати лише у комбінації з іншими мовами для розробки. Найбільш популярним з них вважається С. Тобто, доведеться освоювати додаткову мову програмування.

Порівняння з ДжаваСкрипт

Багато користувачів порівнюють Луа з JavaScript, стверджуючи, що їхні коди практично однакові. Між мовами справді більше схожої, ніж відмінної. Але, попри очевидні подібності, є й безліч відмінностей. Наприклад, Луа має власну програмну підтримку. Проте, нещодавно розробники ДжаваСкрипт запровадили оновлення, згідно з яким користувачеві достатньо написати слово «yield» між генераторами, після чого з’явиться підтримка програми.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуОператор Lua для зведення в ступінь позначає такий знак “^”, а JavaScript – це “**”. У останнього є функції збільшення та зменшення. Натомість Луа може перевантажувати операторів. ДжаваСкрипт містить у собі тільки змінні функції, тоді, як у Луа вони певні. JavaScript може похвалитися підтримкою відомого стандарту Юнікод. Щоб позначити нерівність у мові, застосовується комбінація «!==», а Lua, для цієї ж мети використовує «~=». Інші відмінності представлені у таблиці.
Програмування мовою Lua, торгові роботи та скрипти для трейдингу

Особливості програмування роботів для трейдингу мовою Луа

Створювати роботів на QLua зовсім не складно, впораються навіть новачки. Головне, на початку розібратися з базовою теорією. Для того, щоб скласти код, знадобиться найпростіший текстовий редактор. Схема створення схожа складання індикатора. Однак є несуттєва риса в самому коді. Ще одна хороша «родзинка» – нового робота вдасться розмістити де завгодно на своєму ПК.

Важливо! У коді має бути єдина функція – “main”.

Як тільки код робота буде складено та відредаговано, його рекомендується зберегти. Не слід забувати про розширення lua. Як було зазначено, програму можна розмістити будь-де на комп’ютері. Щоб перевірити свій код, необхідно запустити робота. Для цього необхідно перейти до розділу «Сервіси». Внизу буде рядок “Lua скрипти”, його слід натиснути.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуДалі з’явиться вікно із завантаженими скриптами. Там потрібно вибрати потрібний файл і запустити його за допомогою відповідної кнопки.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуНасамкінець рекомендується здійснити перевірку коду бота на помилки. Якщо все гаразд, то робот запуститься. У разі виникнення замінок, варто знову повернутися до коду та перевірити його правильність.

Огляд найкращих торгових роботів на Lua – готові рішення для початківців

За допомогою мови програмування Луа можна створити різні види роботів будь-якої складності. Проте, можна придбати готову програму. Пропонується ознайомитись із відомими алгоритмами, які вже готові до роботи. Їх можна придбати чи випробувати демонстраційну версію. Повністю готовий торговий робот для терміналу QUIK мовою Lua: https://youtu.be/Z2xzOfNZFso

Робот-термінал “Delta Pro”

Дозволяє привести в дію близько 120 опціонів на одній платформі. При цьому можна використовувати різні типи стратегій та інструментів.
Програмування мовою Lua, торгові роботи та скрипти для трейдингу

“RQ: One Percent”

Робот призначений для торгівлі у сфері трейдингу. Алгоритм дозволяє збільшити дохід від цієї діяльності у кілька разів. Ризики мінімізовані, їх можна легко прорахувати.
Програмування мовою Lua, торгові роботи та скрипти для трейдингу

“RQ: Martin”

Система дозволяє зробити розрахунок лота перед укладанням угоди. Передбачено торгівлю в режимі напівавтомат. Рівні вдається успішно відстежувати та задавати вручну.
Програмування мовою Lua, торгові роботи та скрипти для трейдингу

Види скриптів на Lua для терміналу QUIK

При виконанні певного завдання в терміналі QUIK використовуються такі скрипти:

  1. Lua-скрипти . Їх можна зберігати в мережі, локальному диску, або в іншому місці, де до них буде відкритий доступ терміналу. Вони досить функціональні, щоб з допомогою створити торгового робота. Можна буде створювати таблиці в QUIK, користуватися параметрами інструментів, давати команди виконання різних завдань тощо.
  2. Індикатори користувача . Тут порівняно з попереднім виглядом набагато менший функціонал. Програма варта того, щоб користувач міг вивести алгоритм дій на графіках терміналу.

Програмування на мові Lua для бажаючих освоїти мову досконально – повне керівництво
завантажити :

Як написати робота на мові Lua

Наважившись створити власного робота, користувач повинен слідувати заздалегідь складеному алгоритму. Коли він набереться досвіду в програмуванні, то зможе легко писати свої коди і експериментувати. Вибравши для вивчення цієї галузі саме Lua, новачок не помилиться. Адже на початку, головне, зупинитися простою і максимально зрозумілою мовою програмування. Щоб розпочати, слід відкрити програму термінал для трейдингу QUIK. У її вікні потрібно створити папку. Це те місце, де зберігатимуться всі написані скрипти. Користувач може дати папці будь-яке найменування, але воно має складатися тільки з латинських символів. Допустимо, її назва така – “LuaScripts”. Далі потрібно активувати папку та створити там текстовий редактор, наприклад Блокнот. На вільному місці (у межах вікна програми) потрібно клацнути правою кнопкою миші
. З’явиться діалогове вікно, у списку якого потрібно вибрати вкладку «Створити», а потім рядок «Текстовий документ».
Програмування мовою Lua, торгові роботи та скрипти для трейдингуЙому теж варто назвати, щоб потім не плутатися. Наприклад, можна написати “Script_N1”. Не варто забувати про дозвіл мови – .lua. Тобто, у користувача має бути такий напис на документі «Script_N1.lua». Однак, Windows часто змінює розширення автоматично, поставивши у файлі .txt. У цьому випадку рекомендується створити документ у NotePad++, поставивши потрібну роздільну здатність. У цій програмі потрібно вибрати розділ “Синтаксиси”. Тут з’явиться діалогове вікно із кількома пунктами. Потрібно буде вибрати “L”. Звідти з’явиться ще одне вікно, де потрібно натиснути на Lua.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуПісля цього, у тому ж меню, поруч із розділом «Синтаксиси», слід натиснути на розділ «Файл». У наступному вікні з’явиться напис – “Зберегти як”. Користувачеві потрібно натиснути на неї і почекати, поки відкриється нове вікно.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуТам, вгорі, буде видно рядок з найменуванням раніше створеної папки «Lua scripts». У нижній частині вікна відображено 2 інші документи, створені користувачем. Якщо все збігається, необхідно підтвердити дію та зберегти поточний стан коду.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуНаступний крок – написання коду обраною мовою програмування Луа. Початківці можуть скористатися інструкцією, вона допоможе створити простий код, щоб фахівець випробував свої сили. Алгоритм дій міститься у файлі програми з назвою QLUA.chm. Пропонується, наприклад, написати такий легкий код:
function main()
message(«Зроблено пуск мого першого скрипта»);
end Далі потрібно клікнути на кнопку збереження в меню.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуКод повинен зберігатися у файлі “Script_N1.lua”. Запускаємо його та дивимося, як відображається дебютний скрипт. Щоб відкрити його в КВІК, необхідно відкрити цю програму та вибрати в розділі опцій вкладку «Сервіси». Далі з’явиться діалогове вікно, там варто натиснути на “LUA скрипти…”.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуПотім користувач побачить папку “Доступні скрипти”. Зверху праворуч знаходиться кнопка «Додати». Натискаємо її і шукаємо файл з кодом. Він тут «Script_N1.lua».
Програмування мовою Lua, торгові роботи та скрипти для трейдингуПри відкритті документа важливо вибрати рядок «Script_N1.lua» (вона повинна зберегтися на диску C), потім внизу клацніть по кнопці «Запустити».
Програмування мовою Lua, торгові роботи та скрипти для трейдингуТут же з’явиться нове вікно.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуЩоб не було цих незрозумілих символів, потрібно зайти до програми NotePad. У налаштуваннях є розділ «Кодування», натискаємо на нього. Тоді з’явиться перелік вкладок, серед яких слід натиснути на “Перетворити на ANSI”.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуДалі варто натиснути на кнопку збереження та повернутися на вікно повідомлень. Там буде вже інший напис, а не ряд із каракулями.
Програмування мовою Lua, торгові роботи та скрипти для трейдингу

Як програмувати на LUA у терміналі QUIK

Існує 3 популярні способи:

  1. Створюється будь-який текстовий файл, де слід встановити розширення .lua. Далі потрібно відкрити редактор та написати код. Після запуску подібний алгоритм виконається лише один раз. Запускати вручну можна безкінечно. Можна скористатися для разового підрахунку певних відомостей.
  2. У самому Lua-скрипті необхідно скласти функцію з ім’ям  main() . Далі, у цю функцію, потрібно вставити написаний код. А функція  sleep() стане в нагоді, щоб тимчасово припиняти скрипт або, навпаки, відновлювати. Тобто якщо активувати функцію main(), а потім вставити функцію sleep(), то вдасться досягти розрахунку з періодичністю в конкретний інтервал часу.
  3. У програмі QLUA можна користуватися подієвою моделлю розробки. Таким чином, тепер необов’язково в одній функції виявляти зміни і, за рахунок цього, виконувати наступні команди.

Пропонується докладніше розібрати останній спосіб. Щоб обробити конкретну подію, слід написати функцію в скрипті в Квік. Можна скористатися такою схемою:
Програмування мовою Lua, торгові роботи та скрипти для трейдингуСкрипт LUA може складатися з декількох функцій зі спеціальними найменуваннями: угода, котирування та інше. Необхідно знайти у програмі розділ “Таблиці”, перейти на “Lua”. Там випаде діалогове вікно і буде видно рядок «Доступні скрипти», клацаємо по ньому. Далі слід натиснути на вкладку «Запустити». Потім йде обробка та виконання обов’язкової функції
main() . Потім потрібно оголосити 
is_run , функція буде вміщати в собі значення 
true, поки користувач не активує кнопку “Зупинити скрипт”. Тоді змінна функція перетворюється на режим false всередині OnStop(). Після цього функція main() закінчується, а скрипт зупиняється. Написаний скрипт потрібно зберегти та запустити. Здійснюючи угоди, користувач побачить дані щодо кожного лоту та кінцеву суму угод.
Програмування мовою Lua, торгові роботи та скрипти для трейдингуДля запуску QLua в Квік, необхідно перенести його в нову папку на ПК. Її можна назвати як завгодно, наприклад, MyLua. Там зберігатимуться всі Lua-скрипти. Зайшовши в QUIK, потрібно відкрити розділ Сервіси, потім натиснути на вкладку Lua-скрипти. У вікні необхідно активувати кнопку «Додати». Потім потрібно вибрати скрипт та відкрити його. Він опиниться у розділі «Завантажені скрипти». Потім слід виділити рядок скрипта та натиснути “Запустити”. Для зупинки роботи скрипта достатньо натиснути «Зупинити».

Програмування мовою Lua, торгові роботи та скрипти для трейдингу
Робот для Quik на LUA

Як встановити LUA-скрипт у торговий термінал

Навчальний та стандартний термінал потребує однакового алгоритму встановлення торгового робота:

  1. У верхньому меню терміналу необхідно натиснути на розділ «Сервіси».
  2. Далі знайти кнопку «LUA-скрипти» у діалоговому вікні, що випадає, і клікнути:Програмування мовою Lua, торгові роботи та скрипти для трейдингу
  3. На той час має з’явитися вікно «Доступні скрипти». Потім варто активувати кнопку «Додати» і вибрати файл необхідного торгового робота.

Зняття даних із графіка Lua скриптом у терміналі Quik: https://youtu.be/XVCZAnWoA8E Lua – це чудовий варіант для вивчення програмування та для успішної роботи надалі. Головне, не зупинятись лише на прочитанні теорії. Краще вивчати матеріал, постійно практикуючись. Через певний час розробник почне робити успіхи і зможе створити свій продукт, що стоїть.

info
Оцініть автора
Додати коментар