Блог им. AK1007

Какой язык программирования лучше использовать для создания роботов?

Какой язык программирования лучше использовать для создания роботов?

Qiuk + LUA / QPILE
C#
Java
MetaTrader 4/5
Другой
Всего проголосовало: 74

Прошу уделить немного Вашего драгоценного внимания и ответить на мой опрос. 

Жутко не хочется потом все переделывать и учить новый язык программирования )))) Хочется сразу же пойти правильной дорогой. Хочу заметить, что скорость работы в целом менее важна, чем удобство программирования/пользования и скорость разработки самих роботов.

Как дополнительная информация — планируется, что робот будет взаимодействовать с базами данным.
★1
41 комментарий
Присоединяюсь к вопросу.
avatar
Сначала попробуй придумать прибыльную ТС и протестируй ее хоть в экселе
Тимофей Мартынов, Что бы в экселе оттестировать нужно хотя бы VB знать.
avatar
Karim, VB не надо, VBA.. 
Сергей Гаврилов, Я имел ввиду встроенный в эксель Visual Basic 
avatar
Karim, Visual Basic — это отдельный язык, в эксел встроен Visual Basic for Application (VBA) 
Сергей Гаврилов, в любом случае его также надо изучать… Для тестов пока использую ТС Лаб
avatar
Obi Wan Kenobi, отвечу еще раз… Нужно знать один базовый язык…  Для этой цели лучше всего подходит c#… Под этот язык заточено большинство биржевой инфраструктуры… Остальные языки можно изучать как вторые языки…
Karim, 
для реально работающих систем и VBA не нужен, лишь хорошее умение работы с Экселем.
Все лучшие вещи найдены и предварительно протестированы мною в Экселе
Тимофей Мартынов, все сделано ))) Пришла пора серьезных решений.
avatar
Тимофей Мартынов, Трейдеры делятся на тех кто фонтанирует идеями, но не силён в кодинге и тех, кто считает, что технические вопросы — легкотня, идею бы интересную найти). Ну и конечно стратегии же не рождаются из пустого места, часто есть небольшая идея, общая, ты её вовремя тестирования развиваешь, допиливаешь и только по результатам тестов уже что-то вырисовывается, не всегда это готовая идея ещё до тестирования.
avatar
Зависит от торговой платформы, которую будете использовать. Если Quik, то нужно знать QLua, С++ и C#. MT4/5 там свой язык типа C#. 
Если TSLab, то можно без языков, только кубики.
avatar
Karim, MT4 типа C,  MT5 типа C++, а c# там не причем…
Сергей Гаврилов, Ну может быть, я в MT небольшой спец.
avatar
Karim, TS LAB хорошая вещь, особенно, когда хочется грубо прикинуть реальность стратегии
avatar
Obi Wan Kenobi, Один плюс — для тестов бесплатный. А так, на мой взгляд, лучше ВелсЛаба нет.
avatar
 Однозначно c#… Он поможет практически во всех случаях, остальные языки ограничены…
Платформа — QUIK, скорее всего. Не очень хочется лезть в МТ4/5
avatar
Наверное все эти варианты удовлетворяют требованиям, но с каждым свои нюансы. МТ5 не шибко популярен на бирже, но язык мощный, можно написать все что угодно. Квик и С# самый популярный. За ТС-лаб придется платить, но есть бесплатный аналог практически — StockSharp на том же языке и с теми же кубиками, как я понимаю, с возможностью бесплатного использования в случае простого подключения к Квику. Я торгую через МТ5, начал вот как раз с его языком разбираться, трех дней хватило чтобы на примерах начать писать простой индикатор. А где индикатор, там еще чуть-чуть и автомат торговли. Опыта в программировании нет, разбираюсь самостоятельно.
avatar
qlewer, благодарю! Интересный у Вас опыт! Подумаю над этим!
avatar
qlewer, долго возился с настройками StockSharp + Quik, все по букварю, но котировок так и не увидел
avatar
Vovilnik, аналогично, в какой-то момент просто пропало желание разбираться в настройках. Хотел в нем строить график синтетика реал-тайм.
avatar
Изучай любой нативный язык: с++, object pascal и т. д.
В любом случае придется изучать несколько языков программирования. Если изучать c#, то быстрый коннектор для квика не написать, придется изучать с++.
Лучше изучай: c#, lua, c++ и mql, java или питон — в такой последовательности.
avatar
Александр, благодарю!
avatar
Если придется использовать постоянно БД, как вы написали, то тогда c# или java. В остальных случаях с бд будет проблематично. Придется делать костыли, причем эти костыли придется делать скорее всего на c++, c#, java.

