10 этапов разработки торгового робота под QUIK и TSLab от Robot Scalper

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

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

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

Разработку форекс робота начинаем с идеи

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

Собственно, на этом рассказ можно было бы закончить. Если идеальный советник уже существует, зачем продолжать поиски? Но следом возникает второй вопрос: почему, если идеальный советник уже найден, в Африке до сих пор существует дефицит питьевой воды? Если ответ для вас очевиден, поздравляю, вы прошли первый этап становления трейдера разумного, преодолев уровень новичка или алгофанатика, не видящего перспектив своего развития, и нацеленных лишь на результат.

Написать форекс советника

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

Немного о QUIK

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

Рассматриваемая торговая площадка активно используется в странах Российской Федерации и Украины для предоставления возможности торговли валютой в национальных биржах.

Конструктор советников – не проходим мимо!

У новичков на валютном рынке часто возникает множество вопросов, ответы на которые бывают не совсем очевидны, либо являются лишь вопросом неопытности оного. Будучи начинающим трейдером, достаточно прочитать одну книгу Билла Вильямса, чтобы на всю жизнь подменить понятие торгового хаоса торговым порядком. Затем такие люди удивляются, почему вот здесь да не купить, а вот здесь да не продать, и заказывают у программистов советник по пересечению двух скользящих средних. А ведь на начальных этапах обучения это вполне можно отдать на откуп готовым инструментам разработки. Одной из таких как раз является MQL5 Wizard – мастер по созданию советников для MetaTrader 5.

Для реализации простых вещей Мастер идеален. Вам не нужно обладать никакими магическими способностями – навыки программирования здесь не требуются. Несколько простых шагов, и советник готов. Уже готовый советник можно протестировать в том же терминале MetaTrader. Держите комбайн по производству простецких Граалей.

Настройка Quik

Итак, терминал Quik установлен, демо деньги есть, можно начинать разбираться как пользоваться Quik. На первый взгляд всё хаотично, но ключевым для понимания структуры объектом является строчка под панелью инструментов, мы её выделим на скриншоте жёлтым цветом:

Настройка Quik

Сейчас выбрана вкладка “Акции”. Под строкой находится окошко, в котором перечислены различные акции – Сбербанк, Лукойл, Магнит и так далее. Нажав на любую из них, мы получим график изменения цены в ещё одном окошке – графическом, расположенном под списком акций.

Главное удобство заключается в том, что не надо совершать лишних действий (как в МетаТрейдере), нажали и сразу получили нужную нам информацию. Если мы переключим на вкладку “Фьючерсы”, то увидим список фьючерсов, аналогично и со списком “Валюты”. А вот вкладка “Графики” меняет вид рабочей области и даёт возможность смотреть графики инструментов в увеличенного размера окошках. Некоторые выбирают покер для полноценного отдыха, многие зарабатывают, играя в карты, в любом случае для игры потребуется хорошая покерная комната, дающая клиентам максимум возможностей. По многим показателям официальный сайт GGpokerok является лидером, поэтому его могут выбирать не только новички, но и профессионалы. Здесь небольшой рейк и есть система его возврата, а весь функционал доступен на русском языке, что добавляет ему удобства в работе. Каждый из них настраивается, можно добавить любой инструмент, на него наложить индикатор или несколько индикаторов:

графики quik

Чтобы получить график какого-либо инструмента, нужно нажать на кнопку ”Создать окно” и выбрать “График”, далее нам открывается список возможных инструментов. Допустим, выберем МосЭнерго:

график МосЭнерго на quik

