Видеокурс Программируем на языке QLua

Разработка торгового робота для терминала QUIK

Видеокурс

Уровень: Средний

Максим Пистолетов

Стоимость: 9000 РУБ

Описание

Чтобы написать робота, не требуется знание основ программирования. На видеокурсе "Программируем на языке qLUA" вы с первых уроков вместе с автором пишете боевого торгового робота. В процессе, вы узнаете "подводные камни", которые встречают робото-писатели, а также разберетесь с другими особенностями работы в терминале QUIK при создании роботов.

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

Почему стоит выбрать LUA:

  • Стабильная работа. Язык программирования LUA полностью интегрирован в терминал QUIK и работает стабильно и надежно. Роботам на языке LUA можно доверять свои деньги.
  • Высокая скорость работы. Язык LUA отличается высокой скоростью работы и позволяет реализовывать сложные расчеты, не замедляя работу терминала QUIK.
  • Прост в изучении. Язык LUA при огромных возможностях достаточно прост в изучении даже для неподготовленного пользователя и позволяет быстро его освоить.
  • Подходит для профессионалов. Для программистов со стажем язык LUA включает множество возможностей, в частности, интергация кодов на С и С++.

Формат курса:

Видеокурс состоит из 5 частей, в которые входят 60+ видео-уроков.

Программа видеокурса

ЧАСТЬ I. ПОДГОТОВКА К ИЗУЧЕНИЮ. СОСТАВЛЕНИЕ АЛГОРИТМА
ТОРГОВОГО РОБОТА
 

Урок 1. Введение к курсу по программированию. Как правильно изучать язык программирования LUA

- Введение к курсу 

- Определение целей и задач курса 

Урок 2. Язык программирования LUA 

- Происхождение и название языка LUA 

- Преимущества языка LUA

- Недостатки языка LUA 

Урок 3. Необходимые и рекомендуемые программы для изучения и программирования на ЛУА

- Терминал QUIK 7-й версии 

- Демо версия терминала QUIK от разработчиков терминала 

- Текстовый редактор с подсветкой конструкций языка LUA 

- Отладчик Декода 

- Программа Visual Studio 

- Программа для создания блок-схем Diagram Designer 

- Робот для автозапуска терминала QUIK 

Урок 4. Заказ и установка Демо версии терминала QUIK 

- Заказ Демо версии терминала QUIK

- Особенности Демо версии терминала QUIK 

- Установка и запуск робота для автозапуска терминала QUIK 

Урок 5. Текстовый редактор для работы с кодами

- Подсветка конструкций языка LUA 

- Скрытие блоков и функций кода 

- Он-лайн обновление данных в файле 

- Дополнительное окно для сравнения кодов 

- Другие возможности редактора 

Урок 6. Ресурсы дополнительной информации по изучению языка LUA

- Форум по терминалу QUIK. Разделе LUA 

- Справочное руководство по терминалу QUIK (info.chm) 

- Справочное руководство QLUA.chm 

- Поиск нужной информации в поисковых системах 

- Дополнительные сайты для изучения языка LUA 

Урок 7. Загрузка торговых роботов на языке LUA в терминал QUIK

- Загрузка роботов в терминал QUIK 

- Запуск роботов в терминале QUIK 

- Остановка и удаление роботов в терминале QUIK

Урок 8. Различие между расширениями lua и luac

- Компиляция кодов на языке LUA 

- Различие в скорости исполнения скриптов 

- Закрытый и открытый код скрипта 

Урок 9. Индикатор Параболик SAR 

- Построение индикатора Параболик SAR в терминале QUIK 

- Особенности данного индикатора и отличия от других индикаторов 

- Мозговой штурм и зарождение алгоритма Робота 

Урок 10. Построение алгоритма робота в виде диаграммы (блок-схемы)

- Особенности стиля программиста

- Два основных варианта написания торговых роботов

- Что важнее алгоритм или код робота?

- Как сохранить прибыльный алгоритм от кражи

- Составление алгоритма в виде диаграммы

- Подведение итогов первой части курса

ЧАСТЬ II. ПОСТРОЕНИЕ И ЗАПУСК ШАБЛОНА ТОРГОВОГО РОБОТА ДЛЯ ТЕРМИНАЛА QUIK 

