Блог им. ipic

Программы для трейдинга с роботами

    • 12 сентября 2021, 12:35
    • |
    • MxD7
  • Еще
В Quick можно писать роботов на языке программирования Lua. 
В Transaq есть язык ATF (не знаю что это). 
Я слышал, что есть программа Wealth Lab со встроенным языком программирования c#. Я скачал последнюю демоверсию 7, но она у меня не заработала. Читал, что некоторые используют старую 6 с торрентов. Загружают котировки, отлаживают роботов на исторических данных и потом уже работают на актуальных. 
Прочитал про s# designer — якобы универсальную штуку для написания роботов. 

Какие ещё есть программы  или онлайн сервисы для человека (не инвестфонда), чтобы писать и тестировать своих роботов, а в идеале лучше настраивать или доделовать готовых?
Примерно как common-овские роботы с возможность настройки или дописывания. 
★4
37 комментариев
на сайте transaq пишут, что поддержка ATF прекращена. 
В чём торговых роботов то писать?
avatar
поищите брокера с metatrader 4 или 5, там самая комфортная инфраструктура для написания и тестирования роботов, имхо
avatar
А вы какой язык программирования умеете???
avatar
Алексей Никитин, У меня проограммистский бэкраунд. Java, C++, Python, Pascal, Javascript. Любой наверное освою за сравнительно небольшое время. 
avatar
MxD7, 
 У меня проограммистский бэкраунд. Java, C++, Python, Pascal, Javascript. Любой наверное освою за сравнительно небольшое время. 
 Тогда не заморачивайтесь. Луа + С++ДЛЛ + все, что вам угодно, в любом количестве.
avatar
MxD7, При таком  раскладе правильный вариант тестер в питоне написать. 
А маркетдату  легко из квика собрать на луа, в текстовый  файлик.
Можно и плаза апи заюзать.  А можно и на крипту уйти. и тд и тп.
avatar
Самый оптимальный вариант это Велслаб 6. Тестите на истории, а потом переносите в отдельную прогу на С# или С++ и конектите с квиком. Ни от кого не зависите и ни кому не платите.
Если нужна скорость, то тогда придется переписывать код с велслаба на С++ и писать dll. Но это не проблема.
Я так делаю и пока ни каких проблем не было.
avatar
Karim, спасибо за Ваш ответ! У меня сложилось первоначальное впечатление, что велслаб не особенно развивается.
avatar
MxD7, может он и развивается, но лицензия слишком дорого стоит. А 6-ую версию можно и так найти. В онлайне торговать не получится, а для теста на истории больше ничего и не надо.
avatar
Karim, мне категорически не нравится велс. Чуть-чуть больше стартовых усилий и на любом обычном языке можно делать быстрее, надежнее и лучше. Автор спокойно может использовать питон или Си. Тем более, что там библиотек (настоящих, а не говноиндикаторных) очень много. 
avatar
SergeyJu, Написать качественный тестер с нуля не так то просто. А в велсе он уже есть. Правда оптимизация в триал версии только монте-карло, но для проверки стратегии вполне хватает. 
avatar
Karim, когда я был вынужден использовать тестер Велса, он мне категорически не понравился. 
1. Медленный.
2. Для одного актива.
3. С ошибками, фьючи обсчитывались неправильно. 
4. Проблемы с дивами и обсчетом смены фьючей.
5. Одномерный.
А метод монте карло был настолько медленный, что использовать его было почти невозможно. 
Написать самому на коленке тестер для стратегии с одним активом — вообще раз плюнуть. Он не будет универсальным, ну так и не надо. Для начала.
avatar
SergeyJu, Может вы просто не совсем разобрались с Велсом.
1. Вопрос спорный, мне скорости хватает.
2. Сделайте для нескольких «Combination Strategy» вам в помощь.
3. Нужно корректно указать параметры фьючей — «Symbol Info Manager» ну и комиссию выставить. У меня с этим проблем нет.
4. Я прописываю это в коде. Перед экспирой выхожу, а дальше по стратегии.
5. Здесь не понял, что вы имеете ввиду. Если входные параметры стратегии, то их много. Если выходные, то в итоговой таблице можно сортировать по любому (профит, просадка и т.д.)

Из плюсов наглядная инфографика.

Но, как говорится, на вкус и цвет… Я писал свой тестер, правда на плюсах и без библиотек. С велсом как то быстрее получается оценить стратегию. Один два параметра, 3-4 месяца на 5-минутках и понятно, стоит ли копать в этом направлении.
avatar
Karim, 
1. У меня минутки на очень небыстром языке обсчитываются примерно 15 лет за 1-2 минуты. 
2. Без комментариев.
3. Если Вы думаете, что я не понимаю про учет комиссий, или отличие фьючей от акций, то Вы ошибаетесь. 
4. У меня склейка обсчитывается явно с таким переходом с фьюча на фьюч, какой программа исполняет в реальности. Велс так не очень-то умеет. 
5. Системы на десятках активах. Еще лучше — на сотнях.

