﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Торговые роботы. С чего начать. Общие вопросы</title>
  <id>~/topic/341/torgovye-roboty_-s-chego-nachat_-obshshie-voprosy/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-11T07:08:39Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=341" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/151/</id>
    <title type="text">Перед человеком, решившим встать на путь алготрейдера, встает важный вопрос: какую площадку для тест...</title>
    <published>2012-08-27T19:43:05Z</published>
    <updated>2016-07-28T17:57:34Z</updated>
    <author>
      <name>M.Kovaleva</name>
      <uri>https://stocksharp.ru/users/5979/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Перед человеком, решившим встать на путь алготрейдера, встает важный вопрос: какую площадку для тестирования и создания торгового робота выбрать? Согласитесь, будет обидно потратить несколько месяцев на освоение инструмента, после чего осознать его непригодность. В этой статье я постараюсь затронуть все основные направления в роботостроении и ответить на большинство вопросов начинающего алготрейдера. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;div align="center"&gt;Учить язык программирования или использовать визуальный редактор?&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;Во многих программах для тестирования торгового робота и, тем более, непосредственно для его написания, требуется знание языка программирования. Изучение языка программирования в наших умах – дело сложное и не скорое, поэтому в поиске более легких путей начали разрабатываться визуальные редакторы. Есть отличная статья, которая отражает всю суть визуальных редакторов. Выдержка из &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-bUuAUyXzEd_C9alcBcnJC9VNGYHxvN9GeRf1zXjRqB1BZNSv8i_zbwUXMxoVroF1" title="http://stocksharp.blogspot.com/2011/02/blog-post_19.html"&gt;&lt;span style="color:green"&gt;&lt;b&gt;статьи&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;: &lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;em&gt;&amp;#171;В чем причина провальности таких решений? В направлении. Людям, которые только изучают программирование, визуальный редактор только навредит. Он дает первоначальный вау фактор, который исчезает уже ко второму дню использования. Через неделю, код будет выглядеть как на картинке. И вот тут как раз и происходит крах такого подхода. Они были призваны упростить программирование. А вместо этого, происходит усложнение. И более того, код в текстовом файле начинает занимать значительно меньше места, чем вся эта мега-диаграмма, не влезающая аж 8 мониторов. А уж как ее тестировать - у-у-у-у. Это отдельная тема мазохизма.&amp;#187;&lt;/em&gt; &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;div align="center"&gt;Выбор языка программирования&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;Изучить язык программирования будет сложнее, чем освоить визуальный редактор, но если у Вас серьёзные намерения, это правильный выбор. Но языков программирования много, какой выбрать? Основные языки, на которых пишут роботов:&lt;br /&gt;• &lt;span style="color:green"&gt;&lt;b&gt;QPILE – встроенный язык в терминале QUIK&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;• &lt;span style="color:green"&gt;&lt;b&gt;VBA Excel&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;• &lt;span style="color:green"&gt;&lt;b&gt;Delphi&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;• &lt;span style="color:green"&gt;&lt;b&gt;C#&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:green"&gt;&lt;b&gt;&lt;div align="center"&gt;QPILE&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Трудно выделить какие-либо существенные плюсы в этом языке программирования, другие языки существенно превосходят его по функциональности, возможностям и другим параметрам. Его широкое распространение связанно с тем, что до недавнего времени не существовало альтернативы, а также с тем, что терминалом QUIK пользуются большинство трейдеров и, соответственно, qpile на слуху. Единственный плюс, вытекающий из популярности qpile – довольно просто получить тех. поддержку на форумах. На qpile можно написать робота, тестировать торговые стратегии нельзя. Я не советую использовать этот язык. &lt;br /&gt;&lt;span style="color:green"&gt;&lt;b&gt;&lt;div align="center"&gt;&lt;br /&gt;VBA Excel&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;В целом те же замечания, что и в qpile. Функционал чуть шире, но пользуются им небольшое количество трейдеров, а значит тех. поддержку получить сложно. &lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="color:green"&gt;&lt;b&gt;Delphi&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Язык функциональный, на нем Вы сможете реализовать практически любую задачу, которая встанет перед Вами. Но абсолютно все придется писать самому, к тому же поддержки в виде форумов и других ресурсов нет или практически нет. Отсутствие тех. поддержки и необходимость писать весь код самому делает этот язык непривлекательным. &lt;br /&gt;&lt;br /&gt;&lt;span style="color:green"&gt;&lt;div align="center"&gt;&lt;b&gt;C#&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;С# (разработан Microsoft) выделяется по всем параметрам. Функциональность, простота и надежность сделали его фаворитом для большинства платформ для тестирования торговых стратегий. WealthLab, TS-Lab в качестве внутреннего языка программирования используют именно его. Возможность написания библиотек на C# существенно ускорила и облегчила написание торгового робота. Что такое библиотека? Представьте себе, что Вам нужно написать код, который будет выставлять заявку на рынок. Код будет состоять из 100 строк, на написание и отладку которых уйдет N-е количество времени. Теперь представьте, что кто-то уже написал этот код и теперь Вы можете воспользоваться им, написав одну строчку. Библиотека – это множество кодов, написанных проф. программистами. Библиотека StockSharp содержит все коды, которые нужны для разработки торгового робота. Таким образом, Вы экономите время на написание и отладку кода. Раньше каждый писал библиотеку для себя, для этого нужно иметь приличный опыт программирования. Теперь любой может использовать плюсы языка C#, не являясь проф. программистом. На нашем форуме оперативно отвечают на вопросы, Вы всегда сможете получить тех поддержку от первых лиц. Что мы имеем в итоге: выучив C# у вас нет привязки к какой-то одной платформе, язык используется повсеместно. На нем можно тестировать торговые стратегии как интрадей (WeathLab), так и HFT (StockSharp). Написание торговых роботов - можно самостоятельно писать свой код, можно воспользоваться библиотекой S#.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Рекомендуем ознакомиться:&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-bUuAUyXzEd_C9alcBcnJC4CWsY35mA4olsB5sCWKx7ZtHGA6fAcUdZmv44qxG8TL" title="http://stocksharp.blogspot.com/2010/07/blog-post_12.html"&gt;Небольшая статья о выборе языка программирования.&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:green"&gt;&lt;div align="center"&gt;Создание торговых роботов условно можно разделить на два этапа:&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;1 — тестирование торговой системы;&lt;br /&gt;2 — воплощение торговой системы в виде робота. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;div align="center"&gt;1. Тестирование торговой стратегии&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;Тестирование торговых систем призвано доказать прибыльность системы, найти её минусы и подсказать способы улучшить систему. Я выделю три основных платформы для тестирования:&lt;br /&gt;&lt;b&gt;WealthLab&lt;/b&gt; — cтабильная, удобная в использовании платформа. Подойдет для тестирования внутридневных стратегий, среднесрочных, долгосрочных, тестирования на портфеле бумаг. WLD - oдно из лучший решений на данный момент. В WLD — нельзя тестировать HFT стратегии. Внутренний язык программирования в WLD — C#.&lt;br /&gt;&lt;b&gt;TSLab&lt;/b&gt; — тот самый визуальный редактор, о котором мы говорили в самом начале. Алгоритм представлен в виде блок-схемы. Разработка относительно новая, поэтому имеются некоторые проблемы с тестированием и расчетами, хотя в последнее время проблем стало значительно меньше. Основной минус визуальных редакторов мы уже затрагивали. Если выбирать между TSLab и WLD, выбор очевиден.&lt;br /&gt;&lt;b&gt;StockSharp&lt;/b&gt; – возможность тестирования HFT стратегий. В скором времени появится полноценная графическая среда (&lt;b&gt;StockSharp Studio&lt;/b&gt;) для тестирования всех видов систем.&lt;br /&gt;Другие платформы для тестирования: Metastock, amibroker, OpenQuant. &lt;br /&gt;&lt;br /&gt;Дорогие друзья, время не стоит на месте, торговые платформы меняются и развиваются. Сегодня октябрь 2013 года и мы представляем вам новый, пересмотренный подход к выбору платформы для торговых роботов. Мы стараемся давать вам полную информацию, чтобы вы смогли сделать справедливый выбор, поэтому предоставляем вам ссылки на следующие статьи:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAA2yfrIEFA2fDVyAojw8E_PDc5cFTuo78l3-ivBOywzBoA6W7vX7HOFueibmX7kP5s" title="http://rusalgo.com/article/what-to-choose"&gt;Какую платформу для торговых роботов выбрать: TSLab,WealthLab,StockSharp?&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAA2yfrIEFA2fDVyAojw8E_PdvMSjNSG-j5kOGYaXyejmojXsRylRFzPJCVhhRevrjearqmiy818CCGV9K_e0J4Z" title="http://rusalgo.com/article/stocksharp-yes-or-not"&gt;StockSharp (СтокШарп) – Торговые роботы. Стоит ли выбирать?&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;В этих статьях вы ознакомитесь с текущим положением дел.&lt;br /&gt;Мы умеренно сообщаем вам об этом сейчас, когда вы уже прочитали половину статьи, с той целью, чтобы вы прочувствовали, как меняются технологии с течением времени. Но, с другой стороны, вы можете убедиться, что наш основной совет – изучать C# – остался прежним. Этот совет становится даже более актуальным, т.к. и  в TSLab API используется C#!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;div align="center"&gt;2. Воплощение торговой системы в виде робота&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;Торговые роботы реализуются двумя путями:&lt;br /&gt;1 — тестирование стратегии на WealthLab (WLD), а реализация робота на qpile.&lt;br /&gt;Минус такого подхода – надо знать два языка программирования: C# для WLD и qpile для QUIK.&lt;br /&gt;2 — к программе для тестирования торговых систем приделывается коннектор.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Второй путь:&lt;/b&gt;&lt;br /&gt;Робот пишется на платформе для тестирования торговых систем и подсоединяется к торговому терминалу через коннектор. Удобство такого метода должно состоять в том, что после тестирования торговой стратегии Вы можете сразу вводить робота в эксплуатацию. Так задумывалось, но не всегда так бывает. Возникают различные сложности, природа которых лежит в том, что программы для тестирования стратегий создавались для тестирования, а не использования их в виде торговых роботов. Например, отсутствие обратной связи, когда после выставления заявки нельзя проверить её статус – была она исполнена или не дошла из-за разрыва интернета. Сами коннекторы чаще всего самописные, что делает связку &amp;quot;торговый робот/платформа&amp;quot; нестабильной. Для 6го WealthLab есть коннектор, написанный брокерской компанией Церих; коннектор платный - 50 рублей в день. Издержки, сопоставимые с платой за Интернет, и есть какая-то уверенность стабильной работы. Все же этот путь тупиковый: программа для тестирования стратегий накладывает сильные ограничения на функционал робота, поэтому вернемся к первому способу, когда реализация торгового робота осуществляется на языке программирования. В этом случае функционал робота ограничивается лишь возможностями языка программирования, а значит, почти не ограничен.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Первый путь:&lt;/b&gt;&lt;br /&gt;Совсем не обязательно знать два языка программирования, если Вы прислушались к совету и выбрали C#. Тестирование торговых систем идет на WLD, там пишется код на C#, потом этот же код с минимальными изменениями переносится в инфраструктуру робота, написанного на C# с использованием библиотеки StockSharp. Правильный выбор языка позволяет использовать нам лучшие решения. Функционал робота неограничен по сравнению с первым случаем. Есть возможность обратной связи (отслеживания состояния робота), автоматическое переподключение при разрыве и т.д.&lt;br /&gt;Ниже показан &lt;b&gt;пример интерфейса торгового робота, написанного с использованием библиотеки StockSharp&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Из этого окна осуществляется запуск и навигация по роботу. При нажатии кнопки &amp;quot;Старт&amp;quot; робот запускают все прописанные торговые терминалы, логинится и выполняет подключение к данным.&lt;br /&gt;&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/102067/2222.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102067/2222.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если нужно добавить новый терминал – заходим в настройку.&lt;br /&gt;&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/102068/3333.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102068/3333.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Редактирование настроек робота без вмешательства во внутренний код.&lt;br /&gt;&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/102069/4444.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102069/4444.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Робот отчитывается о своих действиях, пересчет алгоритма идет с заданной вами частотой.&lt;br /&gt;&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/102070/5555.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102070/5555.png?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;Итог&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Знание языка программирования открывает перед нами широкие возможности. Выбор С# позволяет использовать лучшие решения и не привязываться к определенному продукту. Практически все продукты, связанные с тестированием ТС и созданием роботов, используют C#. Тестирование стратегии лучше всего делать в WealthLab. Реализовывать робота лучше всего, используя библиотеку S# - мы экономим своё время и упрощаем задачу написания торговых роботов. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;div align="center"&gt;Успехов на рынке!&lt;br /&gt;Торговые роботы Stock#&lt;br /&gt;Горбунов Алексей &lt;/div&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://stocksharp.com/doc/" title="http://stocksharp.com/doc/"&gt;&lt;span style="color:green"&gt;&lt;b&gt;Ознакомиться с документацией к библиотеке S# можно здесь.&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>