Блог им. A2format

Какая платформа (брокер) лучше всего для алготрейдинга?

MT 4/5 (MQL). Работал с этой парой долгое время (т.к. наиболее доступно), но не представлял, какой на самом деле это тихий ужас.
Теперь назрел вопрос, перейти на другую платформу и мощный язык, с минимальным временем на обучение. При этом, чтобы при работе с брокером не было проблем, если работать из стран СНГ.

— Dukascopy (Java). Перспектива освоить Java — с одной стороны это будет гибкость, с другой значительное время на освоение основ (даже при наличии большого опыта  в разных языках).
— InteractiveBrokers — что-то упоминается про алготрейдинг, но про опционы. Пока так и не разобрался, какой именно язык для алготрейдинга. Или там сторонние разработки, через мост какой-то или подобное? Может, кто подскажет?
— TDAmeritrade (ThinkScript). ThinkScript — это прям идеально, мне весьма понравилось. Но работать с TDA — проблематично (можно, конечно, но проблематично), если не из США. Это основной минус. Но платформа и язык...

В общем, кто сможет подсказать?
1. Брокер, работающий со странами СНГ.
2. Удобная и многофункциональная платоформа.
3. И какой язык для алготрейдинга используется (достаточно гибкий, но не сильно специфический).
★8
Язык не так важен — java, python, C++. Главное — наличие API у брокера. 
Удобство платформы (терминала) и алготрейдинг — ну как бы не очень связанные вещи.

avatar

Lev

Lev, что на ваш взгляд проще освоить, написать код в платформе, или работать через API? (возможно, это у меня пережиток от MQL, и мне кажется что проще без API).
В первое время, отладки и тестов — удобство терминала тоже важно, чтобы выловить все баги (в том же MT4/5 иногда были проблемы найти ошибку).
C++ конечно интересно, т.к. есть опыт (хоть и довольно давний). Но ThinkScript покорил с первого взгляда почему-то.
avatar

A2format

A2format, на мой взгляд — только через API и стоит заморачиваться, если серьёзно подходить к алготрейдингу. Торговля внутри платформы — тупиковый путь сам по себе.

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

Ну и солидарен с комментом Евгения.
avatar

Lev

Lev, можете в двух словах сказать, почему писать код внутри платформы тупиковый путь?

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

Про TradingView — внес в to do list (незнал что можно торговать). И только что на Сматрлабе видел еще эту тему: https://smart-lab.ru/blog/535462.php
avatar

A2format

почему писать код внутри платформы тупиковый путь?

A2format, потому, как вы становитесь в зависимость от владельца платформы. Вот простой пример — можно было торговать в TDAmeritrade через TOS, а потом бабах — и лавочку прикрыли. А если это ваш основной источник доходов? Сосём лапу?

Ну и кроме таких радикальных шагов может быть куча гадостей по мелочам — поменять внутренний API, язык, сделать платными какие-то важные фичи итд. С открытым API такие фокусы не пройдут.

avatar

Lev

Lev, понял.

Согласен. Хотя вероятность падения такого монстра или таких пакостей маловероятна — и если закрыть на это глаза, то явного минуса нет?

Хотя конечно, Enron и Lehman Brothers утверждают иное, но там и своя специфика была (хотя и TDA, конечно, от такого на 100% не застрахован). 
avatar

A2format

Lev, TradingView:
Oanda, Poloniex, CQG, Forex.com
avatar

A2format

A2format, Есть рабочая не HFT торговая система? Вы проверьте… Обычно это главная загвоздка )
avatar

YuryDok

YuryDok, я понимаю о каких «трейдерах» вы говорите :)
По вопросам гвоздей — всё в порядке.
avatar

A2format

InteractiveBrokers — что-то упоминается про алготрейдинг, но про опционы. Пока так и не разобрался, какой именно язык для алготрейдинга. Или там сторонние разработки, через мост какой-то или подобное? Может, кто подскажет?

