А не забацать ли нам собственную торговую платформу Смартлаба?
Только не нужно сразу кусаться. Есть идея разрабатывать платформу, либо какую-нибудь примочку, как продукт смартлаба(естественно всё на общественных началах)
Начну уже сегодня в эту сторону копать (после работы:)).
Понятно, что с++ с нативным кодом выдает более высокую производительность, но хотелось бы услышать ваше мнение по поводу использования C# и обоснование того, почему он так стал популярен среди разработчиков торговых платформ (недавно тут какая-то контора писала тоже про open source проект, + ещё платформа IT-Invest). И почему например не Java. По быстродействию точно не уступает c#, либо Cython (Python + C).
liquid_sun, занятие не из благодарных. Путь от начала, до первых нормальных (конкурентных) релизов, в компании 2-4х программистов — годы.
Если есть потенция и рвение, рекомендую сосредоточится на какой-нибудь plugin-нише. В общем взять кусочек от всего ландшафта и попытаться его вскопать.
Не знаю. Какую-нибудь рисовалку легковесную к квику или еще что то типа того. Тогда шансы подрастут из зоны «анриал» в область «наверно возможно».
liquid_sun,… ну и конечно не питон. Питон это скорее язык прототипирования, анализа данных, быстрых набросков, скриптов, верхних модулей, web, в крайнем случае — легких фреймворков (см. quantopian). Но ядра на нём всё же не пишут.
C# пока всё же не кросс-платформенный, хотя всё ближе после раскрытия исходников (моно сыроват).
Для вашей гипотетической задумки — Java и C++ остаются.
Но это утопия...
liquid_sun, вы хотя бы примерно представляете сколько человеко-часов требуется чтоб получился продукт которым хоть как то можно пользоваться? Причем качество продукта также зависит от степени профессионализма тех разработчиков, которые будут составлять эти самые «человеко-часы»
Как кодер говорю, действительно глупо и не нужно.
Сложно и долго.
очень дельный совет сделать надстройки\модули, большинство нормальных терминалов это позволяют сделать\использовать.
+ Данная разработка введет в курс писанины под торговлю, там и сами поймете.
а разрабатывать примитивный терминал, ни кому не надо.
С# он да наравне прыгает с джавой, то тот прыгает выше, то этот)
питон для таких целей вообще не рассматривать)
Никакого C++! Очень вольный язык, в котором легко наделать тучу не очевидных ошибок. Ещё не хватало потерять бабосики мз-за какого-нибудь дурацкого бага. Либо C#, либо Java. Тяготею более к первому
liquid_sun, Вы правда полагаете что если напишите на C++ оконное приложение для Windows, то потом сможете без особых усилий сделать из него сборку под Линукс?
Том Сойер, Первый раз слышу что C++ «вольный язык». С++ совершенно себе строго типизированный язык. Компилятор ни в какую не даст вам присвоить целочисленной переменной строковое значение, если вы будете явно использовать таковые. А чтобы не было очевидных ошибок давно уже придумано TDD и как минимум модульные тесты.
poseydon, Ну если уж записался в программисты то неплохо бы понять как все это безобразие в памяти происходит. :-) На C# же тоже можно так написать что сборщик мусора захлебнется.
SergeyEgorov, во многих учебниках по C# и Java есть оговорки в духе «а вот в C++ эта небезопасная конструкция работает». И таких «а вот в C++» воз и маленькая тележка
liquid_sun, а какая платформа нужна? Тестить можно в большом кол-ве софта — хоть в Метатрейдере, только решить что-то в Метатрейдере это хммм… dll в Метатрейдер и готово.
Простите, наверное я вас огорчу, но могу уверить вас в том, что ваша идея, заранее обречена на провал.
Не хочу показаться невежественным, но видимо у вас нет опыта в этой сфере. В свою очередь я имею обширный опыт. Вот немного конкретики:
У вас нет идеи, что конкретно вы собираетесь, реализовать.
Такой подход — студенческий. Вы хотите что-то сделать но не знаете что, а уже выбираете платформы, среду разработки и.т.д.
Когда у вас будет сформированно «Техническое задание», в котором будут перечислены поддерживаемые платформы, нагрузка, интеграция с площадками и/или готовыми системами — вот тогда круг выбора сократится или вообще останется только один вариант. Возможно вам придется разрабатывать комбинированную архитектуру перенося часть функционала в облако. В любом случае не с этого начинают.
А начинать вам нужно с «потребности», потребности в чем-то, спросе. А не придумывать «какую-нибудь примочку». Вы должны проанализировать спрос, количество возможных пользователей, монетизацию. И самое главное ваше решение должно быть монопольном, а не дай бог «Есть идея разрабатывать платформу,». Т.к. все байки о том что должна быть на рынке конкуренция, верны только применительно к потребителям, и не в коем случае не для производителя. Чем больше конкуренция, тем меньше (или стремится к 0) прибыль. Не буду расписывать этот момент. Скажу просто найдите статью (или перевод) и вам все станет ясно
читать:
«Питер Тиль: конкуренция – удел проигравших».
После определения потребностей, идеи продукта, монетизации нужен бизнес план. Да, без него вам никак. Или вы хотите рассмешить нас и заверить что вы «волшебная пони» и сможете найти команду альтруистов и мотивировать их идеей «все во благо»?.. Бросьте, бесплатная мотивация — живет неделю максимум две.
Для реализации проекта в сфере связанно с финансами — требуется много ресурсов. И очень грамотные специалисты, поэтому уровень дохода разработчика, архитектора, тестировщика и т.д. тут гораздо выше чем в к примеру в вебстудии или т.п. А такие специалисты знают цену своему времени и на альтруизме работать не будут. А ведь продукт дожен быть надежным, очень… Вы сможете обеспечить это? думаю нет.
Я мог бы продолжать… но пожалуй остановлюсь. Одного только первого пункта достаточно для вердикта.
Представьте что вы сам бизнес-ангел (но крохотный) и у вас есть деньги на новенький reno logan, вы копили их 5лет. Но готовы вложить в проект чтобы через какое то время заработать на BMW. Как вы будете относится к человеку который придет к вам с идеей «хочу что-то замутить, дай денег, и вот… еще на чем писать как думаешь java или C#»?
liquid_sun, Вы один не потянете, это даже не обсуждается. Нужны ресурсы => команда, возможно ПО, абонентка к платформам, возможна закупка серверов и.т.д => деньги — это априори, если вы с этим не согласны, то даже то время которое я потратил на написанное потрачено зря.
Просто Константин, ну пост был в том числе для сбора информации, Machez дал полезную инфу, мне интересно это дело, поэтому хотел услышать комментарии от людей, которые в этом разбираются, в отличии от меня) а вы все верно пишите, прямо жизненный цикл ПО)
liquid_sun, напиши сначала робота, который будет зарабатывать 100500%, а потом как деньги поднимешь подумаешь, нужна тебе платформа для смартлаба или нет)
Просто Константин, мне кажется, что Вы чрезвычайно серьёзно отнеслись к записи:) Полагаю, это романтичные мечтания и ностальгические воспоминания о тех временах, когда популярные программы писали в одиночку)
Подумать страшно сколько необходимо человеко-часов для написания простейшего глючного терминала
— шарп текуч, жорок и некроссплатформенен, хотя не так и плох на практике для многих мелких задач, он просто не оптимален в принципе, а завязка на одну фирму не вдупляет нынче народ в бизнесе
мне лично Java очень нравится.
хотя платформу для трейдинга серверную я бы наверное делал на C++
но надо понимать, что по навыкам, imho, гораздо сложнее найти сейчас C++ ника. Плюс в моё время всё дело было не в языках, а в библиотеках и рантайме. C# и JavaEE дают мощнейший стек и по работе с БД и с сообщениями, для C++ это, кмк, посложнее (но я уже не в теме).
вообще не надо делать то, что уже есть. если только нет желания сделать что-то лучше и готовности потратить на это лет 5 жизни и кучу времени и сил с неизвестным результатом.
ПBМ, спасибо, просто решил в этом направлении работать, понимаю, что далеко не самое простое. И ещё по Java: через JMS есть возможность получать котировки вообще?
liquid_sun, как в анекдоте, съисть-то он их съисть, да кто ж ему их дасть?
котировки через JMS не слышал. да и не заморачивался.
могу пропиарить свою разработку: «On-Line получение данных из Quik в Java и не только» — smart-lab.ru/blog/216370.php
liquid_sun, специализированно учится плюсам, imho, не надо, надо проблеммно ориентированно учится, есть солвер такого-то уравнения берешь и подаешь котировки в C++ и учишь C++ только в той части которая относится к задаче. Программирование «необъятно», даже если рассматривать только C++ Все imho.
liquid_sun, еще интересный платный компилятор, называется PGI compiler, который при компиляции автоматически распарралелривает код, и делает выполнение кода в GPU, стоит 200 баксов с небольшим, поддерживает он как обычно C++ и Fortrun… C# скорее всего не поддерживает, и наверное, врятле будет поддерживать. GPU интересен не для HFT, а что-бы считалось не час или два, а несколько минут или секунд.
C#, Java — надо переписывать сборщик мусора и менеджер памяти. Иначе при больших нагрузках будут реальные тормоза. Если не хочется этим заниматься, то получается C++ и Object Pascal. Если не нужна большая скорость, то можно использовать Pyton. Сам пишу на Delphi. Программу для анализа тиков написал где-то за полгода активной работы.
Ремора,
«пока россия не компенсирует убытки бошей с макдональдцами на крещатике от осколков „искандеров“ — по сто лямов за осколок + упущенная прибыль ...»
шас все со сбера и татки вылезут, вчухают новость и еще 5% как с куста, полетим вверх, рокета!
Южуралзолото вы там по ТГ каналам рекламу хоть дайте, что нибудь типа — долга больше нет, генерим б...
Alex666, уверен, кто покупает и разгонет эту долхлятину по этой цене сильно пожалеет. 100 Р. будет даже не сомневаюсь. 1). в феврале или позже всё равно придётся повышать ставку сразу до 25 %. это ...
Если есть потенция и рвение, рекомендую сосредоточится на какой-нибудь plugin-нише. В общем взять кусочек от всего ландшафта и попытаться его вскопать.
Не знаю. Какую-нибудь рисовалку легковесную к квику или еще что то типа того. Тогда шансы подрастут из зоны «анриал» в область «наверно возможно».
C# пока всё же не кросс-платформенный, хотя всё ближе после раскрытия исходников (моно сыроват).
Для вашей гипотетической задумки — Java и C++ остаются.
Но это утопия...
а терминал есть хороший — метатрейдер 4 называется
Сложно и долго.
очень дельный совет сделать надстройки\модули, большинство нормальных терминалов это позволяют сделать\использовать.
+ Данная разработка введет в курс писанины под торговлю, там и сами поймете.
а разрабатывать примитивный терминал, ни кому не надо.
С# он да наравне прыгает с джавой, то тот прыгает выше, то этот)
питон для таких целей вообще не рассматривать)
Не хочу показаться невежественным, но видимо у вас нет опыта в этой сфере. В свою очередь я имею обширный опыт. Вот немного конкретики:
У вас нет идеи, что конкретно вы собираетесь, реализовать.
Такой подход — студенческий. Вы хотите что-то сделать но не знаете что, а уже выбираете платформы, среду разработки и.т.д.
Когда у вас будет сформированно «Техническое задание», в котором будут перечислены поддерживаемые платформы, нагрузка, интеграция с площадками и/или готовыми системами — вот тогда круг выбора сократится или вообще останется только один вариант. Возможно вам придется разрабатывать комбинированную архитектуру перенося часть функционала в облако. В любом случае не с этого начинают.
А начинать вам нужно с «потребности», потребности в чем-то, спросе. А не придумывать «какую-нибудь примочку». Вы должны проанализировать спрос, количество возможных пользователей, монетизацию. И самое главное ваше решение должно быть монопольном, а не дай бог «Есть идея разрабатывать платформу,». Т.к. все байки о том что должна быть на рынке конкуренция, верны только применительно к потребителям, и не в коем случае не для производителя. Чем больше конкуренция, тем меньше (или стремится к 0) прибыль. Не буду расписывать этот момент. Скажу просто найдите статью (или перевод) и вам все станет ясно
читать:
«Питер Тиль: конкуренция – удел проигравших».
После определения потребностей, идеи продукта, монетизации нужен бизнес план. Да, без него вам никак. Или вы хотите рассмешить нас и заверить что вы «волшебная пони» и сможете найти команду альтруистов и мотивировать их идеей «все во благо»?.. Бросьте, бесплатная мотивация — живет неделю максимум две.
Для реализации проекта в сфере связанно с финансами — требуется много ресурсов. И очень грамотные специалисты, поэтому уровень дохода разработчика, архитектора, тестировщика и т.д. тут гораздо выше чем в к примеру в вебстудии или т.п. А такие специалисты знают цену своему времени и на альтруизме работать не будут. А ведь продукт дожен быть надежным, очень… Вы сможете обеспечить это? думаю нет.
Я мог бы продолжать… но пожалуй остановлюсь. Одного только первого пункта достаточно для вердикта.
Представьте что вы сам бизнес-ангел (но крохотный) и у вас есть деньги на новенький reno logan, вы копили их 5лет. Но готовы вложить в проект чтобы через какое то время заработать на BMW. Как вы будете относится к человеку который придет к вам с идеей «хочу что-то замутить, дай денег, и вот… еще на чем писать как думаешь java или C#»?
Подумать страшно сколько необходимо человеко-часов для написания простейшего глючного терминала
— на жабе TWS и TOS
www.thinkorswim.com/t/trading.html
institutions.interactivebrokers.com/en/index.php?f=1537&ib_entity=inst
— питон и так хорош, сделай обертку для плазы например, хотя это будет медленно, но удобно
ftp://ftp.moex.com/pub/ClientsAPI/Spectra/CGateCurr/
хфт-шники сами на плюсах себе напишут
— плюсы в масс-трейдинге уже есть, сделай коннектор
www.sierrachart.com/index.php?page=doc/doc_Contents.php#AdvancedCustomStudySystemInterfaceandLanguage
www.sierrachart.com/index.php?page=doc/doc_DTCProtocol.php
— шарп текуч, жорок и некроссплатформенен, хотя не так и плох на практике для многих мелких задач, он просто не оптимален в принципе, а завязка на одну фирму не вдупляет нынче народ в бизнесе
велосипеды не нужны. жаль времени.
хотя платформу для трейдинга серверную я бы наверное делал на C++
но надо понимать, что по навыкам, imho, гораздо сложнее найти сейчас C++ ника. Плюс в моё время всё дело было не в языках, а в библиотеках и рантайме. C# и JavaEE дают мощнейший стек и по работе с БД и с сообщениями, для C++ это, кмк, посложнее (но я уже не в теме).
вообще не надо делать то, что уже есть. если только нет желания сделать что-то лучше и готовности потратить на это лет 5 жизни и кучу времени и сил с неизвестным результатом.
котировки через JMS не слышал. да и не заморачивался.
могу пропиарить свою разработку: «On-Line получение данных из Quik в Java и не только» — smart-lab.ru/blog/216370.php
ruticker.com
Для себя потихоньку пишу платформу для написания роботов (пока на начальном этапе).
ruticker.com