Теперь рассмотрим правую часть обычной рабочей области QUIK. Здесь у нас отображается много важной информации. ПО порядку в соответствии с отмеченными на скриншоте разделами у нас есть следующее:

  1. Позиции и обеспечение. Здесь у нас отображается вся необходимая информация по балансу и инструментам. Для тех, кто уже имел опыт торговли на форекс. Важным замечанием станет то, что наши брокеры не дают тех огромных плеч, к которым все привыкли. Например, мы не сможем взять и купить акций на сумму в 50 раз большую, чем есть. Поэтому внимательно следим за вкладкой обеспечение, там указывается информация по объёму зарезервированных средств. При превышении могут возникнуть проблемы и принудительное закрытие позиций.
  2. Непосредственно сами заявки. Как мы видим на скриншоте, есть исполненные заявки, а есть те, которые ожидают исполнения. Они как бы “отложенные”, то есть ожидают нужной цены для реализации. Производилась покупка Сбербанка и есть заявки на продажу.
  3. Стакан цен. Это отдельная тема, на которой многие строят свою стратегию торговли. Биржевой стакан показывает интерес остальных участников торгов к заявкам в области текущей цены. То есть сколько хотят купить по цене выше и ниже текущей, сколько продать и так далее. Чем ликвиднее инструмент, тем активнее деятельность в стакане, объёмы увеличиваются, есть множество как покупателей, так и продавцов. Правда, есть и разного рода манипуляции(айсберг, плита и так далее), но это уже достаточно сложные понятия, которыми следует интересоваться после того, как изучены азы.

функционал quik

MQL5 Wizard. Сделать советник за 5 минут

Итак, для начала запускаем MetaTrader 5 и переходим в редактор приложений (кнопка F4). На верхнем меню жмем кнопку «Создать» и в появившимся диалоге выбираем генерацию нового советника.

Мастер советников MetaTrader

Дальше нужно указать название советника и основные входные параметры.

Мастер советников MetaTrader

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

Параметры сигналов советника

Собственно, все стандартные сигналы хорошо описаны в онлайн справке на официальном сайте. Там же можно скачать и кастомные.

Варианты торговых сигналов советника

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

параметры модуля сигналов

Обычный трейлинг стоп или закрытие сделки по значениям индикатора – на ваш выбор.

Также на выбор предлагается фиксированный лот, либо объем сделки в процентах от депозита. Для самых рискованных новоявленных программистов также есть мартингейл с его геометрической прогрессией лота, способной принести вам миллионы за пару лишних проходов в тестере стратегий.

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

Преимущества применения сервиса

  1. В предоставлении прямого доступа к электронным торгам.
  2. В получении информации о котировках цен торговых активов в режиме реального времени.
  3. В графическом изображении изменения ценовых котировок.
  4. В возможности автоматизации торговли при помощи советников.
  5. В получении дополнительной информации, предоставляемой в виде бегущих лент о выходе новостей и о решениях заседаний правительства и глав центральных банков.
  6. В предоставлении возможности общения с администратором и другими пользователями системы.
  7. В автоматическом обновлении версии программного обеспечения.

Хочу программировать непростого советника? Написание технического задания

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

Написание ТЗ для робота

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

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

Напишите мне советник по индикатору

Пример плохого задания для создания торгового советника – его отсутствие. Само намерение заказчика может быть и понятно: есть индикатор, нужно написать торгового робота, ну а дальше что?

Как закрывать сделку? Как ее сопровождать? Какие выбирать объемы? Что делать с проскальзываниями и реквотами? Нужно понимать, что программист не обладает экстрасенсорными способностями. Если вы такого найдете, обязательно дайте знать, такие люди не должны пропадать.

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

Мораль: чем больше подробностей вы предоставите в задании, тем легче его будет понять, осмыслить и, в конце концов, реализовать.

Шаблон создаваемого торгового робота

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

#property copyright “”

#property link “”

//В этом месте программного кода описываются все переменные, используемые в программе

int start() // Спец. функция start

{

// В этом месте прописывается алгоритм действий торгового робота (с использованием //специальных команд языка MQL4)

return; // Выход из start()

}

Выбор исполнителя

Если у вас нет опыта работы с фриланс-биржами, попробуйте представить себе субэкваториальную версию ада. На самом деле, не все так страшно, но некоторые нюансы все же стоит учитывать.

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

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

Реализация торгового советника

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

Один из типичных примеров – недопонимание форматов файлов и их значения. Вроде: «У меня тут есть .dll библиотека (.exe файл или .ex4 программа), не могли бы вы быстренько поправить то и то, а я вам за это копеечку закину? Нет? А почему? Василий мне сделал советника за 5 баксов, а вы плохой разработчик значит!».

