Как написать торгового робота

В последние несколько лет тема автоматизированных систем для торговли на бирже довольно популярна. Но без надежного наставника новичку это точно не по зубам. Как создать торгового робота, избежать ошибок и не потратить все деньги? Обо всем по порядку.

Как написать торгового робота

Как создать робота

Существует несколько вариантов создания роботизированного софта для торговли на бирже:

#1 – создать робота для работы на прямом подключении

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

#2 – подключиться к брокерской торговой системе по API.

Некоторые брокеры позволяют подключать внешний торговый софт к своим торговым системам по специальным интерфейсам. У нас в ITI Capital это можно делать с помощью API SMARTcom. В этом случае роботы могут быть достаточно сложными.

#3 – автоматизировать операции напрямую в торговом терминале.

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

Третий вариант, как видите, самый простой. И сейчас поговорим о нем подробнее.

Как это работало раньше

Торговые терминалы предыдущих поколений можно было интегрировать с различными инструментами автоматизации. Одним из наиболее популярных, как ни странно, в свое время был Excel. С его помощью трейдеры могли настроить экспорт данных из торгового терминала, а также получать торговые приказы.

<i> Меню для подключения Excel в одном из торговых терминалов прошлого поколения </i>
Меню для подключения Excel в одном из торговых терминалов прошлого поколения

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

Так трейдер получал возможность автоматизации, и в случае MetaStock и WealthLab получалась довольно сложная торговая система, которая не отличалась надежностью. С течением времени эта проблема была решена: в некоторых торговых терминалах появились встроенные языки программирования.

Как это работает теперь: изучаем язык TradeScript

Самый простой способ создать несложного торгового робота сегодня – использовать терминал SMARTx.

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

Как написать торгового робота

Главный плюс TradeScript – у вас нет необходимости создавать сложные конструкции и использовать различные коннекторы, чтобы передавать приказы в торговый терминал. Конструктор роботов встроен в SMARTx и позволяет добиваться значительно более высокой надежности и быстродействия.

Вот пример торговой стратегии, записанной на TradeScript:

Buy Signals

# Покупаем, если момент и инерция имеют однонаправленный тренд

TREND(EMA(CLOSE, 20), 15) = UP AND

TREND(MACD(13, 26, 9, SIMPLE), 5) = UP

Sell Signals

# Продаем, если момент и инерция имеют однонаправленный тренд

TREND(EMA(CLOSE, 20), 15) = DOWN AND

TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN

Exit Long Signal

# Выходим, если тренд инерции и момента имеет противоположное направление

TREND(EMA(CLOSE, 20), 15) = DOWN OR

TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN

Exit Short Signal

# Выходим, если тренд инерции и момента имеет противоположное направление

TREND(EMA(CLOSE, 20), 15) = UP OR

TREND(MACD(13, 26, 9, SIMPLE), 5) = UP

В пакете с TradeScript поставляется и модуль бэктестинга.

Он позволяет оценить продуктивность работы описанной стратегии на исторических данных. Помимо прочего, в системе реализована функция тестирования торговой системы «на лету» с использованием текущих биржевых данных, но без вывода приказа на биржу. Время виртуальной сделки, цена и «доходность» отображаются в отдельном окне.

Как написать торгового робота

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

Что еще: тестовый доступ, чтобы все проверить

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

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

88
3 комментария

Что-то здесь не очень людно), все-таки, видимо, тема уже не в тренде. Кстати как раз сейчас пилю связку со SmartCOM - первая подобная система, с которой я смог разобраться - не сложная и документация понятная. Да и ручной терминал SmartX приятный тоже).

ну так никаких роботов тут и нет. чистый кликбейт

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