Урок 11. Функции обратного вызова

- Возможность обработки событий в терминале QUIK 

- Функция обратного вызова OnInit(). Необходимость ее использования 

- Функция OnStop(). Завершение кода при нажатии кнопки «Остановить» 

- Функция OnClose(). Штатное и аварийное закрытие терминала QUIK 

- Функция отдельного дополнительного потока терминала main() 

Урок 12. Сервисные функции

- IsConnected подключение к серверу терминала QUIK 

- getScriptPath путь, по которому находится запускаемый скрипт 

- getWorkingFolder путь, по которому находится файл info.exe 

- getInfoParam параметры для информационного окна 

- message отображение сообщений в терминале QUIK 

- sleep приостановка выполнения кода скрипта 

- PrintDbgStr функция для вывода отладочной информации 

Урок 13. Потоки и схема работы скриптов на языке LUA в терминале QUIK

- Понятие потока 

- Блок-схема работы Торговых Роботов на языке LUA в QUIK 

- Организация основного и дополнительного потоков 

Урок 14. Комментарии к коду

- Строчные комментарии в языке LUA 

- Блочные комментарии в языке LUA 

- Зачем нужно делать комментарии к коду программы 

Урок 15. Структура программы Торгового Робота

- Переводим блок-схему алгоритма в текстовый вид 

- Организация функции main() в виде бесконечного цикла 

- Добавление в код Робота основных функций обработки событий 

Урок 16. Подключение библиотек

- Возможность работать с классами 

- Подключение отдельных файлов с различными функциями 

- Команда dofile() 

Урок 17. Типы переменных в языке LUA

- nil неопределенный тип 

- Логическая переменная boolean 

- Числовой тип number 

- Строковый тип string 

- Тип функция function 

- Массивы и таблицы в языке LUA 

- Отличие от языка qPile 

Урок 18. Локальные и глобальные переменные. Приведение типов в языке LUA

- Ключевое слово local 

- Приведение к строковому типу переменной tostring() 

- Приведение к числовому типу переменной tonumber() 

Урок 19. Создание и вывод в терминал таблицы Робота

- Инициализация таблицы AllocTable(). Создание таблицы CreateWindow() 

- Удаление таблицы с Роботом и остановка Робота DestroyTable() 

- Создание колонок в таблице Робота AddColumn() 

- Добавление строк и запись в ячейки InsertRow(), SetCell() 

- Название таблицы Робота SetWindowCaption() 

- Изменение формы таблицы Робота SetWindowPos() 

Урок 20. Запуск прототипа Торгового Робота

- Получение и вывод серверного времени с биржи 

- Вывод сообщений в терминал QUIK 

- Контроль работы Торгового Робота 

ЧАСТЬ III. ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА LUA 

Урок 21. Арифметические операторы в языке LUA

- Сложение строк (конкатенация, склеивание) 

- Сложение чисел + 

- Вычитание чисел – 

- Умножение чисел * 

- Деление чисел / 

- Возведение в степень ^ 

- Остаток от деления % 

Урок 22. Операторы отношения в языке ЛУА

- Знак больше 

- Знак больше или равно 

- Знак меньше 

- Знак меньше или равно 

- Знак равно 

- Знак не равно 

Урок 23. Логические операторы в языке ЛУА

- Оператор and 

- Оператор or 

- Оператор not 

- ЛОЖЬ и ИСТИНА в языке LUA 

Урок 24. Математические функции в языке LUA

- Стандартные математические операции 

- Специальные математические функции языка 

- Подсказки текстового редактора 

Урок 25. Работа со строками в языке LUA

- Основные функции для работы со строками в языке LUA 

- Различные методы записи при работе со строками 

- Определение длины строки в языке LUA. Функция len # 

- Функция для форматирования строк format 

- Функция для обрезки строк sub 

Урок 26. Отладчик DECODA

- Самый крутой отладчик для языка LUA 

- Правила работы с отладчиком Декода 

- Возможности отладчика и просмотр переменных и массивов 

- Сложности при работа с Декода 