www.interactivebrokers.co.uk/ru/index.php?f=5865
У них есть API, который можно подключать к терминалу (TWS) или приложению IBGateway. Терминал придётся каждый день логинить, IBGateway — может работать продолжительное время. Этот API можно использовать из разных языков (Java/C#/C++), причём не только для опционов, но и вообще для всех инструментов, которыми можно торговать через TWS.

Также есть подключение через FIX Protocol. Берёте любой язык под который есть FIX-движок (с++/c#/java/python/go/erlang) и пишете робота. Вот тут кое-какие условия есть: https://www.interactivebrokers.co.uk/ru/index.php?f=6823&p=requiredminimums

Самый большой минус при написании своего робота с использованием IB API по сравнению с MT4/5 — отсутствие бэктестера. С другой стороны — прототипы алгоритмов и весь research можно делать в MATLAB, R и т.д., а непосредственно боевую часть робота (получение маркетдаты в реальном времени + выполнение расчётов по готовому алгоритму + выставление заявок) писать на Java/C#/C++ и интегрировать с IB API. Если грамотно спроектировать торговую платформу — не возникнет сложностей с заменой IB на любого другого брокера путём написания ещё одного шлюза.

avatar

Eugene Logunov

Eugene Logunov, спасибо за развернутый ответ. Покопаю информацию по вашей наводке. Хотя, конечно, не хотелось бы так глубоко погружаться в API/Fix Protocol, и надеюсь есть немного проще решения.

Отстуствие бэктеста при использовании IB API — это существенный минус.

Пока не могу поставить «+» ни вам ни Lev, т.к. недавно зарегистрировался.
avatar

A2format

A2format, бектесты можно гонять в MT5, в чём проблема?
Fry (Антон), если я напишу на Java, то чтобы протестить в МТ 5 — надо будет переписать всё на MQL? (не хотелось бы взвращаться на MQL).
avatar

A2format

A2format, ой, да прям там такая страшная разница! =)
Или там мегатонны кода нужны? =)
Не так уж всё это и страшно.
MT5 даёт всё больше и больше. Да, косяков до жопы, но в целом развивается. Особенно круто, что добавили возможность создавать свои торговые инструменты и вот тут уже реальная свобода появилась.
Сейчас MT5 можно даже к IB подключить без проблем (есть сервиз за деньги, а можно и самому изогнуться).

Fry (Антон), это двойная работа, а если косяк из Java перейдёт в MQL, а там еще свой косяк может быть, то будет косяк^2. Как вариант, конечно, может кому-то подойдет.

Чем меньше код, тем меньше багов.

Но лично я, ни на какой MT 4/5 MQL не хочу взвращаться. Например в Dukascopy много лет грозились ввести MT 4, но пока предлагали работать через мост стороних разрабочиков (за отдельную комиссию). Вот недавно Dukascopy прикрутили у себя МТ 4/5 (но добавочная комиссия осталась, может быть перекупили тот мост). Я лучше Java проработаю, но никаких MT (дело не в комиссии, она не большая, дело в MT).

avatar

A2format

IB грозились выйти на рынок России, но пока их не слышно.

API у них нормальный и довольно удобный.

Печально, но стандартом де-факто на нашем рынке является Квик.

Он есть почти у всех брокеров, поэтому при смене брокера ничего переписывать будет не нужно.

При некотором навыке с Квиком вполне можно работать через пару интерфейсов: 

1. trans2quik.dll

2. какую-то прослойку для LUA типа QuikSharp

 

Разумеется, всё это не имеет отношения к скоростным, высокопроизводительным системам.

 

Из языков рекомендую C# или Java.

Обратите внимание на Открытие в качестве брокера для России.

 

Возникает стандартный вопрос: «Зачем оно вам ?»

Если вы трейдер, то и занимайтесь трейдингом.

Ищите новые идеи, тестируйте и адаптируйте их.

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

На роль программиста ищите спеца.

Он сделает лучше, быстрее и дешевле(если считать все, что вам предстоит преодолеть).

 

Если вы хотите стать программистом, то ок.

Но понимайте, что вас ждёт лютая конкуренция со специалистами, которые много лет в отрасли.

Как вариант.

Хотя это больше подходит для российского фондового рынка?

> Обратите внимание на Открытие в качестве брокера для России.

Хотелось бы избежать брокеров корнями из стран СНГ.

> Если вы трейдер, то и занимайтесь трейдингом.