Мораль: старайтесь вникать в процесс работы и всего, что непосредственно касается реализации вашей идеи. Это не только поможет лучше разобраться в работе робота самому, но и в дальнейшем упростит процесс общения с исполнителями. В работе всегда принимают участие, как минимум, две стороны, и если вы намерены сделать трейдинг своей основной профессией, терпение нужно беречь – и свое, и окружающих.

Курсы Lua. Роботы для торговли.

Если робот остался в длинной позиции, указываем L_Pos = true, а S_Pos = false и наоборот, если в короткой позиции, то указываем S_Pos = true, L_Pos = false. Если без позиции, указываем false, false. Эти действия удобно делать, просто комментируя не нужные строки кода.

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

Давайте поясню понятие Транзакция. Транзакция — это процесс отправки заявки на биржу. В момент транзакции отслеживается корректность параметров заявки, и проверяются доступные лимиты по объемам заявки. При отправке транзакции могут возникать два вида ошибок на двух разных этапах. Первый этап, на котором могут возникать ошибки, это в момент вызова функции sendTransaction – эта функция отправляет транзакцию на сервер брокера. На этом этапе, ошибки отслеживаются терминалом QUIK, и все они связаны с корректностью составленной таблицы с параметрами заявки. Какие это могут быть ошибки, например, не указали, объем заявки или не указан торговый счет, т.е. это ошибки в коде скрипта. Второй этап, на котором могут возникнуть ошибки, из-за которых заявка не будет выставлена на бирже, это этап проверки параметров заявки в торговой системе. Этот этап наступает после того как терминал QUIK принял Вашу транзакцию и отправил ее дальше. Тут могут возникнуть ошибки следующего характера. Например, превышен допустимый объем заявки или указана цена, которая выше или ниже максимально возможной цены или заявка выставляется в момент отсутствия торгов.

Ошибки первого этапа возникают только во время первичных, тестовых торгов роботом. После того как скрипт отлажен, ошибок этого типа не бывает. Ошибки второго этапа могут появляться в независимости от кода скрипта, но опять же при хорошем коде, в котором исключены моменты, при которых ошибка теоретически возможна, появление ошибки второго этапа сведена к минимуму. На самом деле остается одна единственная ситуация, при которой появление ошибки второго этапа возможна – это обрыв связи с сервером в момент, когда транзакция принята терминалом QUIK, но не дошла до сервера брокера. К счастью, это исключительно редкая ситуация, я бы сказал больше — теоретическая. По транзакциям пока все, пойдем дальше.

Наш робот действует не молча, он постоянно записывает свои действия и параметры в указанные файлы. На каждой свече робот записывает текущие параметры — Дата, Время, Цена закрытия, Значение скользящей средней, Ускорение, Текущая позиция лонг – шорт. Эти данные помогают отследить возможные ошибки в направлении позиции или восстановить работу скрипта после, например, случайного закрытия терминала QUIK. Помимо текущих параметров, записываются и результаты транзакций. Всегда есть возможность посмотреть, когда робот совершал сделки и прочитать сообщение об ошибках, если таковые будут.

Хорошо, что нам уже известно про алгоритм укорение скользящей средней? Мы подробно разобрали этот алгоритм, кода тестировали его на исторических данных. Скрипт торгового робота и скрипт тестирования очень похожи. Оба этих скрипта получают данные, тестовый скрипт считывает данные из файлов, торговый скрипт считывает данные с графиков QUIK. Далее оба скрипта выполняют одинаковые действия, рассчитывают параметры индикаторов и отслеживают условия для входа в позицию или выхода из нее. Различия, в действиях начинаются после того, как выполняются условия входа или выхода. Тестовый скрипт просто записывает данные, а торговый скрипт отправляет транзакцию на сервер QUIK. По сути, это единственное их различие. Один совершает реальные сделки, другой просто записывает данные.

Это были озвучены сходства и различия в логике работы обоих скриптов. Различия в коде скриптов более существенны, поскольку появляется необходимость обработки транзакций. Плюс в торговом скрипте должны отсутствовать логические ошибки, из-за которых скрипт может прекратить свою работу. Надежность работы торгового скрипта ставится на первое место.

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

Сдача советника – включайтесь в работу!

