Найти в Дзене
Код торгового робота

Знакомство со мной и темой канала.

Всем привет!

Меня зовут Николай Антонов. По состоянию начало 2023 года мне 47 лет. Я живу в сибирском городе Томск. Работаю в проектном институте, не являюсь профессиональным программистом, и никогда им не был.

Так выгляжу я - автор данного канала.
Так выгляжу я - автор данного канала.

В 2018 году я открыл ИИС и стал периодически пополнять его и покупать различные акции российских компаний. Так же в 2018 году я открыл простой брокерский счет для экспериментов с написанием роботов. Тогда же я написал своего первого торгового робота на языке программирования QLUA для торговой платформы QUIK. С тех пор я писал несколько десятков программ, реализующих различные алгоритмы для анализа или торговли в данной системе. Мои торговые роботы за это время сделали несколько десятков тысяч различных сделок, с различными инструментами – акциями, облигациями, фьючерсами.

На данном канале я хотел бы поделиться своими знаниями и навыками в части написания скриптов на QLUA.

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

Также я хотел бы отметить, что мои подходы могут быть не совсем совершенны. Что-то я подсматривал у других программистов, но в основном писал всё сам. И, то, что я буду показывать, работает. Но, насколько оптимально, это уже другой вопрос. Тут, как говорится: я художник – я так вижу.

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

Для чего может быть полезно написание торгового скрипта?

- для быстрого анализа ситуации на рынке. Торговый робот может одновременно отслеживать ситуацию по двумстам инструментам. Вручную это делать весьма трудозатратно;

- для быстрого проведения вычислений, на основе которых можно принимать решения;

- быстрая реакция на происходящие на рынке события.

И много другое.

Надеюсь, я Вас не напугал терминами QUIK и QLUA. Если Вы знакомы с этими понятиями и инструментами, то очень здорово. Тем не менее, позвольте мне, немного остановиться на этих понятиях и рассказать о них.

Итак, торговый терминал QUIK – программа для персональных компьютеров. Данная программа имеет большой функционал и позволяет:

- отслеживать состояние своих брокерских счетов;

- делать заявки;

- смотреть состояние торгов на бирже;

- строить графики, отражать на них индикаторы технического анализа.

И пр., и пр. Это ПО обладает огромным функционалом. По мере необходимости на данном канале я буду рассматривать эти функциональные возможности.

Вот как может выглядеть внешний вид этой программы. Но, все окна могут настраиваться под себя.

Внешний вид программы QUIK
Внешний вид программы QUIK

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

Также многие (но не все) брокеры позволяют попробовать свои силы в учебном доступе к системе QUIK. Если же Ваш брокер не предоставляет такую возможность или Вы не хотите с ним связываться по каким-либо причинам, то можете попробовать установить учебную версию от производителей. Подробно как это сделать написано по следующему адресу: Ссылка (https://arqatech.com/ru/support/demo/).

В этом курсе я буду использовать примеры, написанные на демонстрационном счете.

Теперь поговорим по QLUA. Вообще, есть такой язык программирования – LUA. Есть такие языки программирования как Basic, Паскаль, Си, Питон, а есть – LUA. Я не знаю где он используется кроме QUIK. Наверное, где-то используется. Ну да ладно.

Разработчики торгового терминала QUIK стали использовать данный язык программирования для возможности автоматизировать работу, то есть для написания скриптов или торговых роботов. При этом в язык были внедрены специфические функции, характерные для торговли. Такие как проверка баланса, выставление заявки, чтение торговых стаканов и пр. После добавления этих функций получился LUA для QUIK, или проще говоря QLUA. Так это и называется.

Кстати, если Вы уже установили QUIK, то можете начать знакомиться с помощником по QLUA. В папке, в которой установлен QUIK лежит файл «QLUA.chm». Это и есть помощник по LUA. На данном канале многое будем брать оттуда и смотреть как реально внедрить в свою работу.

Внешний вид помощника по QLUA
Внешний вид помощника по QLUA

Возможно, что Вас напугала перспектива необходимости написания программного кода. На самом деле, некоторые сложности, конечно есть. Но, не пугайтесь! Мы будем использовать достаточно примитивные конструкции. Ни на какой серьезный уровень программирования это не потянет, никакого объектно-ориентированного программирования тут не будет.

И по сути, тут подход такой – любая программа реализует какой-то алгоритм (например, Вашу торговую систему). Каждый алгоритм состоит из разных небольших элементов (проверить остатки, проверить котировочный стакан, выполнить небольшой расчет, провести сравнение, сделать заявку на сделку и пр.) Каждый из этих шагов реализуется достаточно просто и рассмотрен в помощнике по QLUA. И многие из этих реализаций мы рассмотрим в практическом плане на данном канале. А далее нужно будет просто составить эти блоки в нужном порядке.

Будьте уверены в себе!

Если же у Вас все-таки возникают какие-то проблемы, то задавайте их мне. По мере возможности я отвечу Вам.

В заключение я скажу то, чего не будет на этом канале:

- информации о торговых сделках;

- продаж готовых роботов;

- продаж входов в закрытые каналы;

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

- любопытного чтива, которое удобно читать, лежа на диване.

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

Также все (или почти все) скрипты, которые реализуют различные блоки, я буду выкладывать на своем сайте: https://nikolai-antonov.ru

Пожалуй, на этом знакомство будем заканчивать. Продолжение следует. А пока, если у Вас нет QUIK, то установите его. Дальше будем работать с ним.

Содержание канала в части написания кода будет обновляться в этой статье: ссылка.

Если Вы все-таки хотели бы получить программную реализацию своей торговой идеи, но понимаете, что сами не готовы облачить идею в код, то можете обратиться ко мне. Мой адрес в телеграм: https://t.me/Nikolai_Antonov

Моя электронная почта: nantonov@mail.ru