Есть что автоматизировать. Это и ошибки уменьшит и все сигналы отработает.

> Если вы хотите стать программистом, то ок.

Нет. Я не программист по образованию, но это не мешает мне писать (-л) на разных языках и игрулины, и симуляторы, и программы для научных проектов, и простенькие ИИ… с эим проблемы как раз нет. У меня только вопрос — какой самый оптимальный язык в соотношении гибкость/простота обучения чтобы наиболее просто прикрутить для трейдинга? (цели просто так изучить еще 9-й язык у меня нет). Если я обойдусь C++ без особых сложностей, можут вернусь на него, чтобы не городить на Java или другом языке. Но может быть, есть более интересный вариант?

> На роль программиста ищите спеца.

Заказывал простые вещи у нескольких программистов (в виду нехватки времени) — чаще негативный опыт. Кодить мне не так уж и много — сам сделаю. Хочешь сделать хорошо — сделай сам.
avatar

A2format

A2format, если вы собираетесь активно торговать Россию, то придётся связываться с брокерами из СНГ.

Одно время было у БКС офшорное подразделение, где можно было хранить деньги не заводя в Россию.

Но теперь вроде нет.

Тарас Громницкий, в общем наоборот: валюта и американские акции. Потому и вопрос был про надежных брокеров с хорошим инструментарием, но без корней из СНГ и всяких островов.
avatar

A2format

A2format, если фьючерсы на валюту, акции США и мира, то конечно Interactive brokers.

Тарас Громницкий, пока что Interactive Brokers набирает больше «+». Dukascopy не сильно отстают.

TradingView + Брокер: надо потестировать.

TOS отлично, но проблемно работать через третьи лица (если не из США).

avatar

A2format

Что такое должно было произойти, чтобы понять про тихий ужас через… долгое время. ИМХО либо это реально тихий ужас, тогда это видно сразу, либо ужас не такой уж и «реально тихий», чтобы от него так шарахаться.
MT 4/5 (MQL). Работал с этой парой долгое время (т.к. наиболее доступно), но не представлял, какой на самом деле это тихий ужас.
avatar

VladMih

VladMih, это лично моё мнение сравнивая МТ 4/5 с другими платформами. Я вас от МТ 4/5 не отговариваю. Нравится в нем работать — никто не возражает, это ваш выбор.

Вопрос был совсем про другое, а не спорить про «iOS vs Android».
avatar

A2format

A2format, где вы видите чтоб я доказывал преимущества МТ?
Там же написано ЛИБО/ЛИБО!
Это ВЫ сказали про тихий ужас, поэтому и прошу вас объяснить в чем он заключается и почему вы долго не могли его разглядеть. Или вы русским языком не владеете?
avatar

VladMih

VladMih, у вас в вообщении нет никаких либо/либо.

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

Разглядел давно. Накопилось — надоело.

> тихий ужас, поэтому и прошу вас объяснить

Давайте остановимся на варианте, что всёже сравнив с другими платформами, я увидел, что зря потратил время на МТ 4/5 MQL. 


avatar

A2format

A2format, дорогой товарищ, ты не только без мозгов, но и без глаз
Как это нет «либо/либо»? Вот цитата:
ИМХО либо это реально тихий ужас, тогда это видно сразу,
либо ужас не такой уж и «реально тихий»,
чтобы от него так шарахаться.
Так видать? Рассматривай из бани.
avatar

VladMih

VladMih, ты мне не товарищ, и не надо дописывать задним числом свои либо/либо через редактирование. Вчера твоих «либо/либо» не было. «Умник» нашёлся, затирать свои ляпы задним числом.
avatar

A2format

Наверное один из лучших вариантов с низкими комиссиями тут:
ninjatrader.com/ru/Trade
ninjatrader.com/support/helpGuides/nt8/en-us/?automated_trading.htm
Автоматический трейдинг

Создавайте и активируйте автоматические торговые стратегии, используя встроенный модуль Strategy Wizard для
непрограммистов, либо программируя на C#

avatar

besttrader

besttrader, интересно.

Плюс NinjaTrader совестим с InteractiveBrokers https://ninjatrader.com/ru/ConnectionGuides/Interactive-Brokers-Connection-Guide

