Блог им. ipic

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

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

Какие ещё есть программы  или онлайн сервисы для человека (не инвестфонда), чтобы писать и тестировать своих роботов, а в идеале лучше настраивать или доделовать готовых?
Примерно как common-овские роботы с возможность настройки или дописывания. 
949 | ★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

Читайте на SMART-LAB:
Предварительные итоги года на рынке жилья и ипотеки
Аналитический центр ДОМ.РФ подводит предварительные итоги года. Объём продаж жилья по договорам долевого участия (ДДУ) в 2025 г. (в рамках...
Фото
С наступающим!
Дорогие друзья!  В уходящем году мы вместе добились значимых результатов: начали реализацию Стратегии ПАО «СТГ» до 2028 года, запустили...
Фото
Облигации «Атомэнергопрома» стали еще интереснее
На фоне ограниченного выбора длинных выпусков на российском рынке новые облигации «Атомэнергопрома» закономерно становятся одними из самых...

теги блога MxD7

....все тэги



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