avatar
SergeyJu, Ну при таких расклада тогда это точно не Велс.
avatar
 Я предполагал, что должна или может существовать программа или сервис для простых людей, где первоначально даются несколько роботов, которые можно было бы настраивать, да хоть движками. 

В идеале роботы должны бы быть с исходными текстами или подробными описаниями как настраивать. 
avatar
MxD7, это неправильный путь для  хорошего программиста
avatar
MxD7, В велсе как раз есть несколько стратегий с исходниками. Но, естественно, не прибыльные. Но на их основе можете попытаться что то сделать.
avatar
MxD7, с вашим бэкграундом вам идеально подойдет OsEngine для реальной торговли, там открытый исходный код и куча примеров, тесты и оптимизации советую делать в TSlab. Все это на шарпах.
avatar
спасибо Андрей
avatar
Вообще конечно нужно исходить от целей. Если цель HFT и мильен годовых то это наверное не про нашу биржу, ента на крипту надо идти.  хотя  там свои тараканы. Если же про нашу биржу,  то тогда связка  квик луа — маркетдата,  тестер питон,  готовые  боты  C++ апи  терминала квика.
Или чтобы не  городить огород  плаза апи под фьючи.
avatar
Напишу про те терминалы которые мне самому приходилось программировать и использовать.

В Quik тестера нет. Lua медленный. Дебаг робота на qlua отдельная головная боль. Мое мнение: можно использовать только для мелкой автоматизации и подключения к Quik других программ. Серьезных роботов на Lua писать не стоит.

Metatrader 5 использует язык который по факту C++ (несколько устаревшей версии, без некоторых фич). Есть тестер стратегий достаточно высокого качества. Много материалов по программированию на русском.

NinjaTrader 8 использует настоящий C#, есть тестер стратегий высокого качества. Писать, тестировать стратегии можно бесплатно. Торговать на реале стоит денег. Подключения к российскому рынку нет (насколько мне известно). Документация (на англ.) хорошо покрывает основы программирования, но куча возможностей не раскрывается.

MultiCharts.NET использует C#. Не путать с MultiCharts без ".NET", который использует свой скриптовый язык. Платен. Подключения к российскому рынку нет.

Резюмируя: Metatrader 5 кажется мне наилучшим выбором.
NinjaTrader 8 ничем не хуже по возможностям, но сильно отстает по качеству документации. Его можно выбрать, если вы предпочитаете решетку, а не плюсы. 
avatar
Jame Bonds, 
Луа медленный
Луа изначально создавался как язык сценариев и межпрограммного взаимодействия.
Используйте его по назначению, и все будет быстро. Доля Луа в программе и времени исполнения будет минимальна.
avatar
Jame Bonds, 
MultiCharts.NET. Подключения к российскому рынку нет.
Это не совсем так. Есть коннектор к Quik. Сама платформа и коннектор платные.
avatar
Иван Портной, точно, забыл.
avatar
Jame Bonds, благодарю за развёрнутое описание!
avatar
Все зависит от того, насколько глубоко вы хотите погрузиться.

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

С другой стороны — прямые подключения к биржам, можно написать все что угодно, но почти все придется делать самому.

А посередине куча терминалов с разными языками, фичами и возможностями.
avatar
ts lab
avatar
Я пользовал Amibroker в качестве тестера. Много возможностей и не сильно замороченный язык, понятная документация. Формат данных метастока, из квика также легко тянет данные
avatar
На питоне тестирование и торговля => www.backtrader.com/
коннектор для квик => github.com/cia76/BackTraderQuik
avatar
Sergeyka, спасибо!
avatar
Ну  TSLab вроде самый доступный вариант
Если с/с++ владеете, Sierra Chart. Лучше ничего не найти. Коннектится к чему угодно, открытый внятный протокол есть. Стоит правда, денег, но не дороже чем ТС Лаб. А для проверки гипотез, питон, да.
avatar
Andrew Morozov, благодарю!
avatar
Если C#  надо и hft  не планируете — Os.Engine  может быть неплохим вариантом для начала. Бесплатно. Исходный код открыт. https://github.com/AlexWan/OsEngine Множество разных коннекторов в наличии, в том числе для Quik и Transaq. Тестировщиком их не пользуюсь, тестирую в AmiBroker 
avatar
MT5 в Открытии.
Топик куликов и болот, положил в закладки.

Про себя: QUIK/Lua, скорость вполне достаточна для стратегий на M1. Прикидочные тесты — AmiBroker, финальный прогон — бэктест в самом роботе, на том же коде, который торговать будет.

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

теги блога MxD7

....все тэги



UPDONW
Новый дизайн