Урок 27. Отладка через VISUAL STUDIO

- Отладка кода при помощи команды PrintDbgStr() 

- Просмотр переменных при помощи редактора Visual Studio 

Урок 28. Дата и время в языке LUA

- Формат полей в дате в языке LUA 

- Функция для работы с датами в LUA os.clock(), os.time(), os.date() 

- Просмотр даты в отладчике Декода 

Урок 29. Конструкция if

- Общий вид конструкции if 

- Модификации конструкции if 

Урок 30. Конструкции while-do, repeat-until

- Конструкция while-do 

- Конструкция repeat-until 

- Отличие данных циклов 

- Выход из цикла при помощи оператора break 

Урок 31. Три типа конструкции for

- Стандартная конструкция for 

- Конструкция for с циклом по индексам массива (ipairs) 

- Конструкция for с циклом по ключам массива (pairs) 

- Сложности из-за отсутствия оператора continue

- Выход из цикла при помощи оператора break 

Урок 32. Работа с файлами

- Важность вывода информации в лог-файлы 

- Функции io.open, seek, write, flush, close 

- Ошибки при отсутствии закрытия файлов 

Урок 33. Дополнительные функции при работе с таблицей робота

- Функция контроля открытия таблицы IsWindowClosed() 

- Подсветка строк и ячеек таблицы SetColor() 

- Мигающие строки в таблице с Роботом Highlight() 

- Использование символа ; для разделения строк 

- Настройка таблицы нашего Робота 

Урок 34. Обработка событий при взаимодействии с таблицей Робота 

- Функция обратного вызова для обработки событий в таблице Робота 

- Различные типы взаимодействия 

- Функция SetTableNotificationCallback() 

- Настройка отклика нашего Робота на нажатие ячеек в таблице 

Урок 35. Описание алгоритма Робота Параболик

- Список необходимых функций, которые нужно создать 

- Подведение итогов третьей части курса 

ЧАСТЬ IV. ОТПРАВКА ТРАНЗАКЦИЙ В ТЕРМИНАЛЕ КВИК 

Урок 36. Получение данных из таблицы Текущие торги

- Список основных параметров для торговых инструментов 

- Функция getParamEx() 

- Функция getParamEx2() 

- Смотрим справочник по языку qPile 

- Нахождение статуса торговой сессии по нужному инструменту 

Урок 37. Принципы работы с таблицами в QUIK

- Список основных таблиц, к которым можно обращаться 

- Функция getNumberOf() 

- Функция getItem() 

Урок 38. Нахождение позиции по инструменту

- Таблица QUIK "futures_client_holding" 

- Применение функций getNumberOf(), getItem() 

- Находжение позиции инструмента на срочном рынке Forts 

Урок 39. Работа с графиками в LUA 

- Два возможных способа получения доступа к графикам 

- Доступ к графикам по уникальным тегам 

Урок 40. Работа с графиками в LUA при помощи идентификаторов

- Получение информации с ценовых графиков 

- Получение графической информации от индикаторов 

- Функции для работы с графиками getLinesCount() 

- Описание функции количества свечей на графике getNumCandles() 

- Доступ к свечкам по индексу getCandlesByIndex() 

Урок 41. Получение сигнала с графика для Робота Параболик SAR

- Как прописать уникальные идентификаторы для графиков и индикаторов 

- Схема получения сигнала для индикатора Параболик SAR 

- Создание функции для получения сигнала на открытие позиции с графика 

- Проверка корректности сигнала с графика 

Урок 42. Вспомогательные функции

- Функция определения знака числа 

- Проблемы при получении дробных числовых значений в терминале QUIK 

- Функция округления цены инструмента до шага инструмента 

Урок 43. Отправка транзакций в терминале QUIK

- Общие сведения об отправке транзакций 

- Функция sendTransaction() 

- Необходимость проверки результатов транзакции 

Урок 44. Отправка транзакций на планку

- Что такое планка? 

- Проблема дополнительного ГО 

- Проблема терминала MetaTrader 5 

Урок 45. Пишем функцию CorrectPos()

- Требования, предъявляемые к нашей функции 

- Нахождение необходимых полей для отправки транзакций 

