Об особенностях торговых роботов, их преимуществах и недостатках мы уже говорили (повторяться не будем). Многие трейдеры подвергают подобные алгоритмы жесточайшей критике, считая их совершенно не эффективными. И действительно, роботы не способны нормально торговать без участия трейдера. При этом основные проблемы чаще всего возникают с бесплатными советниками, которых просто-таки невероятное количество в сети. Другое дело, если стратегию разработали и воплотили в жизнь именно вы. У каждого успешного трейдера есть своя система – она может быть у него в голове или в блокноте. Но если она работает и приносит прибыль, так почему бы не сделать ее в виде программы? Все, что необходимо – создать торгового робота своими руками. В данной статье мы рассмотрим наиболее популярные методы.
На базе платформы
Нет смысла рассматривать все существующие сегодня платформы – уделим внимание двум наиболее популярным – TSLab (российская разработка) и Wealth-Lab (американская разработка).
1) TSLab. Основной плюс отечественной платформы - в наличии качественного и интуитивно понятного редактора стратегии. Трейдер может с легкостью "собрать" свою торговую систему, не особо вникая в язык программирования. Все, что необходимо сделать – выбрать необходимые элементы, вставить их в график и соединить между собой. Если личная стратегия уже разработана, то перенести ее в «электронный» вид труда не составит. При этом код робота формируется автоматически.
Преимущество такого метода создания робота – доступность. Для новичка алготрейдера – данный вариант один из лучших. Кроме этого, возможности TSLab позволяют тестировать уже существующие стратегии.
Недостатки – невозможность создать по-настоящему сложную стратегию с учетом всех факторов рынка. Визуальный редактор, к сожалению, ограничивает возможности трейдера.
2) Wealth-Lab. Американская платформа по праву считается одной из лучших для отладки и оптимизации системы. Практически любая задача ей по плечу. Каких-то ограничений в плане специфичности стратегии не существует – есть только фантазия трейдера, которую нужно воплотить в реальность. Площадку Wealth-Lab легко коммутируется с помощью адаптера. Единственный минус в том, что для разработки качественного робота желательно иметь определенные знания языка С#. И еще – данная программа условно-бесплатная, и через месяц бесплатного пользования за нее придется заплатить.
На базе языка программирования
Наиболее качественные и функциональные роботы пишутся на специальном языке программирования. Но какие здесь возможны варианты? Давайте рассмотрим подробнее:
1) QPILE – мощный алгоритмический язык, который интегрирован в популярную сегодня торговую систему QUIK. Конечно, QPILE не дотягивает по уровню до известных Delpi или С#, но для реализации алгоритма средней сложности отлично подойдет. С его помощью можно создать практически любого робота, способного вычислять основные параметры и управлять потоком данных. При этом торговая система сможет работать автоматически, без участия трейдера.
Преимущества QPILE – сравнительная простота (обучиться языку может любой человек с базовыми знаниями программирования), идеальная интегрированность с популярной площадкой QUIK, простой доступ к котировочному стакану и цене, а также возможность работы без установки ПО на своем компьютере.
Недостатки QPILE – заметная медлительность (особенно, если работать приходится с объемным кодом), отсутствие удобного интерфейса (часто приходится проводить редактирования вручную и применять текстовые файлы), ограничение в применении тиковых графиков, а также невозможность создания скальперских систем (из-за большого расчетного периода).
2) EXCEL+VBA. Я думаю, каждый человек работал с MS EXCEL – мощнейшим приложением, способным с большой эффективностью и высокой скоростью обрабатывать табличные данные. Но EXCEL нашел себя и на фондовом рынке, где разработчики используют его для создания качественных торговых роботов. В комбинации с языком программирования VBA, который «вшит» в программу, можно создать мощную автоматизированную систему. Данный метод немного сложнее, чем работа в QPILE, но при желании освоить тонкости языка труда не составит.
Плюсы. Есть доступ к табличный данным QUIK посредством обратной связи программного интерфейса АРI, простота применения (все необходимые инструменты уже интегрированы в систему), есть возможность управления созданным роботом в интерактивном режиме (специальные кнопки и формы для этого предусмотрены разработчиком), можно хранить наиболее важные данные и работать с Windows (при настройке робота может очень пригодиться).
Минусы. Из недостатков EXCEL+VBA можно отметить низкую скорость работы (снова-таки, скальперского или арбитражного робота сделать не получится) и повышенную уязвимость системы. Данный вариант больше подойдет для опытных трейдеров, которым необходим робот с расширенными возможностями. Но для создания высокоскоростных систем данное ПО не подойдет по указанным выше причинам.
3) С# - язык программирования, разработанный всемирно известной корпорацией Microsoft. Мы уже упоминали, что в роли внутреннего языка (для рассмотренных выше TS-Lab и WealthLab) используется именно С#. Его возможности позволяют писать качественные библиотеки, что существенно укоряет процесс создания своего торгового робота. В чем же суть таких библиотек? Здесь все просто. К примеру, вы поставили себе задачей написать качественный код на выставление заявки. Он состоит из двухсот строк, на написание и тестирование которых уйдет около суток. В библиотеке уже есть составленный и отлаженный специалистом код – остается только вставить его и скорректировать под свои нужды. В библиотеке StockSharp уже есть готовые «пакеты» программ, поэтому вы экономите свое время. Только представьте, сколько дней необходимо было бы потратить, на создание робота с «нуля».
Плюсы С# - универсальность, наличие библиотек, возможность написания высокоскоростных стратегий, надежность и высокий уровень функциональности.
Минусы С# - сравнительная сложность, ведь для написания торгового робота необходимо хорошо владеть языком программирования.
Выводы
Конечно, я описал не все варианты создания роботов – только основные (есть еще такие языки, как Delpi, С++, R и прочие). В любом случае вы уже знаете, как создать торгового робота – остается только выбрать подходящий под ваши задачи и способности вариант.