Этап сдачи работы – самый сложный. Будьте уверены, каждый исполнитель с горя пьет успокоительный отвар, черным маркером отмечая день календаря, когда его в очередной раз просят поправить и без того исчерпавший все сроки заказ. Как и вселенной, совершенству нет предела, но в определенный момент нужно собраться и сказать – задача завершена.

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

Принять участие в разработке своего робота

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

Если задача небольшая, исполнитель вполне может пойти на уступки, и исправить работу в соответствии с новым ТЗ. Если работа проделана масштабная – что-либо менять уже поздно. Частая проблема – тотальная отрешенность в процессе разработки, например, отказ от участия в бета-тестировании: «Зачем вы мне скинули советника с ошибками, я что за вас тестировать еще должен?» или: «Откуда я знаю, как этот ваш тестер запускать, я программист что-ли?».

Для адекватного человека такие заявления режут слух, исполнитель же впадает в депрессию. Разработка торгового робота – это, в первую очередь, работа. Если вы ищете готовое решение, существует магазин готовых советников, где советника за вас и протестируют, и вымоют до блеска, попутно документируя его историческую успешность. В таком случае, обращаться на фриланс-биржу не имеет смысла.

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

Обзор технологий создания роботов

После решения стать алготрейдером возникает огромное число вопросов. Самый судьбоносный звучит примерно так: «Какую технологию выбрать для создания робота и чем же они отличаются?».

На этот вопрос мы и попытаемся дать ответ.

ВНЕЗАПНО! Эта статья претендует на правду. Она написана коллективом программистов Old School Algo, и мы придерживаемся разных взглядов на ситуацию. Мы пытались быть откровенны. Ссорились и боролись за каждый абзац. Наслаждайтесь.

Введение

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

В статье будут рассмотрены доступные техники создания ботов в разрезе плюсов и минусов относительно друг друга.

Как и любая не сектантская литература, статья требует ещё бОльшего мнения профессионалов. И конечно же она может быть опровергнута аргументами и фактами.

План статьи:

  • 1.Характеристики технологий;
  • 2.Quik Lua;
  • 3.ТсЛаб;
  • 4.ВелсЛаб;
  • 5.Язык программирования R;
  • 6.СтокШарп;
  • 7.Своя библиотека;
  • 8.Заключение.

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

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

Вот они:

  • 1.Скорость изучения. Сколько часов надо потратить на запуск первого бота, созданного по своему ТЗ.
  • 2.Стоимость использования.
  • 3.Поддержка. Количество и качество форумов на которых можно подсмотреть или попросить информацию.
  • 4.Возможные алгоритмы
  • a.основанные на свечах;
  • b.основанные на тиках;
  • c.основанные на стакане;
  • d.основанные на опционах;
  • e.основанные на ордер логе.
  • 5.Возможности тестирования
  • a.основанные на свечах;
  • b.основанные на тиках;
  • c.основанные на стакане;
  • d.основанные на опционах;
  • e.основанные на ордер логе.
  • f.оптимизация
  • g.машинное обучение
  • 6.Стабильность. При взгляде со стороны, этот пункт описывает количество внезапных падений программы при казалось бы стандартном её использовании. Для программистов занимающихся проектом он означает степень покрытости кода тестами, общую безопасность применяемых конструкций и прозрачность изначальной архитектуры.
  • 7.Кол-во возможных транзакций в секунду:
  • a.менее 10
  • b.более 10 и менее 50
  • c.50 и более
  • 8.Кол-во одновременно запущенных ботов. По чему можно определить качество инфраструктуры.
  • a.менее 10
  • b.более 10 и менее 50
  • c.50 и более
  • 9.Универсальность подключения к бирже. На сколько просто будет переподключить готового робота к другому терминалу/бирже.

