{"id":14268,"url":"\/distributions\/14268\/click?bit=1&hash=1e3309842e8b07895e75261917827295839cd5d4d57d48f0ca524f3f535a7946","title":"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438\u0433\u0440\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f71e1caf-7964-5525-98be-104bb436cb54"}

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

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

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

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

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

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

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

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

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

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

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

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

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

Меню для подключения 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 поставляется и модуль бэктестинга.

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

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

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

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

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

0
3 комментария
Mihail Kremlyov

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

Ответить
Развернуть ветку
Bulat Ziganshin

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

Ответить
Развернуть ветку
Alex Ondre

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

Ответить
Развернуть ветку
0 комментариев
Раскрывать всегда