Понятно, что варианты ответов могут не совсем правильно передавать суть. Т.к., например, StockSharp может использовать коннектор для QUIK.
Поэтому, если решите принять участие в опросе, по возможности указывайте ту платформу, API которой служит основой для разработки роботов.
В вариантах ответов не указал SmartCom (возможно, зря), поскольку, по-моему мнению, использование этой библиотеки ближе к варианту самописной платформы.
Как новичек написал Amibroker, т.к.:
1. Программа простая для понимания
2. Внутренний язык простой. Тысячи примеров программ на официльном сайте. Я как не программист смог достаточно бысто изучить его и написать первого робота.
3. Хорошее русское сообщество на Amisite, где всегда помогут советом. Так, например, мне там помогли найти коннектор к R, чтобы в Amibroker использовать весь функционал R.
4. С помощью AmiSharp коннектится к Quik и работает стабильно. Из Quik можно получать тики. Пробовал запускать типа hft: если три последовательных тика увеличиваются, то покупаем на 4-м по рынку. Продаем также. В целом работает, но из-за скорости Quik имеется большое проскальзование. Так, что лучше реализовывать идеи на минутках и выше.
В целом. При использовании Amibroker проблема не в программировании, а в поиске идеи для системы.
Вы бы объединили все пункты про самописную. Потому что споры какой язык программирования лучше — это из «другой оперы». Тут «на вкус и цвет...». Ответ то в этом случае простой: на каком лучше получается, на том и пиши. Вот я, например, С# взял только потому, что имел опыт программирования на С++ под MS-DOS в конце 80-х-начале 90-х. Но сказать, что-то использовал из его новомодной объектной ориентированности, не могу. Единственное, что я освоил в нем новое — это закачку данных из базы данных.
Присоединяюсь к мнению уважаемого А.Г.
Лучшая платформа для алготрейдинга та, с которой трейдер умеет эффективно работать.
Сам пока пишу на QLua, но активно изучаю C# (опять же в связке с квиком). Что будет через 5-10 лет? Доживем — увидим…
Коробочные решения — более универсальны. И, возможно, будут удобны для большинства алгоритмов. Вы сразу решаете проблему с тестированием и отладкой ядра.
Но универсальность иногда урезает необходмый функционал и скорость работы. Писать что-то свое нужно на этапе, когда есть четкое понимание что писать, как и для чего.
Alex Hurko, судя по картинке из профиля, на Python программируешь :) Причём используется какой-то локальный сервер с котировками, работающий по REST. В чём смысл? Почему взаимодейтвие не напрямую с БД происходит?
professor facepalm, на python только тестирую. Набросать алго там намного быстрее, нежели на C#. Ну во всяком случае мне:) На локалхост котировки отдает API датафида (ActiveTick), по многим причинам мне удобнее юзать HTTP запросы для закачки котировок в MongoDB. Дальше я работаю уже с БД. То, что торгуется в основном работает на C#. Меньше проблем с интерфейсом + API терминала на C#. Но кое-что есть торгующее из питона и экселя. Все зависит от задач.Нет смысла писать нечто громоздкое ради 5 сделок в неделю.
Игорь, и сейчас пользуюсь. В любой связке есть тонкие моменты, ограниченные функционалом платформы. Увы, есть стратегии которые проще полностью переписать.
professor facepalm, можно. Но это костыль. Iron Python не очень удачное решение из-за скорости и отсутствия поддержки многих питоновских либ. А связка питон + либа + сишарп имеет ряд недостатков. Например, проблема с ивентами. и тд.
Alex Hurko, «А связка питон + либа + сишарп имеет ряд недостатков. Например, проблема с ивентами. и тд.»
Ну это скорее не проблема, а задача. Решается она без особых сложностей. Вариантов много. Один из самых простых — это использовать redis (in-memory key-value database). Если конкретнее, то: redis.io/topics/pubsub
Суть в том, что из python можно подписаться на сообщения в БД по определённому адресу. И когда C# будет отправлять туда данные, то на стороне python'а они будут автоматически появляться. Нужно лишь поверх этого спроектировать простенький протокол (например, на основе json'а).
Есть и другие варианты: zeromq, grpc (точно не уверен), rest-сервер с вебсокетами.
professor facepalm, это собственно позволеят также перенести разработку всего того, что связано непосредственно с торговлей, на линукс. Оставив на винде только часть, взаимодействующую с redis и api терминала. Если, конечно, разработка на линуксе имеет какое-то занчение.
professor facepalm, да, это все возможно. Просто зачем извращаться, когда есть полноценное АПИ терминала на C# и АПИ датафида на C#? )) Если работать без терминала под FIX, тогда и потребности в C# не будет как-таковой. Там уже выбор больше и в плане языков и плане ОС. Универсального решения я думаю что нет. Все зависит от потребностей, скоростей, функционала и тд. Если оно работает в вба, то пускай работает в вба, усложнять не нужно:)
Alex Hurko, «да, это все возможно. Просто зачем извращаться»
Затем, чтобы робота надо было только один раз писать и с тестов можно было сразу запускать на реальной торговле. Без переписывания с python на другой язык и привязывания к api терминала/брокера.
professor facepalm, в идеале звучит хорошо. Но у меня так не получается. Практически под каждый алго приходится писать свой движок. Алгоритмы очень специфичны, увы. Проблема одного движка в том, что поменяв одно — начинает сыпаться другое. Больше времени уходит на отладку и тд. Но у меня опять же очень специфичные алго, там нет buy on the next bar и тд. В каждом есть своя проблема, свой прсчет, свои данные… Поэтому я и начал с того, что нужно сначала коробочные решения поюзать. Но увы я не видел ни одного универсального решения, которое могло бы сразу покрыть хотя бы 60% моих потребностей. И сам я тоже вряд ли смогу запихать все в одну коробку. Как-то так.
EUR/USD: Пан или пропал? Ретест треугольника ставит ультиматум
Европейская валюта, протестировав сопротивление 1.1918, повторно устремилась вниз для ретеста пробитой границы треугольника. На этот раз касание трендовой линии выглядит максимально уверенным....
Друзья, привет! Продолжаем делиться своими результатами. 🚀 По данным Главстройнадзора МО , мы стали лидером по объемам ввода жилья в Подмосковье в 2025 году! Всего за год в Московской...
Россети Ленэнерго. Отчет об исполнении инвестпрограммы за Q4 2025г. Опасения оправдались - обесценение съело прибыль
Компания Россети Ленэнерго опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по РСБУ в 4 квартале (ну и понятно за целый год):...
ivbg.ru/8420596-v-ssha-zayavili-o-stremlenii-amerikanskih-kompaniy-vernut-sya-v-rossiyu.html. Если так то может быть и снимут санкции, но это думаем не скоро будет все равно
СМИ: президентские выборы на Украине могут пройти осенью 2026 года
МОСКВА, 21 фев — РИА Новости. Президентские выборы на Украине могут пройти уже осенью 2026 года, а парламентские — весной 2027 г...
Сокол, Можно сливаться если произошёл технический дефолт эмитента, а если всё отлично, то НЕ вижу смысла куда то уходить. Сейчас за три месяца придёт купон то снова реинвестирую в Л-Старт 02 тем бо...
sasa sasa, берите пример с молодого Жириновского. Ему ТОГДА надоело все ЭТО терпеть, и он стал политиком, создал свою партию, вошел в историю.
Делайте так же! Мы за вас проголосуем:)))
1. Программа простая для понимания
2. Внутренний язык простой. Тысячи примеров программ на официльном сайте. Я как не программист смог достаточно бысто изучить его и написать первого робота.
3. Хорошее русское сообщество на Amisite, где всегда помогут советом. Так, например, мне там помогли найти коннектор к R, чтобы в Amibroker использовать весь функционал R.
4. С помощью AmiSharp коннектится к Quik и работает стабильно. Из Quik можно получать тики. Пробовал запускать типа hft: если три последовательных тика увеличиваются, то покупаем на 4-м по рынку. Продаем также. В целом работает, но из-за скорости Quik имеется большое проскальзование. Так, что лучше реализовывать идеи на минутках и выше.
В целом. При использовании Amibroker проблема не в программировании, а в поиске идеи для системы.
Сейчас смотрю в сторону C# и S#.
Нет никаких споров.
Дело не в этом. Как уже написал, я использую С#, но не поручусь, что это лучше, чем самописная, например на R.
Лучшая платформа для алготрейдинга та, с которой трейдер умеет эффективно работать.
Сам пока пишу на QLua, но активно изучаю C# (опять же в связке с квиком). Что будет через 5-10 лет? Доживем — увидим…
Но универсальность иногда урезает необходмый функционал и скорость работы. Писать что-то свое нужно на этапе, когда есть четкое понимание что писать, как и для чего.
Можно ведь коннектор написать. Тогда сразу после тестирования стратегии можно будет запускать python-робота на реальной торговле.
Ну это скорее не проблема, а задача. Решается она без особых сложностей. Вариантов много. Один из самых простых — это использовать redis (in-memory key-value database). Если конкретнее, то: redis.io/topics/pubsub
Суть в том, что из python можно подписаться на сообщения в БД по определённому адресу. И когда C# будет отправлять туда данные, то на стороне python'а они будут автоматически появляться. Нужно лишь поверх этого спроектировать простенький протокол (например, на основе json'а).
Есть и другие варианты: zeromq, grpc (точно не уверен), rest-сервер с вебсокетами.
Затем, чтобы робота надо было только один раз писать и с тестов можно было сразу запускать на реальной торговле. Без переписывания с python на другой язык и привязывания к api терминала/брокера.