- Заполнение необходимых полей таблицы для отправки транзакции 

- Вывод полной информации в лог-файл 

- Проверка корректности исполнения транзакции 

- Аварийная остановка Робота в случае сбоя 

Урок 46. Проверка работы функции CorrectPos()

- Выявление ошибок и опечаток при помощи Декоды 

- Тестирование корректной работы нашей функции 

- Сложности и опасности при работе с Роботами 

ЧАСТЬ V. ОКОНЧАТЕЛЬНАЯ ОТЛАДКА РОБОТА. ОПТИМИЗАЦИЯ ТОРГОВЫХ РОБОТОВ 

Урок 47. Введение к 5-й части курса

- Список оставшихся функций, которые надо создать 

- Способы оптимизации работы с таблицами 

Урок 48. Функция выставление стоп-профита

- Список необходимых параметров для выставления стоп-профита 

- Заполнение всех полей для таблицы транзакции 

- Вывод всей информации в лог-файл 

- Комментарии для терминала QUIK 

Урок 49. Функция удаления стоп-профита по номеру заявки

- Список необходимых параметров для удаления стоп-профита 

- Заполнение всех полей для таблицы транзакции 

- Вывод всей информации в лог-файл 

Урок 50. Работа с флагами

- Понятие двоичной системы счисления 

- Побитовые операции с двоичными числами. Операция and 

- Кодировка информации при помощи флагов 

- Функция для работы с флагами bit.band() 

Урок 51. Функция удаления всех стоп-профитов

- Список необходимых параметров для удаления стоп-профита 

- Заполнение всех полей для таблицы транзакции 

- Использование функций для работы с флагами 

- Вывод всей информации в лог-файл 

Урок 52. Отбор строк таблиц по заданным параметрам

- Оптимизация работы с таблицами в терминале QUIK 

 - Функция SearchItems() 

Урок 53. Определение «Правильной» цены входа в позицию

- Проблема получения данных из таблицы сделок 

- Использование функции SearchItems() 

- Как правильно рассчитать цену входа 

- Определение цены входа для внутридневной торговли 

Урок 54. Продолжаем писать код Робота

- Три типа торговли Робота ЛОНГ/ШОРТ/РЕВЕРС 

- Коррекция позиции по сигналу с графика 

- Вывод данных в таблицу Робота 

- Стороннее вмешательство в алгоритм Робота 

Урок 55. Функция контроля профита 

- Алгоритм работы функции контроля профитов 

- Удаление лишних стоп-заявок 

- Поиск правильной стоп-заявки 

- Выставление при необходимости новой Стоп-заявки

Урок 56. Запуск готовой программы

- Исправление ошибок и опечаток

- Незаменимая помощь программы Декода 

- Проверка корректности работы алгоритма 

Урок 57. Что можно улучшить в работе Робота

- Дополнительные функции защиты от сбоев 

- Особенности конкретного брокера 

- Возможность ввода параметров он-лайн 

- Комбинация языков C#, LUA, C++ 

Урок 58. Демонстрация робота с возможностью изменения параметров он-лайн

- Запуск готового Торгового Робота с конфигуратором 

- Возможность ввода параметров он-лайн 

- Дополнительные возможности Робота 

- Удобство при использовании конфигуратора 

- Возможность контролировать возможные значения параметров 

Урок 59. Возможности языка LUA, которые не вошли в наш код робота

- Работа с другими типами таблиц 

- Таблица обезличенных сделок 

- Работа с биржевыми стаканами. Функция OnQuote() 

- Возможность создания собственных индикаторов в QUIK 

- Работа с метками 

Урок 60. Подведение итогов курса

- Список задач, поставленных в рамках данного курса 

- Подведение итогов курса 

- Специальный бонус для участников курса

Видеозапись

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

Оплата

На бесплатное занятие можно просто записаться. Платные занятия можно оплатить удобным способом: карта, QIWI, Яндекс.Деньги и другими

Запись на занятие

Название

ВИДЕОКУРС "Программируем на языке qlua"

Стоимость

9000 РУБ

Выберите вариант обучения

Видеокурс

60 занятий

Отзывы

У курса пока нет отзывов