Strategy Wizard — напоминает Visual JForex у Dukascopy (хотя визуально у Dukascopy выглядит более продвинуто с отрисовкой связей между блоками, что для непрограммистов наверно должно быть очень наглядно… но т.к. не работал ни там ни там, то неизвестно кто из них лучше).

Но вариант к рассмотрению весьма хороший.
avatar

A2format

A2format, вам при этом деле весьма важны будут комиссионные, а если купите или возьмете аренду  NT, то получите самые низкие комиссии на фьючерсах у брокера  ninjatrader.com/ru/

Всего $0.53 за контракт с пожизненной лицензией!
besttrader, спасибо за уточнение. Это тоже надо будет учесть.
avatar

A2format

Вам в теме изначально надо было написать, что вы форекс гоняете, чтобы не вводить комментаторов в заблуждение
avatar

Андрей К

Андрей К, для них нужны разные платформы, разные языки, разные API?

Форекс + фондовый, в комментериях уточненно. 

Если между ними кардинальная разница в кодинге под каждый, уточните пожалуйста в чём?
avatar

A2format

A2format, 
Если между ними кардинальная разница в кодинге под каждый, уточните пожалуйста в чём?

В MT5 есть, странно, что вы об этом спрашиваете.
Дмитрий Овчинников, опять МТ 5...

МТ 5 это отдельно под фондовый или отдельно под форекс?
avatar

A2format

A2format, 
погодите,  я читаю ваш пост о том, что вы долгое время работали с MQL. Если для вас не очевидно, что экзекюшн в MT5 прописан под Forex и для FORTS необходимы разнообразные «костыли», то что тогда для вас очевидно?
Дмитрий Овчинников, написать то можно, но зачем себе усложнять жизнь?
Про FORTS — речь даже не шла. Если дальше будет речь о «преимуществах» МТ 5 — то тут я сразу пас. Не интересно. Вы можете создать отдельную тему про то какой хороший МТ 5 (тем более сейчас в топе висчя несколько тем в виде «лучшая платформа в мире Метатрейдер»).
avatar

A2format

A2format, фонду вы небось тоже имеете ввиду etf на амер акции у форекс дилеров? Это из комментариев сделал вывод
Андрей К, о каких дилерах идёт речь?
avatar

A2format

A2format, 
 о каких дилерах идёт речь?
ну пусть будет вами упомянутый Дукас 
Андрей К, хотел ответить, но смотрю от темы вопроса всё дальше… честное слово, вообще нет ни желания ни времени, вообще что-то про МТ 4/5 MQL обсуждать. Создайте, пожалуйста, свою тему про МТ и обсуждайте, я туда даже заглядывать не буду. Я уже кучу времени потратил отвечая в этом посте про МТ 4/5, хотя он мне вообще не нужен.
avatar

A2format

A2format, 
честное слово, вообще нет ни желания ни времени, вообще что-то про МТ 4/5 MQL обсуждать.
не хотите, не обсуждайте. Я вас не призываю. Я лишь вам хотел сказать, что не плохо бы указывать какие рынки собрались алго торговать. Вам тут накидали с гору советов, но практически все они мимо из за того, что вы заранее это не сделали.
Если бы вы заранее написали, что вы торгуете форекс и фонда для вас — это всего лишь cfd или etf на амер акции, то комментаторы бы не тратили свое время.
Что касательно сути вопроса. Под ваши специфичные хотелки скорее всего подойдет Exante с ее fix протоколом, либо агрегаторы ликвидности для forex. Тем самым, вы отвяжетесь от терминалов и можете программировать на чем хотите под свой форекс
Ну или как уже писали, Ib
Андрей К, если для валютного, фондового нужны отдельные решения — то это не «лучшая/оптимальная» платформа/язык.
Exante — регистрация на островах.

«Тем самым, вы отвяжетесь от терминалов и можете программировать на чем хотите»

Полная отвязка от терминала предполагает дополнительный объем кодинга. Это снова не самый оптимальный вариант. И совсем отказаться от терминала — не цель. Как миниумум бы хотелось — на время тестинга и отладки чтобы был нормлаьный терминал. 
avatar

