0

Хочу написать для практики приложение для трейдинга. Пишу на C#, могу на C++. Какие технологии лучше использовать? Какие API? С чего начать и что почитать на эту тему? Может кто-то уже делал подобное поделитесь опытом. Буду благодарен.

A K
  • 28,718
Mk.S_21
  • 95
  • Какое приложение? Клиентское? Серверное? Настольное/консольное? Вебсайт? Для какого рынка? Что оно поддерживать должно? Вы бота писать собрались или какой то UI? Чем вас существующие клиенты не устроили? Чем существующие платформы для ботов не устроили? – tym32167 Feb 17 '21 at 19:45

1 Answers1

3

Мне очень приятно ответить на это вопрос... потому что я работал в компании, котрая занимается трейдингом, и сам писал ряд инструментов для игры на бирже.

По моему, прекрасно начать со SmartCOM'а. Это такая штука, котрая в приложение на Вашем компе транслирует события по конкретным инструментам. К тому же, у смарткома хорошие примеры, большой форум с ответами на вопросы и довольно толковая поддержка.

А в процессе - Вы, скорее всего, сами поймёте, что Вам еще нужно. К сожалению, дальше дорожки классических торговых стратегий и HFT расходятся, потому что используют разные технологии, но эти различия станут заметны только после углубления в тему.

Считается также, что полезно знать классические протоколы FIX/FAST, но развитие современных api делает эти знания уже не такими востребованными. Если только Вы сами не будете писать эти самые api :-)

С точки зрения используемого языка SmartCOM рассчитан на C#. Посмотрите еще StockSharp, пишется S#. Это расширение C# для работы с большим кол-вом нужных библиотек.

Но, как и в других областях разработки софта, в области "финансового программирования" есть разделение на клиентскую и серверную разработку. И если C# - это по большей части "клиентская сторона", то на серверах сейчас используется не только C++, но и Go и Rust.

С другой сторооны, давно уже есть терминалы, целиком работающие в браузере. Клиентская сторона - чистый js (ну, насколько js вообще бывает чистым)

Есть еще MetaTrаde, довольно востребованная на рынке штука, но она... в общем, как FORTRAN. Можно заработать на куусок хлеба, но удовольствия - никакого.

Успехов вам!

S.H.
  • 11,065
  • 1
  • 24
  • 46
  • А язык то какой? Тип приложения какой посоветуете? – aepot Feb 17 '21 at 19:14
  • SmartCOM рассчитан на C#. Есть еще такая штука - StockSharp, S# - это вообще целый мир. Но там тоже всё основано с C#. А вообще это очень горячая область, и испоьзуются там на серверах не только C++, но и Go и Rust – S.H. Feb 17 '21 at 19:17
  • Ну так напишите это в ответ. Видите же, что автор еще не определился со стеком технологий. – aepot Feb 17 '21 at 19:18
  • SmartCOM это компонент или программа или спецификация? Я так понял, для получения данных надо иметь конечную точку от брокера, которая поддерживает SmartCOM, верно? – tym32167 Feb 17 '21 at 19:21
  • https://iticapital.ru/software/smartcom/ – S.H. Feb 17 '21 at 19:26
  • вы правы в том смысле, что да - надо именть конечную точку того, кто будет транслировать Вам поток данных и осуществлять Ваши операции. Вряд ли, если Вы только начинаете програмимровать, вы подключитесь к бирже напрямую. Поэтому есть промежуточная организация, которая предоставляет Вам "услугу" - трансляцию данных и т.п. Разные брокеры предоставляют разные терминалы, клиенты и т.п. Я посовтовал то, с чего проще именно начать. – S.H. Feb 17 '21 at 19:34
  • Я не автор вопроса, но я вот гляжу на ваш ответ и, со всем уважением к вашему опыту, вижу что информации вы даете мало. По сути только ключевые слова для гугла. Вы приаодите какие то названия, но не поясняете ни что это, ни как с ним работать, ни ссылку на доку или что то подобное. "это вам надо, это не надо, это классика, а это 'штука'" - это все не информативно. Вот я вам напишу: есть такая фигня AAA, но вам она не нужнв, но есть BBB - вообще классика, а вот CCC может вам пригодится - вы много из этого поймете? – tym32167 Feb 17 '21 at 19:41
  • для протокола: ответ полезный даже в нынешнем виде, я просто немного предлагаю его улучшить. – tym32167 Feb 17 '21 at 19:41
  • @tym32167, вы знаете, вы угадали мои мысли. Я вот вставал от клавиатуры, и подумал, что если написать развернутый ответ - то получится статья или тоненькая книжка. Но, мне кажется, что правильные ключевые слова - это для пытливого ума не намного хуже, чем тщательно составленный ответ "от азов". Потому что автор потратил на вопрос 5 строк, а я написал уже в 10 раз больше, а если отвечу подробно - это будет еще больше в несколько раз. А потом, вопрос был - с чего начать? Как "начало" то, что я советую - это хорошая основа, которая сразу задаёт высокую планку. – S.H. Feb 17 '21 at 19:51
  • Я бы не сравнивал кодичество строк с автором, ведь вы пишете ответ не только для него, но и для всего сообщества. И подобных тем я не припомню, потому даже мне было бы полено почитать. Но вцелом да, если давать более менее основательный ответ, то получится много текста. Я сам так делал раз, два, три. Но если вы хотели донести только ключевые слова, куда копать, то ваше право. – tym32167 Feb 17 '21 at 19:57
  • @tym32167 - вы правы, и Вы меня убедили. я постараюсь расширить ответ, включив в него отвты, в том числе, на "не заданные вопросы". Правда, мне понадится немного больше времени, возможно, пара дней – S.H. Feb 17 '21 at 20:00
  • Я вас не принуждаю, пишите только если сами хотите это сделать. Пара дней это ничего, я помню, у меня этот вопрос занял две недели и мне пришлось создавать репозиторий для него на гитхабе :) – tym32167 Feb 17 '21 at 20:07