Этой статьей я начинаю большой обзор различного программного обеспечения, которое помогает трейдерам в их нелегком труде. Статьи серии в основном будут посвящены трейдерским терминалам и программам для тестирования стратегий и разработки механических торговых систем, но иногда буду отвлекаться и на прочие интересные штуковины. По итогам этого большого обзора планирую составить большую сводную таблицу, по которой можно будет определить наиболее подходящее для вас решение с учетом ваших потребностей, программистских и трейдерских способностей, ценообразования и пр. Итак, в первой статье рассказываю о программе для разработки торговых систем — TSLab.
Первый анонс TSLab’a, который попался мне на глаза, зацепил одной очень сильной фичей – разработчики обещают, что используя TSLab, создать торгового робота сможет человек не умеющий программировать – просто перетаскивая мышкой элементы в визуальном конструкторе – задача сколь привлекательная столь и утопичная. Но к анонсу прилагались видео, на которых действительно в течение 10 минут накидав в рабочую область цветных кубиков, удавалось создать простенькую МТС на 2-х индикаторах теханализа, потестировать ее на исторических данных и сразу же запустить в боевом режиме. Памятуя, сколько лет я провел за изучением языков программирования, я решил проверить насколько реально использовать эту систему в своей работе. Скачать программу можно отсюда (http://tslab.ru/downloads/), она небольшая по объему, но требует для своей работы предустановленную библиотеку Microsoft .NET Framework 3.5 (SP1) (взять можно там же). При установке TSLab поставит еще движок базы данных, с помощью которого хранит информацию. У меня все установилось с первого раза без проблем. Интерфейс программы на первый взгляд кажется сложным и навороченным – но не забывайте перед вами полноценная среда для разработки торговых роботов. Со временем разобравшись со всеми многочисленными закладками, начинаешь легко в них ориентироваться. Начать изучение программы лучше всего, открыв один из нескольких заранее приготовленных разработчиками скриптов. Стратегия двух пересекающихся скользящих средних или минимумов/максимумов покажет вам, как реализован в TSLab тот самый процесс визуального конструирования.
На закладке редактора вы увидите различные логические блоки, соединенные между собой связями (источник данных, индикатор, условия открытия и закрытия позиций и пр.). Скрипты идущие в составе программы уже подготовлены к работе, вам нужно будет только настроить источник данных. Далее жмете кнопочку Play и стратегия прогоняется на исходных данных. Система TSLab нарисует вам график эквити, укажет на графике актива входы и выходы из позиции, посчитает основные статистики. Для начала неплохо!
Получив первое представление о системе, я попробовал создать робота по своим правилам. Честно скажу, пока я окончательно разобрался с логикой системы и тем, как разработчики организовали процесс прошло почти 6 часов (на первый взгляд казалось, что все будет проще). Все-таки смена парадигмы, когда тебе вместе 10 строчек кода нужно просто перетащить элемент визуального проектирования на рабочую область отнимает время. Но с другой стороны через эти 6 часов я уже достаточно бодро ориентировался в системе, успел реализовать достаточно продвинутую систему на 3-з индикаторах со стоп-лоссами, скользящими тейк-профитами, чтением информации из нескольких источников данных (система позволяет использовать данные из SmartCom, Transaq, Алор, Plaza II и пр.) и оттестировал ее. Положив на форму источник данных и набор индикаторов вы, таская индикаторы (наезжая ими на нужные источники), подключаете их к нужным данным – это интуитивно понятно. Немного сложнее придется с описанием сигналов на открытие позиции, т.к. это редко бываю сигналы от одного индикатора придется в специальный элемент Логическая формула завести данные от нескольких индикаторов и в этой формуле в виде булевой функции описать условие для открытия/закрытия позиции – чуть-чуть кода написать все же придется. На простых переворотных роботах условие на открытия новой позиции одновременно будет являться условием для закрытия уже имеющейся, трейлинг-стоп удобно реализован в виде визуального элемента. В системе реализован блок оптимизации стратегии, когда она прогоняется на исходных данных с различными настройками – сделано достаточно просто и понятно.
Дальше начинается самое интересное. Торговая система, которую вы создали парой кликов мыши, подключается на любой торговый инструмент и начинает торговать по правилам, которые вы задали в визуальном редакторе. Скрипты можно передать в виде файлов в открытом виде, так же разработчики предусмотрели возможность распространения скриптов в виде «черных ящиков» — специально для разработчиков роботов на продажу. В результате моей работы я получил, на мой взгляд, весьма неплохой результат. С одной стороны время было потрачено прилично, написание простенького робота заняло бы много меньше чем 8 часов рабочего времени. С другой стороны впридачу к роботу я получил результаты его тестирования на истории, универсальность подключения к различным источникам и все это действительно не написав ни строчки кода. По большому счету можно сказать, что разработчикам TSLab удалось меня удивить, и даже убедить в том, что система может использоваться для разработки реальных торговых систем с применением технического анализа. Библиотека индикаторов пока не большая, но она постоянно пополняется пользователями системы. Парадигма визуального конструирования оказалась на редкость понятна и достаточно гибка (вот тут самое тонкое место подобных систем). Справедливости ради, надо сказать, что разработчики допускают использование в роботах отдельных частей реализованных на полноценных языках программирования (в результате эти части будут добавлены к роботу в виде визуальных элементов). TSLab можно порекомендовать достаточно широкому классу трейдеров, которые не имея специального образования, хотели бы самостоятельно попробовать алгоритмический трейдинг на основе индикаторов технического анализа. Я уверен, что освоение TSLab пройдет на порядок проще чем WealthLab или тем более какой-нибудь полноценной среды программирования типа Visual Studio.
Индикатор написать самому можно. Используется C#.
Даёт преимущество тому, кто умеет программировать над тем, кто не умеет.
Рано или поздно всё, что доступно общественности становится неэффективно.