A2format

A2format, желания у вас конечно очень специфичные. На мой взгляд, тут не взяв на себя хоть какой то риск, не получится. А вы хотите и европейскую/западную регистрацию и платформу с готовым решением и чтобы минимум кодить. Может кто и подскажет такое, вдруг кто проходил
Андрей К, в этом и был главный вопрос :) Принять риск, или взять больший объем работы — не проблема. Но может кто решал подобную задачу и решил её более интересно, чем пока что получилось у меня.
avatar

A2format

В качестве языка Java слабо подходит. C# больше распространен.

Платформу лучше выбирать без привязки к брокеру, на это есть свои причины.

Из бесплатного STOCKSHARP. Что-то бесплатно, что-то платно, но по непонятным причинам богатый фондовый рынок у них бесплатно. https://stocksharp.ru/

Из платных вариантов можно посмотреть TSLAB, неплохой кубико строитель. http://www.tslab.ru/
avatar

Sergey

Sergey, в чём минус Java для подобных задач?

> Платформу лучше выбирать без привязки к брокеру, на это есть свои причины.

Lev уже высказывал подобную мысль выше. В этом есть свои плюсы и минусы.

STOCKSHARP и TSLAB — оба работают с Interactive Brokers, это плюс.

STOCKSHARP и TSLAB — еще раз внимательнее изучу (т.к. ранее показалось, что решения или навороченные или узкоспецифические, потому их решения отложил).
avatar

A2format

A2format, прочитал высказывание LEV. Подпишусь. Торговля внутри программы тупиковый путь. Сами программы вносят свои ошибки, особенности. STOCKSHARP выбрал потому, что у них есть библиотека. На её базе я сделал свою программу для торгов. Как бывший итшник, мне подходит работать с IDE для программистов.
avatar

Sergey

Sergey, а бэктест через что вы реализовывали? Через S#.Shell?
avatar

A2format

A2format, у них и бэктестер на уровне DLL. Можно к своей системе подключись. Сам проторговщик лежит на GITHUB, я внёс свои коррективы в алгоритм исполнения.

SHELL есть, но мне без необходимости. Если будете думать, нужен или нет — не берите. Их API покрывает потребности.
avatar

Sergey

Sergey, весомое уточнение. Спасибо.
avatar

A2format

TSLab

  — Алгоритмы рисуются в виде блок-схем одной левой мышкой.
  — Желающие могут дописывать для себя недостающие кубики на языке C#.
  — Платформу можно подключить почти куда-угодно
  — В ней сразу есть возможность торговать опционами. Когда надоест бегать по кругу в линейных алгоритмах — пригодится. ;-)

avatar

ch5oh

ch5oh, да, TSLAB уже выше советовали к рассмотрению.

«Желающие могут дописывать для себя недостающие кубики на языке C#»

С++ и C# чаще всего пока что озвучиваются. Java, похожде, как-то не очень жалуют под такие задачи.




avatar

A2format

A2format, 
Java, похожде, как-то не очень жалуют под такие задачи.
Всё с Джавой нормально применительно к алготрейдингу :) Это просто в открытых платформах больше c# распространён.

В профессиональном софте типа www.itiviti.com/orc роботов можно писать на Java:



A2format, джава на последнем издыхании. Джаву купил Оракл, а оракл — коммерческая организация. Насколько понял, они типа денег теперь хотят и крупные ребята с неё (с Джавы) уходят. Кто может, конечно.

 

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

avatar

ch5oh

ch5oh, java уже давно open source, в отличие от C#, и новая версия Java выходит теперь по графику раз в полгода, причем это не просто смена циферок.

https://www.tiobe.com/tiobe-index/
avatar

ПBМ

ПBМ, я C# под линуксом уже лет 10 собираю, если нужно. И что характерно все работает. Даже связка C# — GPU.

PS Кроме WPF, но там изначально микромягкие перемудрили и сами потом забросили.
avatar

ch5oh

Вот ещё, кстати, известная платформа. Роботов предполагается писать на C#/Python:
www.smartquant.com/
www.openquant.com/
avatar

Eugene Logunov


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
UPDONW