Quik — самый популярный терминал для доступа к бирже в России. Все мы с него начинали и он не нуждается в дополнительных представлениях. В рамках Quik развёрнут интерпретатор языка Lua, на котором можно писать роботов.

  • 1.Скорость изучения. Как и у любого другого скриптового языка, от 100 до 500 часов. В зависимости от первоначального качества серого вещества.
  • 2.Стоимость использования. Бесплатно.
  • 3.Поддержка. Отличная поддержка на форуме Quik и в интернете.
  • 4.Возможные алгоритмы.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе. НЕТ
  • 5.Возможности тестирования. Тут с оговоркой. В рамках Quik Lua не существует готовой инфраструктуры для тестирования стратегий на исторических данных. Можно создать самому какие-то костыли и попытаться оттестировать стратегию на них. Но для этого нужны совсем другие скилы и это совсем другая история…
  • a.основанные на свечах; НЕТ
  • b.основанные на тиках; НЕТ
  • c.основанные на стакане; НЕТ
  • d.основанные на опционах; НЕТ
  • e.основанные на ордер логе; НЕТ
  • f.оптимизация; НЕТ
  • g.машинное обучение; НЕТ
  • 6.Стабильность. Прекрасная, стабильная связка. Quik — стабильнейшая программа. Без единого нарицания. Интерпретатор Lua в ней — столь же крепок. При нахождении каких либо багов программистs Arqa оперативно исправляют ситуацию.
  • 7.Кол-во возможных транзакций в секунду:
  • менее 10. В противном случае транзакции начинают просто исчезать.
  • 8.Кол-во одновременно запущенных ботов.
  • Одновременно можно использовать до 200 стаканов в алгоритмах роботов для получения данных.
  • 9.Универсальность подключения к бирже.
  • Отсутствует.

ТсЛаб — «платформа для создания и запуска механических торговых систем». Популярнейшая программа для создания ботов. Завоевала свой кусок благодаря кубикам которые позволяют приобщиться к алготрейдингу за пару дней. В отличие от своих прямых конкурентов вроде Wealfh-Lab и Metastock, как и догоняющих Jatotrader и SoftAlgoTrade — является БЕСПЛАТНЫМ на этапе тестирования стратегий.

  • 1.Скорость изучения. От 30 до 1000 часов. Подобный разброс вызван наличием в программе нескольких способов создания ботов. При помощи Api и при помощи «кубиков». Кубики заманивают людей, а потом уже выясняется что надо учить Си Шарп до уровня Junior.
  • 2.Стоимость использования. От 1400 в месяц в режиме торговли. И бесплатно в режиме тестирования стратегий. Что, в общем, вполне себе бюджетно.
  • 3.Поддержка. Из-за существования сервисов по платной поддержке, сервис по поддержке обычных пользователей по умолчанию ущербен.
  • 4.Возможные алгоритмы.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе. НЕТ
  • 5.Возможности тестирования.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе; НЕТ
  • f.оптимизация; ДА
  • g.машинное обучение; НЕТ
  • 6.Стабильность. Хорошая. Ещё свежи раны от проблем с исполнением заявок и слежением за позицией. Но последнее время всё хорошо.
  • 7.Кол-во возможных транзакций в секунду:
  • зависит от точки подключения к бирже и количества запущенных ботов.
  • 8.Кол-во одновременно запущенных ботов.
  • от 10 до 50. Если запускать больше будут проблемы со скоростью работы.
  • 9.Универсальность подключения к бирже.
  • Имеется. Охвачены терминалы и шлюзы СНГ + Interactiv Brokers.

ВелсЛаб — платформа для тестирования торговых систем. Для подключения к торговым системам российских брокеров существуют ряд костылей, разворачивающих определение до «платформа для тестирования и запуска механических торговых систем»

  • 1.Скорость изучения. От 30 до 1000 часов. Как и в ТсЛаб, здесь существуют несколько режимов создания ботов. Кубики и интерпретатор языка СиШарп.
  • 2.Стоимость использования. 800 ДОЛЛАРОВ!!! Помолимся небесам, за то, что мы в России.
  • 3.Поддержка. Многое на английских форумах. Но они есть и доступны.
  • 4.Возможные алгоритмы.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; НЕТ
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе. НЕТ
  • 5.Возможности тестирования.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; НЕТ
  • e.основанные на ордер логе; НЕТ
  • f.оптимизация; ДА
  • g.машинное обучение; ДА
  • 6.Стабильность. Прекрасная
  • 7.Кол-во возможных транзакций в секунду:
  • зависит от точки подключения к бирже. Тут основным ограничением будет конкретный костыль для подключения к бирже.
  • 8.Кол-во одновременно запущенных ботов.
  • 50 и более.
  • 9.Универсальность подключения к бирже.
  • Отсутствует вообще. Придётся изрядно попотеть с подключением. Есть вариант подключиться к Квик через транзакции из файла. Это лучше всего. Про остальное лучше вообще умолчать, не надо.