Самый главный минус в выборе c# и java — придется придумывать коннектор к платформе. С c# вам скорее будет проще в этом случае, так как примеров в инете полно.
avatar
Андрей К, из за базы данных тоже к этим двум больше склоняюсь
avatar
Вопрос из серии — что лучше, яблоки или помидоры.
я разрабатывал на Java, однако столкнулся с тем, что это всё-таки значительно медленный язык, медленнее чем C++, даже с учётом server JIT.
коннектор из и в Quik, что из C#, что из Java, что из любого языка в принципе не проблема. тем более что для себя я её уже решил.
а дальше уже вопрос удобства программирования и приемлемости скорости. если речь по Quik, то в принципе сильно высокие скорости не нужны. Если берутся данные свечей, то задержка от актуальной цены сделки на бирже, до появления её в квике на графике будет вряд ли меньше 250 мсек, так что соревноваться тут можно только с другими квик-клиентами, но никак не с теми умельцами, что разместились в колокации на бирже. Так что для начала лучше выбрать тот язык, который проще изучить и приятнее использовать.
Вообще всё в жизни должно быть приятно. Если это неприятно, значит вы как-то удаляетесь от задумки Творца.
avatar
ПBМ, ну в целом да, вопрос именно такой ))) По сути, обращение к опыту коллег в разных языках
avatar

если есть желание серьезно развиваться — учи C, C++

Это достаточно сложные языки, но, изучив их, ты получишь реально мощный бекграунд. Так или иначе, в алготрейдинге тяжело обойтись одним языком. Выучить после C, например, Java и Python — куда проще, чем наоборот:) 

LUA/QPILE и встроенные языки — потеря времени. Рано или поздно — потребуется более широкий функционал и тогда отсутствие библиотек и наличие ограничений платформы — будет реальной проблемой. 

avatar
 ну проще всего, наверное, выучить Python. Но с точки зрения дальнейшего развития, как девелопера — python не самый удачный первый язык. 
avatar
Делайте на Delphi и будет вам профит
avatar
Электромонтёр, Не согласен). У всех разный склад ума, разная память в конце концов)). Мне тоже ближе иметь один универсальный инструмент и владеть им в совершенстве, чем под разные задачи изучать по верхам новые инструменты. Тут нет ничего такого).
avatar
 Коллега). Мне тоже размер оперативки не позволяет хорошо разбираться в нескольких языках, тоже был постоянно в поиске того самого языка)), Выбрал C#. Пока в процессе освоения, хотя кое-что уже умею. Тоже пока тэщщу в TSLab, но юзаю платформу  больше из-за реализации самой торговли, тестить было прикольней в Wealth-Lab).
avatar
Электромонтёр, благодарю за интересное мнение! HFT точно не рассматриваю, это уже слишком
avatar
Электромонтёр, c++ — перебор для меня). C# — самое оно. В совершенстве — имеется в виду относительное совершенство в соответствии с решаемы и задачами. Ну а уровень сложности кодинга при этом зависит от задач опять же — алгоритм на индикаторах написать или там свечной паттерн — полевая задача, синтегрироваться с биржей уже сложнее, написать бэктестер, закодить алго на машинном обучении тоже не так просто, написать оптимизатор со сложной внутренней логикой и вообще писать что-то масштабное сохраняя его поддерживаемых, масштабируемым, устойчивым к ошибкам не так просто. Я понимаю, что изнутри своей конкретной позиции сложно ставить себя на чьето место, но да, есть люди, у которых поток интересных идей торговых, а сложности именно на этапе реализации.
avatar
Электромонтёр, ну это да, но этими черными ящиками с той же логикой можно и торговать)
avatar
писать нужно на «родном языке». такой обычно один — который лучше всех знаешь.
avatar

никаких «роботов» не существует. есть программы. дебильное слово робот предполагает что это что то, за человека будет все делать. нифига! придется пов#%$вать!

avatar

теги блога Alex_owk

....все тэги



UPDONW