Программы для трейдинга с роботами
- 12 сентября 2021, 12:35
- |
- MxD7
В Quick можно писать роботов на языке программирования Lua.
В Transaq есть язык ATF (не знаю что это).
Я слышал, что есть программа Wealth Lab со встроенным языком программирования c#. Я скачал последнюю демоверсию 7, но она у меня не заработала. Читал, что некоторые используют старую 6 с торрентов. Загружают котировки, отлаживают роботов на исторических данных и потом уже работают на актуальных.
Прочитал про s# designer — якобы универсальную штуку для написания роботов.
Какие ещё есть программы или онлайн сервисы для человека (не инвестфонда), чтобы писать и тестировать своих роботов, а в идеале лучше настраивать или доделовать готовых?
Примерно как common-овские роботы с возможность настройки или дописывания.
В чём торговых роботов то писать?
А маркетдату легко из квика собрать на луа, в текстовый файлик.
Можно и плаза апи заюзать. А можно и на крипту уйти. и тд и тп.
Если нужна скорость, то тогда придется переписывать код с велслаба на С++ и писать dll. Но это не проблема.
Я так делаю и пока ни каких проблем не было.
1. Медленный.
2. Для одного актива.
3. С ошибками, фьючи обсчитывались неправильно.
4. Проблемы с дивами и обсчетом смены фьючей.
5. Одномерный.
А метод монте карло был настолько медленный, что использовать его было почти невозможно.
Написать самому на коленке тестер для стратегии с одним активом — вообще раз плюнуть. Он не будет универсальным, ну так и не надо. Для начала.
1. Вопрос спорный, мне скорости хватает.
2. Сделайте для нескольких «Combination Strategy» вам в помощь.
3. Нужно корректно указать параметры фьючей — «Symbol Info Manager» ну и комиссию выставить. У меня с этим проблем нет.
4. Я прописываю это в коде. Перед экспирой выхожу, а дальше по стратегии.
5. Здесь не понял, что вы имеете ввиду. Если входные параметры стратегии, то их много. Если выходные, то в итоговой таблице можно сортировать по любому (профит, просадка и т.д.)
Из плюсов наглядная инфографика.
Но, как говорится, на вкус и цвет… Я писал свой тестер, правда на плюсах и без библиотек. С велсом как то быстрее получается оценить стратегию. Один два параметра, 3-4 месяца на 5-минутках и понятно, стоит ли копать в этом направлении.
1. У меня минутки на очень небыстром языке обсчитываются примерно 15 лет за 1-2 минуты.
2. Без комментариев.
3. Если Вы думаете, что я не понимаю про учет комиссий, или отличие фьючей от акций, то Вы ошибаетесь.
4. У меня склейка обсчитывается явно с таким переходом с фьюча на фьюч, какой программа исполняет в реальности. Велс так не очень-то умеет.
5. Системы на десятках активах. Еще лучше — на сотнях.
В идеале роботы должны бы быть с исходными текстами или подробными описаниями как настраивать.
Или чтобы не городить огород плаза апи под фьючи.
В Quik тестера нет. Lua медленный. Дебаг робота на qlua отдельная головная боль. Мое мнение: можно использовать только для мелкой автоматизации и подключения к Quik других программ. Серьезных роботов на Lua писать не стоит.
Metatrader 5 использует язык который по факту C++ (несколько устаревшей версии, без некоторых фич). Есть тестер стратегий достаточно высокого качества. Много материалов по программированию на русском.
NinjaTrader 8 использует настоящий C#, есть тестер стратегий высокого качества. Писать, тестировать стратегии можно бесплатно. Торговать на реале стоит денег. Подключения к российскому рынку нет (насколько мне известно). Документация (на англ.) хорошо покрывает основы программирования, но куча возможностей не раскрывается.
MultiCharts.NET использует C#. Не путать с MultiCharts без ".NET", который использует свой скриптовый язык. Платен. Подключения к российскому рынку нет.
Резюмируя: Metatrader 5 кажется мне наилучшим выбором.
NinjaTrader 8 ничем не хуже по возможностям, но сильно отстает по качеству документации. Его можно выбрать, если вы предпочитаете решетку, а не плюсы.
Используйте его по назначению, и все будет быстро. Доля Луа в программе и времени исполнения будет минимальна.
Есть скриптовые языки, которые позволяют запрограммировать и протестировать простейшие стратегии. Например tradingview.com. Но будут сложности с переходом на реальную торговлю. Написать сколь-либо серьезную стратегию может оказаться невозможным.
С другой стороны — прямые подключения к биржам, можно написать все что угодно, но почти все придется делать самому.
А посередине куча терминалов с разными языками, фичами и возможностями.
коннектор для квик => github.com/cia76/BackTraderQuik
Про себя: QUIK/Lua, скорость вполне достаточна для стратегий на M1. Прикидочные тесты — AmiBroker, финальный прогон — бэктест в самом роботе, на том же коде, который торговать будет.
Чем больше прокладок между идеей и биржей, тем больше времени будет потрачено на исправление чужого рукожопия. Баги есть везде, некоторые могут дорого обойтись.