R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU.

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

  • 1.Скорость изучения. От 1000 часов. Это всё не просто.
  • 2.Стоимость использования. Бесплатно
  • 3.Поддержка. Скромная. Почти всё на английском.
  • 4.Возможные алгоритмы.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе. ДА
  • 5.Возможности тестирования.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе; ДА
  • f.оптимизация; ДА
  • g.машинное обучение; ДА
  • 6.Стабильность. Прекрасная
  • 7.Кол-во возможных транзакций в секунду:
  • 0
  • 8.Кол-во одновременно запущенных ботов.
  • 0
  • 9.Универсальность подключения к бирже.
  • Отсутствует как категория за бессмысленностью. Язык используется для тестов.

S#.Api — платформа для создания торговых роботов.

Хорошо:

Множество разнообразных коннекторов.

Исчерпывающая инфраструктура. Вот всё что может пригодиться в алготрейдинге здесь есть.

Плохо:

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

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

Дикая стоимость HFT коннекторов. от 90 тыр.

  • 1.Скорость изучения. От 4000 часов. Чтобы править баги в библиотеке придётся выучить Си Шарп на уровне архитектора. Понимать какие данные куда идут. Паттерны проектирования. Разобрать паутины путей данных, которые идут через ссылки Все на всех.
  • 2.Стоимость использования. все быстрые коннекторы — от 90 тыс. руб.
  • 3.Поддержка. Есть. Хоть и частенько посылают в кассу. Надо признать всё же, что поддержка есть.
  • 4.Возможные алгоритмы.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе. ДА
  • 5.Возможности тестирования.
  • a.основанные на свечах; ДА
  • b.основанные на тиках; ДА
  • c.основанные на стакане; ДА
  • d.основанные на опционах; ДА
  • e.основанные на ордер логе; ДА
  • f.оптимизация; ДА
  • g.машинное обучение; ДА
  • 6.Стабильность. До недавних пор была ужасной. Но последний год парни так расстарались, что в последних версиях тяжело найти ошибку. А учитывая открытый код — стало возможным на лету самому поставить заплатку.
  • 7.Кол-во возможных транзакций в секунду:
  • ограничено подключением.
  • 8.Кол-во одновременно запущенных ботов.
  • 50 и более.
  • 9.Универсальность подключения к бирже.
  • Присутствует.

Имеется ввиду разработка своей библиотеки, на одном из языков программирования. C#, Java, Delphi, C++ и т.д. Именно так побеждают на ЛЧИ. Никаких других вариантов нет.

Хорошо:

1) Ну вообще всё хорошо. Можно сделать все, что душе угодно. Бесплатно. Никаких падающих библиотек и тормозящих прослоек.

Плохо:

2) Гигантские временные издержки на создание.

Описывать преимущества и недостатки по пунктам не стану. И так всё понятно. Если Вы крутой программист на уровне Архитектора или хотите им стать, то надо писать свою библиотеку. Через пару лет у Вас будет возможность делать всё что душе угодно. И никакие ТсЛабы со СтокШарпами Вас не догонят.

Какие выводы можно сделать из итоговой таблицы?

Для тех кто хочет учить сам:

1) Технологии для лентяев. Первые три. ВНЕЗАПНО! Почти по всем показателям держат удар хорошо.

2) Сумасшедшим, которые хотят победить в ЛЧИ. Лучше выбрать R для тестирования и самописную библиотеку для реализации.

Для тех кто хочет заказать бота:

1) смотрим графу стоимость (постоянные расходы), кол-ва подключений (универсальность), кол-ва возможных алгоритмов (скорость платформы). И делаем выбор сами.

В этой статье мы рассмотрели популярные в СНГ способы создания роботов для трейдинга. Коллектив Old School Algo надеется что она была полезна.

Удачных алгоритмов!

P.S.

Обсуждаем в телеграмме: https://t.me/o_s_a_chat

Канал проекта: https://t.me/bad_quant

Рейтинг
( 1 оценка, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями: