﻿<?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">Блог. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=blog&amp;page=26</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-22T08:49:05Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=blog&amp;page=26" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/363/</id>
    <title type="text">Tорговые роботы. Full Orders Log.</title>
    <published>2012-03-13T14:36:51Z</published>
    <updated>2017-05-29T11:56:08Z</updated>
    <author>
      <name>StockSharp</name>
      <uri>https://stocksharp.ru/users/341/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Алготрейдинг" />
    <category term="Торговые роботы" />
    <category term="Статьи" />
    <category term="OrderLog" />
    <category term="Ордер лог" />
    <content type="html">&lt;p&gt;Здравствуйте. В этой статье мы расскажем Вам, что такое Full orders log, как он выглядит, для чего используется, и какую интересную информацию можно в нем увидеть. Начнем с определения и общих понятий и свойств. После этого поговорим о том, как можно использовать ордер лог для создания торговых роботов.
Full orders log (в статье будем использовать сокращение FOL) — это список всех заявок с полной информацией по каждой заявке. Еще его называют анонимным ордер логом (анонимная рыночная информация), т.к. из всей информации о заявке в нем не доступен только номер счета клиента, пославшую эту заявку. Как вы понимаете, эта информация конфиденциальна. Ордер лог, это самый глубокий и детальный уровень информации, который доступен трейдеру.
&lt;strong&gt;Полный список полей таблицы orders_log&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Поле Тип Описание&lt;/p&gt;
&lt;p&gt;replID i8 Служебное поле подсистемы репликации&lt;/p&gt;
&lt;p&gt;replRev i8 Служебное поле подсистемы репликации&lt;/p&gt;
&lt;p&gt;replAct i8 Служебное поле подсистемы репликации&lt;/p&gt;
&lt;p&gt;id_ord i8 Номер заявки&lt;/p&gt;
&lt;p&gt;sess_id i4 Идентификатор торговой сессии&lt;/p&gt;
&lt;p&gt;client_code c7 Код клиента&lt;/p&gt;
&lt;p&gt;moment t Время изменения состояния заявки&lt;/p&gt;
&lt;p&gt;status i4 Статус заявки&lt;/p&gt;
&lt;p&gt;action i1 Действие с заявкой&lt;/p&gt;
&lt;p&gt;isin_id i4 Уникальный числовой идентификатор инструмента&lt;/p&gt;
&lt;p&gt;dir i1 Направление&lt;/p&gt;
&lt;p&gt;price d16.5 Цена&lt;/p&gt;
&lt;p&gt;amount i4 Количество в операции&lt;/p&gt;
&lt;p&gt;amount_rest i4 Оставшееся количество в заявке&lt;/p&gt;
&lt;p&gt;comment c20 Комментарий трейдера&lt;/p&gt;
&lt;p&gt;hedge i1 Признак хеджевой заявки&lt;/p&gt;
&lt;p&gt;trust i1 Признак заявки доверительного управления&lt;/p&gt;
&lt;p&gt;ext_id i4 Внешний номер&lt;/p&gt;
&lt;p&gt;login_from c20 Логин пользователя, поставившего заявку&lt;/p&gt;
&lt;p&gt;broker_to c7 Код FORTS фирмы-адресата внесистемной заявки&lt;/p&gt;
&lt;p&gt;broker_to_rts c7 Код RTS фирмы-адресата внесистемной заявки&lt;/p&gt;
&lt;p&gt;date_exp t Дата истечения заявки&lt;/p&gt;
&lt;p&gt;id_ord1 i8 Номер первой заявки&lt;/p&gt;
&lt;p&gt;broker_from_rts c7 Код РТС клиента — владельца заявки&lt;/p&gt;
&lt;p&gt;id_deal i8 Идентификатор сделки по данной записи журнала заявок&lt;/p&gt;
&lt;p&gt;deal_price d16.5 Цена заключенной сделки&lt;/p&gt;
&lt;p&gt;local_stamp t Локальное время пользователя&lt;/p&gt;
&lt;p&gt;Онлайн данные по full_orders_log можно получать через шлюз Plaza2. До 17 февраля 2012 года по Plaza2 была доступна информация только по рынку ФОРТС, с 17 февраля Биржа ММВБ – РТС  начала трансляцию анонимной рыночной информации по Валютному рынку и Фондовому рынку в секторе Основной рынок.
Таким образом, через шлюз Plaza II будет доступна информация  по следующим рынкам:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cрочный рынок FORTS&lt;/li&gt;
&lt;li&gt;Фондовый рынок в Секторе рынка Standard&lt;/li&gt;
&lt;li&gt;Валютный рынок в режиме РТС Money&lt;/li&gt;
&lt;li&gt;Фондовый рынок в Секторе Основной рынок&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Сохранять ордер лог, обрабатывать и создавать торговых роботов на его основе, вы можете с помощью библиотеки StockSharp. 11 марта StockSharp был сертифицирован биржей РТС для работы с Plaza II.&lt;/p&gt;
&lt;p&gt;Файл с сохраненными данными FOL выглядит примерно следующим образом. Вид из FAR'a.
Tорговые роботы. Full Orders Log Рис.1
&lt;img src="/file/101757/ордер-лог-картинка-1.png" alt="роботы" /&gt;&lt;/p&gt;
&lt;p&gt;Формат данных может немного различаться, зависит от настроек программы, через которую вы его получаете, которая может трансформировать данные, для приведения их к более удобному виду. Например, в изначальном варианте инструменты обозначаются с помощью isin_id i4 Уникальный числовой идентификатор инструмента (8й столбец на картинке) Помимо ордер лога, по шлюзу Plaza2 передается и другая информация, среди которой fut_sess_contents, где мы можем посмотреть соответствие  числовых идентификаторов названию контактов. Например, isin_id = 242176 будет соответствовать контракту RIH2. Таким образом, мы можем преобразовывать вид данных. В этой статье Вы столкнетесь с картинками, где они будут немного различаться.&lt;/p&gt;
&lt;p&gt;Из всего перечня передаваемых данных я бы выделил следующие столбцы. Далее я дам им свои названия, которыми буду пользоваться в дальнейшем.&lt;/p&gt;
&lt;p&gt;Symbol – название инструмента = isin_id&lt;/p&gt;
&lt;p&gt;Type – покупка/продажа = dir&lt;/p&gt;
&lt;p&gt;ID - уникальный номер заявки = id_ord&lt;/p&gt;
&lt;p&gt;Moment - время изменения состояния заявки  = moment&lt;/p&gt;
&lt;p&gt;Volume – количество лотов = amount&lt;/p&gt;
&lt;p&gt;Price – цены по которой выставляли заявку = price&lt;/p&gt;
&lt;p&gt;Action Действие с заявкой  - выставление  1/удаление  0 /сделка 2 = action&lt;/p&gt;
&lt;p&gt;ID_Deal - уникальный номер сделки = id_deal&lt;/p&gt;
&lt;p&gt;Price_Deal – цена по которой прошла сделка = deal_price&lt;/p&gt;
&lt;p&gt;В отформатированном виде ордер лог будет выглядеть примерно так.
Tорговые роботы. Full Orders Log Рис.2
&lt;img src="/file/101746/ордер-лог-картинка-2.png" alt="роботы2" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Как хранить и обрабатывать FOL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;На данный момент (2012 год), файл с ордер логом с данными по всем инструментам срочного рынка весит порядка 4-5 гигабайт за один торговый день.  По инструменту RTSi, порядка 1 гигабайта за один день. В одном дне RTSi содержится порядка 8-10 млн строк, из них сделок 600-800 тысяч строк.
1 гигабайт или 9млн строк за день, довольно внушительный объем данных. Поэтому появляется вопрос, как лучше работать с таким объемом данных? По сути, оредр лог представляет собой базу данных, поэтому для его обработки и хранения можно использовать программы для создания и хранения БД. С помощью языка SQL мы можем обрабатывать данные, выводить нужные нам информация и производить расчеты.  SQL проще чем C#, т.к. имеет узкую специализацию, поэтому его легче освоить, но использовать его для других целей проблематично.  Писать робота нужно на C#, для вспомогательных целей при работе с ордер логом использовать SQL.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Торговые роботы на основе ордер лога.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Как уже было сказано, создавать торговых роботов на основе ордер лог можно с помощью stocksharp.
Plaza2 + FOL дают высокую скорость и все необходимые данные для создания и работы высокочастотных роботов. Тут и добавить больше нечего, бери да делай. Если же говорить о тестировании высокочастотных роботов на истории, то нам необходимы стаканы и все сделки. И стаканы и сделки можно сохранять отдельно от FOL через другие каналы. Но, стаканы и сделки не синхронизированы, т.е. мы можем получить такую ситуацию, когда те или другие данные пришли с запаздыванием, в итоге сделка будет относиться к стакану, который был несколькими секундами ранее или позднее. Например, при стакане с офером на 160 600 проходит сделка на покупку 160 700. Ордер лог может избавить нас от такой проблемы, с его помощью можно получить синхронизированный со сделками стакан.
Еще такой момент по тестированию. Если вы захотите ознакомиться с FOL, вы можете скачать месяц бесплатной истории на сайте РТС. На Рис.2 как раз пример исторических данных с сайта РТС. Там вы можете увидеть момент времени, когда заявка пришла в систему, но! Когда заявка пришла к вам на компьютер, там не показано. Нам же, для формирования стаканов, нужно знать какими пачками и в какое время мы получали данные. Поэтому, когда мы сохраняем информацию на домашних компьютерах, дополнительно появляется метка времени, когда заявки дошли до нас.&lt;/p&gt;
&lt;p&gt;Tорговые роботы. Full Orders Log Рис. 3&lt;br /&gt;
Добавлена метка с временем получения данных на компьютер
&lt;img src="/file/101747/ордер-лог-картинка-3.png" alt="роботы3" /&gt;&lt;/p&gt;
&lt;p&gt;На сайте РТС, история ордер лога за один год по всем инструментам стоит 5000$. Если вам интересно это направление, стоит задуматься о сохранении истории уже с сегодняшнего дня, чтобы потом не тратить деньги на покупку.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Манипулирование биржевым стаканом: Торговые роботы или …?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Понимание рыночного механизма потока заявок может дать нам ответ на многие вопросы, правда после которых, может появиться еще больше количество вопросов. В сети лежит ролик “Манипулирование ценой в биржевом стакане”.  В ролике показано, как трейдер выставляет заявку на покупку по цене лучшего офера в стакане. Как только он нажимает на ОК, оффер исчезает из стакана. Инсайдер (трейдер-блогер) объясняет такое поведение действиями торговых роботов.
Цитата:  “Вы же наверняка часто видели, как кидая заявку на продажу по рынку, цена уходит назад и Ваша заявка удовлетворяется по цене ниже пунктов на 50, чем та цена, которую Вы видели секунду назад и цена сразу же возвращается назад на 50 пунктов вверх.&lt;/p&gt;
&lt;p&gt;… &lt;em&gt;Они видят благодаря РТС все Ваши манипуляции с заявкой и используют свои быстрые каналы связи с серверами биржи, чтобы откусить чуток от Вашего ордера.”
С точки зрения ордер лога, такого быть не может и торговые роботы не могут реагировать на такую заявку. Среагировать на поступившую заявку, мы можем после того, как к нам пришли данные из плазы. Это самый быстрый, легально возможный способ.  Данные, пришедшие из плазы, это уже история, свершившееся событие. Значит, если мы кинули заявку по цене офера, то она обязана исполниться. Или, этот офер должен быть снят до того момента, когда наша заявка на покупку пришла в систему.  Единственное объяснение, которое приходит мне в голову такое:  брокер делает искусственную задержку и передает информацию о том, что идет заявка. После этого робот брокера отзывает свою заявку или делает другие нужные действия, после чего заявку клиента посылают  на рынок.  Достаточно задержать заявку на полсекунды, чтобы проводить такие махинации, что естественно незаконно. В законе о проф. участниках указанно, что в случае конфликта интересов брокера и клиента, брокер обязан отдавать приоритет клиенту.  Так это происходит в действительности  или нет, мы не знаем.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ордер лог представляется интересным инструментом для анализа рыночной ситуации. Огромное количество интересных возможностей, о которых мы не сказали или даже не знаем. Если у вас есть вопросы, или нужна помощь по ордер логу, можете написать на почту info@stocksharp.com.&lt;/p&gt;
&lt;p&gt;StockSharp Торговые роботы&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7832/</id>
    <title type="text">Открытие счета у брокера</title>
    <published>2017-01-14T16:33:59Z</published>
    <updated>2017-05-24T21:24:40Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.ru/users/7/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Брокеры" />
    <category term="открытие счета" />
    <content type="html">&lt;p&gt;В связи с многочисленными вопросами по поводу нового формата &lt;a href="http://stocksharp.ru/articles/7809/support-20/"&gt;техподдержки&lt;/a&gt; мы подготовили эту краткую памятку.&lt;/p&gt;
&lt;p&gt;Самое главное: &lt;strong&gt;&lt;a href="http://stocksharp.ru/broker/openaccount/"&gt;открытие счета&lt;/a&gt; у брокера через нас НЕ НЕСЕТ для вас &lt;u&gt;никаких&lt;/u&gt; дополнительных затрат!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;К сожалению на текущий момент, мы не можем подключить уже открытые счета к техподдержке &lt;strong&gt;БЕЗ&lt;/strong&gt; переоткрытия счета.&lt;/p&gt;
&lt;p&gt;Чтобы открыть счет через нас потребуется выполнить ряд простых действий.
На странице &lt;a href="http://stocksharp.ru/broker/"&gt;Найти брокера&lt;/a&gt; выложен список брокеров, с которыми у нас заключены агентские соглашения.
Далее достаточно нажать на ссылку &amp;quot;Открыть счет&amp;quot; и пройти стандартную процедуру регистрации на сайте. В случае возникновения вопросов, просьба писать на почту lesson@stocksharp.com&lt;/p&gt;
&lt;p&gt;Если у вас есть вопросы касательно выбора брокера, тарифов, ограничений брокера, то вы можете сформулировать их и направить на почту lesson@stocksharp.com&lt;/p&gt;
&lt;p&gt;Если эта памятка вам не помогла и у вас остались вопросы, то направляйте их на почту lesson@stocksharp.com&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7809/</id>
    <title type="text">Support 2.0</title>
    <published>2017-01-12T10:25:16Z</published>
    <updated>2017-03-04T20:54:54Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <category term="Брокеры" />
    <category term="ТехПоддержка" />
    <content type="html">&lt;p&gt;Уважаемые, пользователи StockSharp&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/104082/synergy.png" alt="synergy.png" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Отгремели куранты, отзвонили бокалы, и мы для вас подготовили первую замечательную новость в этом году.&lt;/p&gt;
&lt;p&gt;Мы начинаем предоставлять полноценную техническую поддержку на &lt;a href="http://stocksharp.ru/community/"&gt;нашем форуме&lt;/a&gt;. Наши сотрудники будут отвечать на все ваши вопросы, касающиеся автоматизации торговли на нашей платформе.&lt;/p&gt;
&lt;p&gt;Но это новость, согласитесь, была бы обычной, если не один момент, делающий ее потрясающей. &lt;span style="font-size:36pt"&gt;Техническая поддержка будет осуществляться &lt;strong&gt;бесплатно и без какого либо ограничения по времени&lt;/strong&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Спросите как? Всё очень просто! Мы заключили с большинством основных брокеров РФ (и не только) агентские соглашения. Теперь, открывая счет через нас, мы будем от брокера получать часть комиссии от вашей торговли. Она и пойдет в оплату нашего сервиса технической поддержки. При этом для вас нет никаких дополнительных трат или каких-то специальных тарифов.&lt;/p&gt;
&lt;p&gt;Теперь ваша прибыльная торговля - наша основная заинтересованность. Мы будем стараться помогать вам делать роботов быстрее и прибыльнее.&lt;/p&gt;
&lt;p&gt;Норматив ответа - 24 часа. Вы &lt;strong&gt;гарантированно&lt;/strong&gt; в течении суток получите от нас сообщение в топике с вашим вопросом. Дополнительно, на форуме появилась возможность создания Закрытых сообщений (указывается при создании нового сообщения). Такие сообщения видны только нашим сотрудникам и вам. Вы можете спокойно прикладывать в них свои логи и скриншоты, содержащие конфиденциальную информацию (номер счета, ФИО и т.д.).&lt;/p&gt;
&lt;p&gt;Для тех, кому требуется быстрое реагирование, или саппорт в режиме чата (Telegram, Skype или TeamViewer), нами сохраняется существующий формат премиальной технической поддержки. Подробнее, на &lt;a href="http://stocksharp.ru/support/"&gt;странице&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Все купившие &lt;a href="http://stocksharp.ru/edu/"&gt;Полный курс обучения&lt;/a&gt; в подарок получают пожизненную техническую поддержку на форуме, без необходимости открытия счета (открытие счета при этом также возможно). Всем покупателям необходимо отписаться на почту lesson@stocksharp.com для активации подписки. Акция действует до конца января.&lt;/p&gt;
&lt;p&gt;Мы надеемся, что эта новость будет по достоинству оценена всеми вами. Ведь это то, чего вы так долго ждали, и что вам не хватало всё это время!&lt;/p&gt;
&lt;p&gt;Ваш СтокШарп&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;&lt;span style="color:red"&gt;Обновление &lt;a href="http://stocksharp.ru/articles/7832/otkrytie-scheta-u-brokera/"&gt;http://stocksharp.ru/articles/7832/otkrytie-scheta-u-brokera/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8071/</id>
    <title type="text">Мы ищем новых участников команды!</title>
    <published>2017-02-08T13:14:21Z</published>
    <updated>2017-02-17T11:47:45Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.ru/users/7/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <category term="Программирование роботов" />
    <category term="Работа" />
    <content type="html">&lt;p&gt;&lt;img src="/file/104162/allo.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Мы растем и расширяемся, поэтому мы начинаем поиск единомышленников для развития платформы алгоритмического трейдинга!&lt;/p&gt;
&lt;p&gt;Если вам интересен фондовый рынок, его возможности, технологии, вас не пугают новые и непонятные сокращения и аббревиатуры, то у нас есть, что вам предложить!&lt;/p&gt;
&lt;p&gt;Для всех &lt;strong&gt;&lt;span style="color:green"&gt;тру-программистов C#&lt;/span&gt;&lt;/strong&gt; мы предлагаем участие в интересных проектах, сложнейшие задачи, удовольствие от поиска нетривиальных решений! Если вы готовы принять участие в создании нашей платформы, делать с нами торговых роботов, узнать больше о фондовом рынке и его возможностях, то ждем ваши CV на ящик info@stocksharp.com!&lt;/p&gt;
&lt;p&gt;&lt;u&gt;НЕ БЕСПЛАТНО!!!&lt;/u&gt; [cool][biggrin] Денежное вознаграждение по результатам собеседования!
Плюс бонус - работа удаленная, можно не отрываться от любимого дивана!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8065/</id>
    <title type="text">Биржа написала про TWIME на Хабре</title>
    <published>2017-02-07T07:31:59Z</published>
    <updated>2017-02-07T07:31:59Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="TWIME" />
    <category term="HFT" />
    <category term="MOEX" />
    <category term="Московская биржа" />
    <content type="html">&lt;p&gt;Сама статья про TWIME &lt;a href="https://habrahabr.ru/company/moex/blog/321280/" rel="nofollow" target="_blank"&gt;https://habrahabr.ru/company/moex/blog/321280/&lt;/a&gt;&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/104158/6855dea84aae492f9c0ff3d8670a4331.png" alt="6855dea84aae492f9c0ff3d8670a4331.png" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;В кратце, TWIME - это их FIX-образный, самый скоростной протокол для доступа к торгам на срочном рынке. В отличие от CGate не требует специального API и роутера.&lt;/p&gt;
&lt;p&gt;Статья больше описывает серверную часть, для трейдеров мало интересно, кроме последний части. Статические схемы с фиксированной длиной сообщения позволяют напрямую использовать FPGA, что существенно ускоряет процесс торговли.&lt;/p&gt;
&lt;p&gt;Мы &lt;a href="http://stocksharp.ru/news/6913/twime-konnektor---sertifitsirovan-samyi-bystryi-konnektor-k-moskovskoi-birzhe/"&gt;сделали коннектор и прошли сертификацию&lt;/a&gt; чуть меньше года назад.&lt;/p&gt;
&lt;p&gt;Все &lt;a href="http://stocksharp.ru/community/tags/TWIME/"&gt;наши статьи по TWIME&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8054/</id>
    <title type="text">Последний день</title>
    <published>2017-01-31T16:17:57Z</published>
    <updated>2017-02-01T09:50:59Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Брокеры" />
    <category term="ТехПоддержка" />
    <content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="color:red"&gt;&lt;span style="font-size:36pt"&gt;Update&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;В связи с большим количеством заявок, акция продлена по 1 февраля включительно. Все письма получены, ответы будут в порядке очереди. Спасибо за понимание.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Уважаемые пользователи,&lt;/p&gt;
&lt;p&gt;Напоминаем вам, что сегодня последний день активации пожизненной технической поддержки без открытия счёта для тех, кто купил у нас &lt;a href="http://stocksharp.ru/edu/"&gt;полный курс обучения&lt;/a&gt;.&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/104151/11393613-last-day.jpg" alt="11393613-last-day.jpg" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Уже завтра этот опцион будет недоступен. Активируйте её, просто прислав нам письмо на lesson@stocksharp.com&lt;/p&gt;
&lt;p&gt;Для всех остальных мы предлагаем &lt;a href="http://stocksharp.ru/broker/"&gt;открыть счёт&lt;/a&gt; или &lt;a href="http://stocksharp.ru/edu/"&gt;купить полный курс &lt;strong&gt;&lt;span style="font-size:36pt"&gt;сегодня&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ссылки по теме:&lt;/strong&gt;
&lt;span style="font-size:36pt"&gt;&lt;a href="http://stocksharp.ru/articles/7809/support-20/"&gt;Support 2.0&lt;/a&gt;
&lt;a href="http://stocksharp.ru/articles/8024/support-20-otvety-na-voprosy-faq/"&gt;Support 2.0. Ответы на вопросы. FAQ.&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6989/</id>
    <title type="text">Где и как скачать маркет-данные по американскому рынку. Решение.</title>
    <published>2016-12-02T11:58:44Z</published>
    <updated>2016-12-29T10:36:50Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.ru/users/7/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <category term="Hydra" />
    <category term="Алготрейдинг" />
    <category term="Торговые роботы" />
    <category term="данные" />
    <category term="datamining" />
    <category term="Trading robots" />
    <content type="html">&lt;p&gt;В нашей сегодняшней статье мы расскажем о том где можно бесплатно или за относительно небольшие деньги скачать исторические данные по американскому рынку, а также об универсальном способе скачивать, сохранять, анализировать и использовать в собственных алгоритмах любые типы рыночных данных.
Прежде всего давайте коснемся основных источников маркет-даты по американским ценным бумагам с кратким их описанием. В целом можно выделить три типа источников:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Источники исторических данных, например биржи, которые поставляют историю торгов на собственной площадке (конечно оставляем за гранью прямые подключения которые относятся к типу 2).&lt;/li&gt;
&lt;li&gt;Источники рыночных данных, например брокерские терминалы, через который конечно можно загрузить в том числе и определенную историю, но основной интерес представляет то, что происходит прямо сейчас.&lt;/li&gt;
&lt;li&gt;Универсальные источники, которые объединяют в себе тип 1 и тип 2, и как правило представлены специализированными сервисами.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;К первому типу источников можно смело отнести такие сайты как &lt;a href="https://www.google.com/finance" rel="nofollow" target="_blank"&gt;Google&lt;/a&gt; и &lt;a href="https://finance.yahoo.com/" rel="nofollow" target="_blank"&gt;Yahoo Finance&lt;/a&gt;:
&lt;img src="/file/103933/14.png" alt="" /&gt;
Несомненным достоинством этих сервисов является их полная бесплатность, однако, с другой стороны, интрадей маркет-данные скачать будет невозможно, также как невозможно получить, что либо кроме свечей. Под что-либо мы конечно подразумеваем такие данные как Level1, Order Log, Market Depth и т.д.
Это практически исключает возможность использования полученных данных для тестирования стратегий, предполагающих торговлю внутри дня. С другой стороны, если ваша стратегия предполагает среднесрочную торговлю, например, основана на подходе “Черепах”, либо вы практикуете портфельное инвестирование без слишком частого перетряхивания портфеля, то использование данных с этих источников будет очень обоснованно и целесообразно.&lt;/p&gt;
&lt;p&gt;К источникам рыночных данных как уже написано выше, относятся, прежде всего, брокерские терминалы или другие подключения к брокеру, которые есть у каждого практикующего трейдера. Например: Fusion/Blackwood, Rithmic, Gain Capital, OEC Trader, Sterling и т.д.
&lt;img src="/file/103936/15.png" alt="" /&gt;
Плюсы от использования данного источника видны практически сразу. Во-первых, это бесплатно (конечно без учета тех комиссий, которые вы платите брокеру). Во-вторых, это множество данных которые можно получить: некоторые типы свечей, тики, Level1, DOM и т.д. К минусам можно причислить отсутствие глубокой истории и необходимость хитрого сбора нужных данных, когда без специализированного ПО не обойтись.
При таком подходе, ваши возможности для тестирования значительно расширяются. Появляется возможность создавать не только внутридневные стратегии, но и высокочастотные алгоритмы, основанные на найденных исторических закономерностях.&lt;/p&gt;
&lt;p&gt;Универсальные источники - это в большинстве своем специализированные сервисы, которые поставляют как реал-тайм маркет-дату, так и любую запрошенную историю, например &lt;a href="http://www.iqfeed.net/stocksharp/" rel="nofollow" target="_blank"&gt;IQFeed&lt;/a&gt;.
&lt;img src="/file/103927/16.png" alt="" /&gt;
Главным плюсом подобного источника является его универсальность и наполненность данными, т.е. в любой момент по запросу пользователя можно получить любые нужные данные, тиковые, свечи, стаканы и т.п. Минусом такого подхода является платность данного сервиса, цена на который начинается от 50$ в месяц в базовой версии. Если возникает желание получить несколько больше, то потребуется подключить дополнительные функции, которые как вы уже поняли тоже будут стоить денег. Но, как и предыдущий вариант, вам потребуется специальная программа для сбора и хранения данных. Ведь по окончанию действия подписки вы потеряете все данные. Плюс глубина истории, хоть и больше, чем у предыдущего способа, но все равно она ограничена. Особенно для тиковых данных.&lt;/p&gt;
&lt;p&gt;Теперь мы можем перейти к самому интересному, а как же нам оптимально получать историю и при этом не тратить много денег. На наш взгляд, здраво выглядит следующий подход:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;скачать дневные свечи с бесплатного источника, и протестировать свою стратегию предварительно на этих данных;&lt;/li&gt;
&lt;li&gt;скачать интрадей данные через своего брокера, и протестировать уже более детально стратегию&lt;/li&gt;
&lt;li&gt;покупка подписки на платный сервис и выкачивание всего интересующего массива данных,
Для того, чтобы реализовать подобное, потребуется специализированное ПО, которое будет за вас вначале загружать нужные данные с нужного сервиса, а затем в едином формате продолжит сбор их от вашего брокера. Таким образом, единство данных не будет утрачено и их можно будет легко использовать в дальнейшем анализе.
Для таких задач мы создали программу &lt;a href="http://stocksharp.com/products/hydra/"&gt;S#.Data (Hydra)&lt;/a&gt; (ознакомиться с инструкцией и примерами по работе с программой можно &lt;a href="http://stocksharp.ru/s/2cdQFGGD"&gt;&lt;span style="color:blue"&gt;здесь&lt;/span&gt;&lt;/a&gt;). Это бесплатная программа, доступная для скачивания. Hydra предоставляет множество различных функций, но основной ее задачей является скачивание и накопление данных.
&lt;img src="/file/103979/HydraWhite.png" alt="" /&gt;
Hydra поддерживает загрузку не только свечей любого таймфрейма, но и тиков, ордер лога, level 1, стаканов по множеству инструментов. При этом программа умеет не только скачивать, но и накапливать данные, идущие от брокера, например из &lt;a href="https://futuresonline.com/trading/oec-trader" rel="nofollow" target="_blank"&gt;OEC Trader&lt;/a&gt;, Sterling и т.д.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hydra хранит данные в форматах CSV или BIN (сверх компактный формат хранения данных - 7 байт на 1 снимок стакана или 2 байта на тик). Данные располагаются локально, как файлы, и к ним есть доступ из любых программных языков , а также позволяет в конечном итоге пользователю хранить и использовать огромный массив рыночных данных на домашнем компьютере, сервере или в облаке (поддерживается AWS).&lt;/p&gt;
&lt;p&gt;Подводя итоги настоящей статьи, надеемся, что методы изложенные в ней позволят вам, получить маркет-дата за адекватные средства и немного приблизиться к профессиональным участникам.
Они давно так делают!
Желаем удачи на рынке!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6983/</id>
    <title type="text">S#.Data (Hydra) - инструкция и примеры по работе с программой.</title>
    <published>2016-12-01T16:37:31Z</published>
    <updated>2016-12-01T16:37:31Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.ru/users/7/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <category term="Hydra" />
    <category term="Алготрейдинг" />
    <category term="Торговые роботы" />
    <category term="данные" />
    <category term="datamining" />
    <category term="трейдинг" />
    <content type="html">&lt;p&gt;Гидра - программа для скачивания и накопления маркет-данных. В данной статье расскажем, как скачивать историю с Google Finance, брокера Gain Capital и сервиса IQFeed.
Для начала расскажем немного об интерфейсе программы. После первого запуска вы увидите главное окно, которое предложит вам выбрать источники данных.
&lt;img src="/file/103917/1.png" alt="" /&gt;
Обратите внимание на описание каждого источника, если рядом с ним написано:
&lt;em&gt;Source is designed to get history data …&lt;/em&gt; - то это означает возможность скачивания исторических данных,
а если написано:
&lt;em&gt;Source is designed to get market-data ..&lt;/em&gt; -  то это означает возможность подключения к реалтайм источнику данных и самостоятельному сбору истории. Забегая вперед, подобный способ зачастую дешевле простой покупки данных у дата-вендора.&lt;/p&gt;
&lt;p&gt;Теперь выберем ряд источников и попробуем получить маркет дату. В качестве таковых мы предлагаем использовать: Google (как источник исторических данных), OECTrader (как источник реал-тайм данных, который вам даст брокер при открытие счета), IQFeed (как источник реал-тайм данных с максимальным количеством одновременных подписок).&lt;/p&gt;
&lt;p&gt;Ставим галочки напротив выбранных источников.
После нажатия кнопки ОК, программа предложит вам включить дополнительные возможности.
&lt;img src="/file/103918/2.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Они достаточно полно описаны в самой программе, поэтому не будем здесь вдаваться в описание каждой из них.
Для того, чтобы двигаться дальше достаточно будет просто нажать ОК, не выбирая в данном окне ничего. При необходимости всегда можно вернуть данную настройку через кнопку ADD -&amp;gt; Tools и выбрать необходимое.
После всех проделанных процедур мы получаем в левом окне добавленные источники, каждый из которых теперь необходимо настроить.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:8px"&gt;Google Finance&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Делается это простым нажатием на кнопку карандаша, &lt;img src="/file/103919/3.png" alt="" /&gt; которая открывает окно настроек.
&lt;img src="/file/103920/4.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Быстренько пробежимся по каждой из них, чтобы сложилось полное понимание. Итак:
Start date - дата с которой Hydra будет получать рыночные данные
Time Offset - смещение времени. В данном случае 1 означает, что данные за сегодняшний день скачаны не будут. Это нужно для того, чтоб не скачать половину дня, когда торги еще не завершены.
Weekend - когда галочка установлена выходные дни игнорируются.
Time interval - hydra скачивает данные по частям. Данный параметр позволяет указать насколько большие части будут использованы. При значении 30 программа будет скачивать данные пакетами по 30 дней.
Header, work from, work until, work interval - настройки по работе самой программы, в течение какого времени она должна загружать данные (от и до)
Data directory - папка в которой будут храниться скачанные данные, можно оставить по умолчанию, можно выбрать любую собственную. &lt;strong&gt;Рекомендуем создавать под каждый источник отдельную директорию, чтобы данные не перезаписывались.&lt;/strong&gt;
Format - формат сохраняемых данных. Поддерживается BIN - специальный формат Hydra позволяющий получать уникальную степень сжатия (2 байта на тик, 7 байтов на стакан) либо всем известный CSV (тут объем обычный)
Max.errors - максимальное количество ошибок в источнике.
Dependency - указывает на добавленную задачу, которая должна быть выполнена до текущей (в нашем случае это может быть либо IQFeed, либо OEC Trader)
Logging level - уровень логирования.&lt;/p&gt;
&lt;p&gt;Давайте оставим все данные по умолчанию и выберем бумаги по которым будет происходить скачивание данных. Допустим выберем штук 5 тикеров, входящих в S&amp;amp;P500 индекс, например: MMM, AFL, GOOG, AAPl, T.&lt;/p&gt;
&lt;p&gt;Для этого все эти инструменты нужно добавить:
&lt;img src="/file/103921/5.png" alt="" /&gt;
Поскольку источник Google не поддерживает автоматическое добавление инструментов, то потребуется добавление их в базу вручную
&lt;img src="/file/103922/6.png" alt="" /&gt;
Далее повторяем процедуру для каждой бумаги и перемещаем их в раздел Selected
&lt;img src="/file/103923/7.png" alt="" /&gt;
После этого просто подключаем источник &lt;img src="/file/103924/8.png" alt="" /&gt; и нажимаем Start.
По окончании скачивания вы должны получить вот такие результаты
&lt;img src="/file/103925/9.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:8px"&gt;OpenECry (Gain Futures)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Источник рыночных данных для клиентов Gain Capital, который вам дает брокер бесплатно при открытие счета. Ключевые настройки источника во многом аналогичны настройкам, которые мы сделали в Google с той лишь разницей, что теперь нужно вносить логин/пароль от вашего аккаунта для доступа к потоку данных и выбрать правильный адрес с которого эти данные будут идти. Предустановлено 3 возможности: тестовый сервер (к которому подключаемся мы и который предназначен для разработчиков), симулятор (сервер для демо счетов), реальный сервер (сервер, имеющий подключение к реальному рынку и реальным счетам). Если у вас открыт счет, то ваш выбор реальный сервер.
&lt;img src="/file/103926/10.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Параметр Candle from data нужен для указания начальной даты, с которой необходимо скачивать историю в виде свечей.
После того, как вы это сделаете добавляем инструменты данные по которым мы хотим получить, поскольку OEC поддерживает автоматическую загрузку и поиск инструментов, делаем это через кнопку Download Securities, с последующим добавлением их через код инструмента. Наш выбор ESZ6 (мини S&amp;amp;P) и NQZ6 (мини Nasdaq).
&lt;img src="/file/103935/11.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;В результате добавления у вас должно получиться тоже самое, что представлено на картинке.
Теперь обратите ваше внимание на нижнюю часть окна. В самом начале статьи мы говорили о том, что Hydra поддерживает загрузку и хранение множества типов рыночных данных, настройки о том какие данные загружать можно сделать с помощью соответствующей панели:
&lt;img src="/file/103934/12.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;On Ticks - означает, что будут загружаться тики
On Market Depth - означает, что будут загружаться стаканы
Candles имеет дополнительную настройки при нажатии на кнопку можно выбрать типы свечей которые будут загружаться, вот как это выглядит:
&lt;img src="/file/103932/13.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;On Level 1 - означает, что будут загружаться лучший бид/аск, а также ряд полей фундаментальной статистики тикера.
Теперь достаточно нажать кнопку Start и Hydra начнет получать данные и сохранять их локально. При этом, получаться будут как исторические, так и рыночные данные по торгам, которые идут прямо сейчас!
Таким образом, можно самостоятельно накапливать и сохранять рыночные данные, а затем использовать их при тестировании собственных стратегий.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:8px"&gt;IQFeed&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;IQFeed предоставляет, как и OpenECry, интрадей данные. Но, в отличие от OEC, IQFeed поддерживает очень большой диапазон параллельных подписок, а также значительно большую глубину истории, как по свечам, так и по тиковым данным.
Настройки источника аналогичны OpenEcry:
&lt;img src="/file/103937/20.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Параметр Candle from data нужен для указания начальной даты, с которой необходимо скачивать историю в виде свечей.
Параметр Ticks from data нужен для указания начальной даты, с которой необходимо скачивать историю в виде тиков.
Все остальные действия аналогичны описанным выше.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:8px"&gt;Работа с данными&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Теперь после всех манипуляций, нужно понять, а как же с этими данными работать и что еще может программа. Напомним, что данные сохраняются в той папке, куда вы их скачали, но как посмотреть, что получилось.
Для этого обратимся к источнику OEC Trader по которому было скачано множество данных, выделим его и нажмем правую кнопку мыши.
&lt;img src="/file/103931/2016-11-30_10-22-22.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;После этого из менюшки можно выбирать то, каким образом работать с инструментом. Давайте выберем Market Depths и затем в открывшемся окне нажмем кнопку с лупой.
В результате мы получим подобную картинку
&lt;img src="/file/103928/17.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Далее аналогично выбираем Level 1, а потом Candles 1 min, только в окне работы со свечами выбираем не лупу, а кнопку “Построить график”. Результаты показаны на рисунках ниже
&lt;img src="/file/103929/18.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/file/103930/19.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Вот таким образом можно просматривать данные и работать с ними прямо из программы.
Надеемся наш продукт поможет вам в трейдинге и разработке прибыльных торговых систем.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6940/</id>
    <title type="text">S#.Designer - доступна beta 4</title>
    <published>2016-10-03T17:44:28Z</published>
    <updated>2016-11-22T20:14:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Designer" />
    <category term="Дизайнер" />
    <content type="html">&lt;p&gt;Выложена новая бета Дизайнера.&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103764/workflow.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Прежде всего - что мы добавили:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Выделение линий при наведении на них + выделение всех линий, соединенных с выделенным блоком:&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103761/8a3c9deb6cefc7a348ae6c6e8ffa3063.gif" alt="8a3c9deb6cefc7a348ae6c6e8ffa3063.gif" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;p&gt;Автоматическое переименование элементов. Действует для элементов: &lt;strong&gt;Формула, Переменная, Условие, Индикатор и Свечи&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Элементы для снятия заявки, ее замены. Самое время начать делать котирование на кубиках![flapper]&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103760/674271d39d8decae32e183a0d0792e9e.png" alt="674271d39d8decae32e183a0d0792e9e.png" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;p&gt;Авто-сохранение стратегий. Кнопки сохранить теперь нет (разве только для экспорта стратегии для своего коллеги).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Точки-остано на весь элемент в случае пользования отладчиком.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Подсвечивание ошибочного элемента в случае возникновения ошибки с последующим отображением ошибки ввиде подсказки.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Открытие-сокрытие сокета с ценой у элемента открытия позиции (если идет регистрация меркетной заявки).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Исправленные ошибки:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Фикс ошибки редактирования настроек свечек &lt;a href="http://stocksharp.ru/posts/m/36987/"&gt;http://stocksharp.ru/posts/m/36987/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Фикс загрузки портфелей после перезапуска в случае ранее произведенного подключения к торгам &lt;a href="http://stocksharp.ru/posts/m/36982/"&gt;http://stocksharp.ru/posts/m/36982/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Фикс элемента Защита позиции &lt;a href="http://stocksharp.ru/posts/m/37055/"&gt;http://stocksharp.ru/posts/m/37055/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Фикс ошибки &lt;a href="http://stocksharp.ru/posts/m/36990/"&gt;http://stocksharp.ru/posts/m/36990/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Надеюсь вам всем понравится использование нашей программы! Огромное спасибо за &lt;a href="/users/6502/ivan-z_/" title="Иван З."&gt;Иван З.&lt;/a&gt; и &lt;a href="/users/28801/senex/" title="Senex"&gt;Senex&lt;/a&gt;-у за их неоценимый вклад в развитие Дизайнера!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://stocksharp.ru/articles/287/sdesigner-uzhe-dostupen-dlya-beta-testov-plyus-plyushki!"&gt;Конкурс раздачи плюшек&lt;/a&gt; за бета-тестирование еще действует.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;Предыдущее обсуждение &lt;a href="http://stocksharp.ru/news/6903/sdesigner-beta-3/"&gt;&lt;strong&gt;&lt;span style="color:red"&gt;здесь&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;**:::center
&lt;span style="font-size:9px"&gt;&lt;a href="http://stocksharp.ru/products/download/"&gt;&lt;span style="color:red"&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Скачать &amp;lt;&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="**"&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6963/</id>
    <title type="text">Знания для всех! Даром! И пусть никто не уйдет обиженным!</title>
    <published>2016-11-01T10:29:47Z</published>
    <updated>2016-11-01T15:15:14Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.ru/users/7/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <category term="Обучение" />
    <category term="Торговые роботы" />
    <category term="Trading robots" />
    <category term="курс" />
    <content type="html">&lt;p&gt;&lt;img src="/file/103865/1.jpg" alt="" /&gt;
Команда StockSharp совместно с Инвестиционным Холдингом Финам представляет базовый курс по алгоритмическому трейдингу и использованию платформы StockSharp!&lt;/p&gt;
&lt;p&gt;Мы открываем двери &lt;span style="font-size:36pt"&gt;&lt;span style="color:green"&gt;для новичков&lt;/span&gt;&lt;/span&gt;!
Даже, если вы ни разу не программировали и не знаете, с чего начать, этот курс поможет вам сделать первые шаги. На вебинарах мы расскажем, какие программы вам потребуются для разработки и как их можно получить бесплатно, каким образом быстро и просто установить все необходимое программное обеспечение на ваш компьютер. Вы познакомитесь с основами языка программирования C# на котором создана платформа.&lt;/p&gt;
&lt;p&gt;По итогам серии вебинаров каждый участник сможет самостоятельно написать простой привод, и совершить через него самую настоящую сделку.&lt;/p&gt;
&lt;p&gt;Мы уверены, что после этого курса каждый из участников станет на шаг ближе к самостоятельной алгоритмической торговле.&lt;/p&gt;
&lt;p&gt;При этом мы будем использовать только лицензионное и бесплатное программное обеспечение. Откройте для себя неограниченные возможности с платформой StockSharp!&lt;/p&gt;
&lt;p&gt;:[:::center
&lt;a href="http://www.finam.ru/webinars/course68/program436" rel="nofollow" target="_blank"&gt;&lt;strong&gt;&lt;span style="color:blue"&gt;Записаться прямо сейчас! Курс уже идет!&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="]"&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6961/</id>
    <title type="text">Почувствуй себя Колумбом! Америка близко как никогда!</title>
    <published>2016-10-25T16:10:24Z</published>
    <updated>2016-10-31T17:06:58Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Optimus Futures" />
    <category term="покажи нашему ЦБ" />
    <category term="привет америка" />
    <content type="html">&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103857/c0a17a7f56c18c83133e1514c2ec666d.png" alt="c0a17a7f56c18c83133e1514c2ec666d.png" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;В то время, как комиссии на российских площадках продолжают расти вверх, а наш любимый ЦБ решает, что же делать с вами, трейдерами, мы всем предлагаем открыть счет у брокера &lt;a href="http://stocksharp.ru/broker/11/Optimus%20Futures/"&gt;Optimus Futures&lt;/a&gt; (Gain Capital).&lt;/p&gt;
&lt;p&gt;Открывая счет через нас, вы получаете специальные условия от брокера: размер минимального депозита для наших клиентов ВСЕГО 2 500$, комиссия 1,2$ per trade. Кроме того вы получаете стандартную техническую поддержку от нашей компании навсегда, и все плюшки, доступные по расширенной лицензии!&lt;/p&gt;
&lt;p&gt;Наша компания 2 года сотрудничает с брокером Optimus Futures, и мы можем оценить высокое качество торговли, и индивидуальный подход. Вы можете убедится сами в отзывах реальных трейдеров аж с 2010 года на сайте futeres.io &lt;a href="https://futures.io/brokers-data-feeds/4712-optimus-futures-trading-broker-review.html" rel="nofollow" target="_blank"&gt;https://futures.io/brokers-data-feeds/4712-optimus-futures-trading-broker-review.html&lt;/a&gt; (бывший БигМайк форум).&lt;/p&gt;
&lt;p&gt;Со своей стороны, мы поможем вам с первичной информацией, переводом с английского, решением возникающих вопросов.
Надеемся, что вы высоко оцените нашу работу с брокером Optimus Futures.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://stocksharp.ru/articles/6948/instruktsiya-po-otkrytiyu-scheta-v-gain-capital-/"&gt;Открыть счет прямо сейчас! &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://telegram.me/joinchat/AjJTZgfrNA93aQkm0O1pPA" rel="nofollow" target="_blank"&gt;Задать вопрос и получить ответ!&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6907/</id>
    <title type="text">S#.Designer. Скачивание данных и тестирование на истории. Видео 2.</title>
    <published>2016-09-07T13:12:56Z</published>
    <updated>2016-10-31T12:20:55Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.ru/users/7/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <category term="Для начинающих" />
    <category term="Торговые роботы" />
    <category term="трейдинг" />
    <category term="Designer" />
    <content type="html">&lt;iframe src="https://www.youtube.com/embed/6phLoMdcFAk" width="640" height="390" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6932/</id>
    <title type="text">Документация в новом месте</title>
    <published>2016-09-26T12:30:27Z</published>
    <updated>2016-09-26T12:30:27Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Документация" />
    <content type="html">&lt;p&gt;Всех с понедельником!&lt;/p&gt;
&lt;p&gt;Теперь документация располагается по адресу &lt;strong&gt;&lt;a href="http://doc.stocksharp.ru"&gt;http://doc.stocksharp.ru&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ссылка на старое рапроложение будут перенаправлять в новое место.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:red"&gt;Внимание!&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Если вы пользуетесь алгоязычной версией сайта, то по адресу &lt;a href="http://doc.stocksharp.com"&gt;http://doc.stocksharp.com&lt;/a&gt; аналогично будет &lt;strong&gt;англоязычная&lt;/strong&gt; версия документации.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/298/</id>
    <title type="text">Colocation преодолевает скорость света. 3 часть</title>
    <published>2015-07-11T13:07:28Z</published>
    <updated>2016-09-22T16:05:41Z</updated>
    <author>
      <name>Николай_Флёров</name>
      <uri>https://stocksharp.ru/users/6456/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Алготрейдинг" />
    <category term="Торговые роботы" />
    <category term="Высокочастотная торговля" />
    <category term="HFT роботы" />
    <category term="colocation" />
    <category term="Статьи" />
    <content type="html">&lt;p&gt;&lt;a href="http://stocksharp.com/posts/m/33318/"&gt;&lt;strong&gt;Перейти к части 2&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Colocation обеспечивает лучшее решение для высокоскоростных приложений&lt;/strong&gt;
Мы показали, что механизм центрального компьютера может быть заменен на функционально идентичный механизм с использованием группы компьютеров, размещенных с серверами биржи. Парадоксально, но в целях достижения эквивалентного результата мы должны были использовать абсурдные на первый взгляд генераторы искусственных задержек, что тормозило передачу информации от каждого сервера к компьютеру на задержку равную задержке полного круга между сервером и центральным компьютером – d  (плюс дополнительная задержка сервера в общем механизме, совмещенных групп). Для большинства алгоритмов &amp;quot;центрального компьютера&amp;quot; удаление генераторов задержки в похожем сценарии позволит дизайнерам разработать алгоритм распределения, который не только соответствует, но гораздо лучше, чем алгоритм &amp;quot;центрального компьютера&amp;quot;. Природа и значение улучшения будет зависеть от алгоритма и его функции. В большинстве случаев, алгоритм &amp;quot;центрального компьютера&amp;quot; придется переписать с нуля, чтобы воспользоваться преимуществом предвидения на местном рынке. (Однако, в некоторых случаях, улучшение невозможно. Рассмотрим это на примере неких ежечасных &amp;quot;слепых&amp;quot; аукционов. В таком случае, использование одного центрального компьютера будет оптимальным. То есть более экономичным, чем в группе совмещенных компьютеров.).
Вспомним наш пример &amp;quot;Нью-Йорк-Лондон&amp;quot; из предыдущего раздела. Что было бы, если бы замедлили передачу информации в дата-центре Нью-Йоркской биржи с коэффициентом 10 000 (с типичных двух микросекунд до 20 миллисекунд). Ни один уважающий себя высокочастотный трейдер не станет мириться с таким положением вещей. Удаление генератора задержки позволило бы размещенным компьютерам &amp;quot;заглянуть в  будущее на локальных рынках&amp;quot; по сравнению с тем, что видит центральный компьютер. Это позволило бы развить значительное превосходство торговой стратегии. Фирмы, занимающиеся высокочастотной торговлей готовы платить миллионы долларов в месяц, чтобы увидеть 20 мс. в будущем. Другими словами, если компьютер находится в середине между финансовыми биржами, то это лучший способ приблизиться  к скорости света, а с помощью компьютеров, размещенным в дата-центрах разных бирж  можно &amp;quot;преодолеть скорость света&amp;quot; - откуда и название этой статьи.
Но даже и без каких-либо дополнительных усовершенствований, стратегии на механизме совмещенных групп должны быть развернуты только в N финансовых центрах по всему миру, а не n⋅ (N-1) / 2 &amp;quot;серединных торговых точек&amp;quot;, показанные в статье Nature. Наконец, самая хорошая новость: нам никогда не понадобятся страшные &amp;quot;корабли для высокоскоростной торговли&amp;quot;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Вариант полноценного Colocation решения может эмулировать любое другое решение&lt;/strong&gt;
Мы показали, что механизм &amp;quot;центрального компьютера&amp;quot; может быть всегда заменен на функционально эквивалентный механизм или более эффективный, при использовании группы компьютеров, размещенных в дата-центрах бирж. Один вопрос, который остается: может ли быть улучшено данное решение? Можем ли мы, добавив несколько дополнительных компьютеров в середине и/или удалив некоторые из размещенных компьютеров, получить любое лучшее решение, чем то, которое может быть реализовано с помощью механизма &amp;quot;совмещенных групп&amp;quot;? Ответ: - нет. Полная группа N компьютеров совместного размещения с серверами N обеспечивает оптимальную конфигурацию, которая не может быть улучшена.
Для того, чтобы заявить об этом официально, мы определяем новый термин: &amp;quot;агрегирующая конструкция&amp;quot;.  Агрегирующая конструкция - это группа компьютеров, работающих под распределенным алгоритмом, включая каналы коммуникации между членами группы и все входные и выходные каналы связи с внешним миром (состоящая из &amp;quot;серверов&amp;quot;). В отличие от одного компьютера под управлением алгоритма, спецификация агрегирующей конструкции должна включать сведения, касающиеся пространственных расположений входов и выходов, а также компьютеров-членов, и задержки ограничений на связи между этими местами. Агрегирующая конструкция более официальный термин для того, что мы называли &amp;quot;черный ящик&amp;quot; в предыдущих разделах.
Данные N серверов, полноценного colocation решения агрегирующей конструкции – это объединение N компьютеров, совмещенных с соответствующими им серверами.
В заключении, чтобы продолжить наше доказательство, нам нужно будет провести операцию по &amp;quot;объединению&amp;quot; компьютеров. Если C1 и C2 два отдельных, совмещенных компьютера под управлением алгоритма A1 и A2, соответственно, то C1^C2 обозначает компьютер, на котором запущены те же алгоритмы и используются в сочетании входящих/исходящих каналов обоих компьютеров как входящих / исходящих каналов одного объединенного компьютера, соответственно (см. рисунок -  &amp;quot;Операция по созданию объединенного компьютера C1 ^ C2&amp;quot;). Операция соединения является чисто косметической. Два алгоритма работают независимо друг от друга на объединённом компьютере и сохраняют все их свойства (например, смещение времени, входные задержки и т.д.). Сообщения, полученные и отправленные от двух алгоритмов, также остаются прежними. Операция по объединению позволяет рассматривать два размещенных компьютера, как один компьютер, который функционально эквивалентен обоим, будучи объединенными. От перестановки компьютеров суть операционного объединяющего компьютера не изменится. (В соответствии с правилами &lt;a href="https://en.wikipedia.org/wiki/Commutative_property" rel="nofollow" target="_blank"&gt;commutative&lt;/a&gt; и &lt;a href="https://en.wikipedia.org/wiki/Associative_property" rel="nofollow" target="_blank"&gt;associative&lt;/a&gt;.).&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103447/Операция-по-созданию-Объединенного-компьютера++++.jpg" alt="Операция по созданию объединенного компьютера C1 ^ C2" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Теперь мы готовы сформулировать и доказать основной результат.
Следствие 1. Любое объединение компьютеров, подключенных к нескольким серверам, может быть повторно реализовано с использованием полноценного colocation решения агрегирующей конструкции таким образом, что поведение агрегирующей конструкции (как зафиксировано серверами) неотличимо от исходной совокупности.
Для доказательства используем метод математической индукции (mathematical induction ) по числу K компьютеров совокупности, которые не совмещены ни с одним из серверов.
Очевидно, что вывод верен для К = 0. Здесь каждый компьютер агрегирующей конструкции находится в colocation связке с одним из серверов. Для того, чтобы сформировать эквивалент полноценного colocation решения агрегирующей конструкции, мы добавляем компьютеры, не совершающие никаких действий, к серверам, у которых нет подключенных компьютеров, и мы заменяем все компьютеры, находящиеся в colocation связке с данным сервером на их Joined версию (см. рисунок выше), чтобы обеспечить единый объединенный объект на каждый сервер.
Предположим теперь, что следствие верно для некоторого K ≥ 0.
Рассмотрим агрегирующую конструкцию D* подключённую к N-серверам (X1, ..., Xn), так чтобы K+1 компьютеров, которые не находятся в colocation связке ни с одним из серверов.
Мы начинаем с нормализации D*: добавляем компьютеры, не совершающие никаких действий, к серверам, у которых не было подключенных компьютеров D*, и мы заменяем все агрегирующие конструкции, находящиеся в colocation связке с данным сервером на  Joined версию (см. рисунок выше), чтобы обеспечить единый объединенный объект на каждый сервер. Это не меняет количество, не находящихся в colocation связке компьютеров D* или поведение агрегирующей конструкции.
Отныне, мы предполагаем, что Di является одним из компьютеров D*, находящийся в colocation связи с сервером Xi  для i  = 1, ..., N. и что компьютеры DN+1, ..., DN+K+1, не находятся в colocation связи ни с одним из серверов.
Таким образом, мы предполагаем, что объект DN+K+1 не связан напрямую с любым сервером Xi. Если он был подключен непосредственно к Xi, мы всегда можем поручить компьютерам, находящимся в Colocation связке c Di стать сквозным посредником между Xi и DN+K+1.
Рассмотрим теперь все D1, …, DN+K компьютеры, как &amp;quot;серверы&amp;quot; в теореме 1. Пусть C = DN+K+1 будет центральным компьютером связующим с &amp;quot;серверами&amp;quot; D1, …, DN+K. По теореме 1, мы можем построить функционально идентичную систему, которая заменяет C на N+K компьютеров Xi, размещенным с соответствующими компьютерами Di.
Наконец, определим новую агрегирующую конструкцию E* работающую на компьютерах E1, …, EN+K, где мы устанавливаем  Ei = Ci ^ Di..
Очевидно, что агрегирующую конструкции E* - это эквивалент D* (когда под присмотром серверов Xi), но имеет только К участников, которые не находятся в colocation связи ни с одним из серверов. Таким образом, по методу индукции, E* является эквивалентом полноценного colocation решения агрегирующей конструкции. Это завершает (предыдущий) шаг и доказывает следствие.
Примечание: Доказательство данного следствия может рассматриваться как предоставление метода, который позволяет удалить один за одним в любой последовательности не связанные colocation связью участников совокупности D* без изменения функциональности агрегирующей конструкции (как это зафиксировано серверами).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Colocation предоставляет оптимальное решение&lt;/strong&gt;
Рассуждая об &amp;quot;оптимальности&amp;quot; мы можем только предположить, что пользователь имеет в виду измеримую меру полезности, которую можно будет применить к любой совокупности агрегирующих конструкций с определенным набором серверов. Мы предполагаем, что функция &amp;quot;полезности&amp;quot; может базироваться только на данных, полученных с серверов. (Например, можно было бы оценить торговую стратегию по ее средним дневным результатам на основе некоторого эталона, используя исторические исходные данные, собранные серверами). Теперь мы можем перефразировать Следствие 1 и констатировать, что:
Следствие 2. Полноценное colocation решение агрегирующей конструкции является оптимальным вариантом для HFT арбитражеров. Другими словами, нераспределенный алгоритм может обойти другие алгоритмы, используя агрегирующую конструкцию и colocation связку с серверами бирж.
Примечание: в итоге, в высшей степени важно учитывать нашу ненавязчивую позицию в определение того, что является &amp;quot;лучшими&amp;quot; средствами. Независимо от того, как вы оцениваете работу вашего алгоритма (например, желаете ли вы заработать или потерять больше денег), вы не можете обогнать  распределённый вариант описанный выше. В качестве примера: Не начинайте интервенцию йены, если не находитесь в Токио (а также если не находитесь в Лондоне, если на то пошло)!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Реверсивные роли – распределенные биржи преодолевают скорость света&lt;/strong&gt;
До сих пор мы рассматривали теорему 1 в сценариях, состоящих из торгового компьютера, подключенного к серверам нескольких бирж, потому что это схема укладывается в сценарий &amp;quot;серединной точки&amp;quot; из статьи журнала Nature. Теперь мы переформулируем теорему 1, поменяв местами  роли бирж и финансовых центров.
Традиционные биржи располагают центральным matching (мэтчинг/матчинг) движком  для компьютеров клиентов HFT, размещенным в одном центре обработки данных. Удаленные клиенты могут находиться по всему миру, используя компьютеры, расположенные в точке доступа дата-центров (либо самой биржи, либо сторонних компаний), которые предлагают безопасное, надежное и естественно с малой задержкой подключение к центральной системе (ядру биржи).
Рассмотрим теперь мэтчинговый движкок бирж как “центральный компьютер” и точку доступа в дата-центры, как &amp;quot;серверы&amp;quot;, приведенные в теореме 1. Используя эту хитрость, теорема 1 может быть сформулирована следующим образом:
Следствие 3. Любой центральный мэтчинговый движок биржи подключенный к N ≥ 1 точки доступа дата центров может быть воспроизведен с использованием группы N соединенных между собой мэтчинговых движков, которые находятся в соответствующих дата-центрах таким образом, что поведение новой реализации (как зафиксировано в дата-центрах) ничем не отличается от оригинального решения  на одном мэтчинговом движке.
В результате, следствия 1 и 2, могут быть преобразованы таким же образом. В частности архитектура биржи, которая использует полноценное colocation решение агрегирующей конструкции  мэтчинговых движков (один мэтчинговый движок на каждую точку доступа дата центра) является оптимальной!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Кейс для распределенных бирж&lt;/strong&gt;
Очевидно, что участники, торгующие HFT алгоритмы, давно выяснили преимущества colocation, когда торгуют арбитраж AAPL между различными серверами бирж Нью-Джерси, или когда торгуют арбитраж E-Mini на CME в Aurora, IL versus SPY, Arca в Secaucus NJ. Так почему же биржи упорно используют центральные мэтчинговые движки?
Основной причиной является производительность и прибыль биржи. По сравнению с одним центральным биржевым компьютером, распределенная биржевая архитектура добавляет проблем с точки зрения дизайна и сложности устройства, увеличивает задержки сделки, а также дополнительные затраты на инфраструктуру. Эти эффекты могут ощутить  на своем опыте все клиенты биржи, даже те, которые не участвуют в арбитражных операциях и рады торговать в одном месте совместного размещения с простым, быстрым и относительно недорогим центральным мэтчинговым движком. Распределенная архитектура биржи также будет способствовать снижению (или сведет на нет) необходимость арбитража, что в результате снизит огромные объемы торговли арбитражеров, которые приносят пользу бирже.
На фондовом рынке США, торговля географически сосредоточена в одном месте. Начиная с NYSE и Nasdaq, практически все фондовые торги в США осуществляются на серверах в Нью-Джерси, которые находятся в нескольких десятках километров друг от друга. Несмотря на то что (благодаря 1998 SEC Regulation ATS) одна и та же акция может торговаться на нескольких биржах, каждая биржа, как правило, имеет только один мэтчинговый движок для данного эмитента. Несмотря на все это еще можно было утверждать, что, в целом, американский рынок акций использует распределенную мэтчинговую архитектуру:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Акции биржи и ATS (альтернативные торговые системы) требуют отправки заявок на разные площадки, чтобы получить лучшую цену (благодаря 2007 SEC регулирования NMS).&lt;/li&gt;
&lt;li&gt;Распределители для умных заявок расположенные в точках доступа отправляют  заявку на ту биржу, где заявка имеет наибольшие шансы пройти по лучшей цене.&lt;/li&gt;
&lt;li&gt;Брокер/банк, выполняющие внутренние внебиржевые сделки и &amp;quot;дарк пулы&amp;quot; можно рассматривать как расширение основного мэтчингового механизма биржи.
Конечно, дьявол кроется в деталях и если посмотреть внимательно, то существующая биржевая архитектура Фондового рынка США (если рассматривать в совокупности как единый механизм) является чудовищно сложной и неэффективной. Компьютеры HFT трейдеров, имеющие colocation связку с несколькими ближайшими биржами процветают, торгуя арбитраж и другие интеллектуальные методы, эксплуатирования неэффективностей.
На рынках акций, опционов и фьючерсов, в силу исторических причин, восходящих к торговле фьючерсами на кукурузу или пшеницу, большинство американских фондовых фьючерсов и опционов торгуются в Чикаго (на CME и CBOE, соответственно). Здесь логично было бы просто переместить мэтчинговые движки CME и CBOE в Нью-Джерси. Но это вряд ли произойдет, учитывая, что пока еще нет конкурентного давления на биржи Чикаго, которое мотивировало бы их на этот шаг. Высокочастотные трейдеры этому только  рады и конкурируют друг с другом, чтобы построить лучше дешевле, быстрее, распределенные арбитражные стратегии (используя &lt;a href="http://spreadnetworks.com/network-map/" rel="nofollow" target="_blank"&gt;Spread Networks tunnel&lt;/a&gt; и &lt;a href="http://www.wsj.com/articles/SB10001424052702303947904579340711424615716" rel="nofollow" target="_blank"&gt;its true-speed-of-light successors&lt;/a&gt;[9]).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Поистине распределенная архитектура биржи&lt;/strong&gt;
Наконец, давайте зададим обратный вопрос: почему и где были бы полезны распределенные биржевые серверы мэтчинга заявок для конкретного инструмента в отдалении от самих бирж? Первый ответ в том, что распределение биржевых серверов в пространстве было бы полезно, если клиенты были бы географически &amp;quot;рассредоточены&amp;quot; и не желали заказывать colocation своих торговых компьютеров с центральным мэтчинговым движком биржи.
До сих пор, единственная область, где распределенная биржевая архитектура нашла свое применение - это торговля на рынке Forex. Например, когда вы торгуете USD (доллар США) против JPY (Японская иены), необходима локальная информация о состоянии экономики каждой из двух далеко расположенных стран. Кроме того, есть политические аргументы против торговли своей валютой с помощью мэтчинговых движков далеко за рубежом.
Когда впервые была представлена электронная заявка на спот рынке Forex, что впервые произошло в 1990-х годах, были первоначально две USD/JPY биржи: Reuters (в Лондоне) и Майнекс (в Токио). Лондон - Токио задержки в те дни были порядка 300 мс, которые легко заметны невооруженным глазом. Также, были политические причины против торговли свей валютой на зарубежных площадках.
Когда мне была  поставлена задача разработки новой глобальной биржи &lt;a href="http://www.ebs.com/" rel="nofollow" target="_blank"&gt;EBS Forex exchange&lt;/a&gt;, я выбрал распределенную архитектуру с тремя синхронизированными мэтчинговыми движками - в Лондоне, Нью-Йорке и Токио[10]. Это при условии отличной производительности во всех трех регионах и удовлетворении требований мировых банков. В 1996, EBS вошла в состав Minex, став доминирующей мировой USD/JPY площадкой на межбанковском электронном рынке - позиция, которую она занимает и по сей день. (Хотелось бы мне в то время обладать информацией из этой статьи, иметь представление о данной работе, когда пытался убедить своих коллег поверить в распределенную архитектуру бирж... но, в конце концов, мы использовали наше шестое чувство -, - и оказались правы)
Другой пример распределенной Forex площадки является &lt;a href="http://www.fastmatch.com/features" rel="nofollow" target="_blank"&gt;Fastmatch&lt;/a&gt;, которая также имеет три мэтчинговых движка: в Лондоне, Нью-Йорке и Токио. Ее архитектура значительно отличается от EBS, однако, заявки распространяются не прозрачным способом  и мэтчинг осуществляется по трем регионам.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Литература по данной тематике&lt;/strong&gt;
Чтобы узнать больше о чудесах распределенных торговых систем, исследуйте ссылки [11] и [12] .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Благодарности автора&lt;/strong&gt;
Я благодарю Michael Merold, Schalk Steyn, Alec Schmidt, Mark Reece, Wlodek Stankiewicz, Ewa Howorka, и всех, кто предоставили полезные комментарии по первоначальному проекту этого документа.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ссылки&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mark Buchanan, &lt;a href="http://www.nature.com/news/physics-in-finance-trading-at-the-speed-of-light-1.16872" rel="nofollow" target="_blank"&gt;Physics in finance: Trading at the speed of light&lt;/a&gt;, Nature, Feb 11, 2015.&lt;/li&gt;
&lt;li&gt;
&lt;ol type="A"&gt;
&lt;li&gt;
&lt;ol type="A" start="4"&gt;
&lt;li&gt;Wissner-Gross and C. E. Freer, &lt;a href="http://journals.aps.org/pre/abstract/10.1103/PhysRevE.82.056104" rel="nofollow" target="_blank"&gt;Relativistic statistical arbitrage&lt;/a&gt;, Physical Review E 82, Nov 5, 2010.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;World Federation of Exchanges, &lt;a href="http://www.world-exchanges.org/files/statistics/pdf/2009_WFE_AR.pdf" rel="nofollow" target="_blank"&gt;WFE 2009 Annual report and statistics&lt;/a&gt;, Dec 2009.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://physicscentral.com/explore/action/stocktrade.cfm" rel="nofollow" target="_blank"&gt;Stock Trades at the Speed of Light&lt;/a&gt;, PhysicsCentral, Nov 11, 2010.&lt;/li&gt;
&lt;li&gt;Eric Garcia, &lt;a href="http://www.marketwatch.com/story/physicist-says-it-is-possible-to-use-ships-to-facilitate-high-frequency-trading-2015-02-18" rel="nofollow" target="_blank"&gt;Physicist says it is possible to use ships to facilitate high-frequency trading&lt;/a&gt;, MarketWatch, Feb 19, 2015.&lt;/li&gt;
&lt;li&gt;
&lt;ol type="A" start="13"&gt;
&lt;li&gt;Rohan, &lt;a href="http://www.ibtimes.co.uk/dark-pool-hft-it-possible-use-ships-high-frequency-trading-1488663" rel="nofollow" target="_blank"&gt;Dark pool and HFT: It is possible to use ships for high-frequency trading&lt;/a&gt;, International Business Times, Feb 19, 2015.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Timothy B. Murray, HFT’s Oceanic Moment, WatersTechnology, Mar 11, 2015.&lt;/li&gt;
&lt;li&gt;
&lt;ol type="A" start="13"&gt;
&lt;li&gt;Rohan, &lt;a href="http://www.ibtimes.co.uk/dark-pool-hft-boe-says-high-speed-trading-helps-markets-1489314" rel="nofollow" target="_blank"&gt;Dark pool and HFT: BoE says high-speed trading helps markets&lt;/a&gt;, International Business Times, Feb 24, 2015.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Scott Patterson, &lt;a href="http://www.wsj.com/articles/SB10001424052702303947904579340711424615716" rel="nofollow" target="_blank"&gt;High-Speed Stock Traders Turn to Laser Beams&lt;/a&gt;, Wall Street Journal, Feb 11, 2014.&lt;/li&gt;
&lt;li&gt;Michael Togher, Michael F. Dunne, Richard Hartheimer, &lt;a href="https://www.google.com/patents/US5375055" rel="nofollow" target="_blank"&gt;Credit management for electronic brokerage system&lt;/a&gt;, U.S. Patent No. 5,375,055, issued Dec 20, 1994, assigned to &lt;a href="http://www.ebs.com/" rel="nofollow" target="_blank"&gt;EBS&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Edward R. Howorka, Andrew P. Foray, &lt;a href="http://www.google.com/patents/US7184982" rel="nofollow" target="_blank"&gt;Architecture for anonymous trading system&lt;/a&gt;, U.S. Patent No. 7,184,982, issued Feb 27, 2007, assigned to &lt;a href="http://www.ebs.com/" rel="nofollow" target="_blank"&gt;EBS&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Edward R. Howorka, &lt;a href="http://www.google.com/patents/US8296217" rel="nofollow" target="_blank"&gt;Method and apparatus for enhancing market data feed using proprietary order flow&lt;/a&gt;, U.S. Patent No. 8,296,217, issued Oct 23, 2012, assigned to &lt;a href="http://www.marketfactory.com/" rel="nofollow" target="_blank"&gt;MarketFactory&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Edward Howorka, &lt;a href="http://www.thetradingmesh.com/pg/blog/ehoworka/read/621449" rel="nofollow" target="_blank"&gt;In brief, colocation beats the speed of light&lt;/a&gt;, The Trading Mesh, Apr 9, 2015.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://edhoworka.com/colocation-beats-the-sol/" rel="nofollow" target="_blank"&gt;Ссылка на первоисточник данной статьи&lt;/a&gt;
Перевод: &lt;a href="http://smart-lab.ru/my/MrFly/blog/all/" rel="nofollow" target="_blank"&gt;Николай Флёров&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/299/</id>
    <title type="text">Colocation преодолевает скорость света. 2 часть</title>
    <published>2015-07-06T00:08:22Z</published>
    <updated>2016-09-22T16:03:48Z</updated>
    <author>
      <name>Николай_Флёров</name>
      <uri>https://stocksharp.ru/users/6456/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="HFT роботы" />
    <category term="colocation" />
    <category term="Статьи" />
    <content type="html">&lt;p&gt;&lt;a href="http://stocksharp.com/forum/5018/Colocation-prieodolievaiet-skorost--svieta--1-chast/"&gt;&lt;strong&gt;Перейти к части 1&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;В данной части мы подробно рассмотрим арбитражные механизмы на базе центрального компьютера и механизмы с применением Colocation. А также разберем конкретный алгоритм арбитражной стратегии в действии.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Механизм с применением центрального компьютера&lt;/strong&gt;
Во-первых, давайте определимся с формально базовым &amp;quot;механизмом централизованного компьютера&amp;quot;. Обратите внимание, что это гораздо более распространённое решение, чем  сценарии &amp;quot;средней точки&amp;quot;, рассматриваемой в статье Бьюкенена.
Рассмотрим &lt;em&gt;N&lt;/em&gt; серверов &lt;em&gt;X1&lt;/em&gt;, ..., &lt;em&gt;Xn&lt;/em&gt; и центральный компьютер &lt;em&gt;С&lt;/em&gt; может располагаться где угодно в мире на нем работает алгоритм &lt;em&gt;А&lt;/em&gt; (например, торговая стратегия). С подключением ко всем серверам - он получает входные сигналы от респондентов и дает обратную связь каждому из них. Мы считаем, что этот механизм напоминает &amp;quot;черный ящик&amp;quot;, где входные и выходные данные могут быть отслежены  и проанализированы наблюдателями, расположенными на серверах &lt;em&gt;N&lt;/em&gt;. См. картинку &amp;quot;Механизм с применением центрального компьютера&amp;quot;.&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103440/Механизм-центрального-компьютера.jpg" alt="Механизм с применением центрального компьютера" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;На центральном компьютере С, и каждом из серверов N настроены часы, синхронизированные с временем UTC (UTC time). (Современные технологии, обеспечивающие средства для синхронизации часов в течение малой доли микросекунды).
Пусть &lt;em&gt;di&lt;/em&gt;  обозначают задержки передачи между &lt;em&gt;C&lt;/em&gt; и сервером &lt;em&gt;Xi&lt;/em&gt;. Пусть &lt;em&gt;di,j&lt;/em&gt;  обозначим задержки между &lt;em&gt;Xi&lt;/em&gt; и &lt;em&gt;Xj&lt;/em&gt;. Эти задержки предполагаются постоянными и не меняются от сообщения к сообщению. Мы предполагаем, что задержки в сети удовлетворяет свойствам метрики (metric), в частности: &lt;em&gt;di,j&lt;/em&gt; = &lt;em&gt;dj,i&lt;/em&gt; (симметрия) and &lt;em&gt;di,j&lt;/em&gt; ≤ &lt;em&gt;di&lt;/em&gt; + &lt;em&gt;dj&lt;/em&gt; (аксиома треугольника).
Для того, чтобы осуществить видоизменение нашего &amp;quot;черного ящика&amp;quot; (с центрального компьютера к эквивалентной группе компьютеров, размещенных в дата-центрах бирж), мы должны сделать некоторые дополнительные предположения:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;После настройки, алгоритм &lt;em&gt;А&lt;/em&gt; реагирует только на текущее время и сообщения, полученные от серверов &lt;em&gt;Xj&lt;/em&gt;. (Конечно, алгоритм &lt;em&gt;А&lt;/em&gt; может использовать также память о прошлых событиях в принятии своих решений.).&lt;/li&gt;
&lt;li&gt;Каждый из &lt;em&gt;N&lt;/em&gt; серверов отправляет зафиксированные во времени потоки данных с определенной степенью детализации времени. Это означает, что принимающий получает периодические синхронизированные сигналы от каждого сервера, которые характеризуют  и &amp;quot;закрывают&amp;quot; каждый интервал времени - будь то миллисекунды или микросекунды. Алгоритм управляет этими сигналами. (Например, сообщение, полученное в момент времени &lt;em&gt;t&lt;/em&gt; по алгоритму &lt;em&gt;А&lt;/em&gt;, может быть использовано данным алгоритмом только после того, как все синхронизированные во времени сигналы с временными метками, полученными от всех серверов &lt;em&gt;Xi&lt;/em&gt; по шкале времени больше или равны &lt;em&gt;t&lt;/em&gt; – &lt;em&gt;di&lt;/em&gt; .  Данная ситуация не является препятствием в случае, если она будет учтена в сценарии  центрального компьютера. Это главное требование для достижения эквивалентности наших &amp;quot;черных ящиков&amp;quot;, несмотря на любое время или неустойчивость задержки.&lt;/li&gt;
&lt;li&gt;Выходное значение алгоритма &lt;em&gt;А&lt;/em&gt; состоит из сообщений, отправленных серверам. Все сообщения с временными метками, по местному времени алгоритма  &lt;em&gt;А&lt;/em&gt;. Данное сообщение может содержать любую информацию, в том числе внутренние отчеты о состоянии, относящиеся к текущим или к прошлым событиям.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Механизм совмещенных групп&lt;/strong&gt;
Здесь мы представляем механизм, который будет дублировать поведение механизма  центрального компьютера с использованием N компьютеров &lt;em&gt;C1&lt;/em&gt;, ..., &lt;em&gt;CN&lt;/em&gt; совместного размещения (colocation) с соответствующими серверами бирж  &lt;em&gt;X1&lt;/em&gt;, ..., &lt;em&gt;XN&lt;/em&gt;. Как и в предыдущем случае, мы считаем, что этот механизм как &amp;quot;черный ящик&amp;quot;, где входные и выходные данные могут фиксироваться и синхронизироваться наблюдателями, расположенными на N серверах. См. рисунок &amp;quot;Механизм совмещенных групп&amp;quot;.&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103439/Механизм-совмещенных-групп.jpg" alt="Механизм совмещенных групп" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Для простоты, задержка передачи данных между компьютером &lt;em&gt;Ci&lt;/em&gt;  и размещенным Server  &lt;em&gt;Xi&lt;/em&gt; принимается равной нулю. Задержка передачи данных между &lt;em&gt;Ci&lt;/em&gt; и &lt;em&gt;Xj&lt;/em&gt; берется &lt;em&gt;di,j&lt;/em&gt;  - такой же, как задержка между &lt;em&gt;Xi&lt;/em&gt; и &lt;em&gt;Xj&lt;/em&gt;.
На каждой компьютере &lt;em&gt;Ci&lt;/em&gt;  работает алгоритм &lt;em&gt;Ai&lt;/em&gt;, который является модифицированной копией алгоритма &lt;em&gt;A&lt;/em&gt;, работающем на центральном компьютере &lt;em&gt;C&lt;/em&gt;, описанным в предыдущем разделе. Отличия модифицированной версии:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Время, используемое алгоритмом  &lt;em&gt;Ai&lt;/em&gt;, устанавливается с запозданием на величину &lt;em&gt;di&lt;/em&gt;, то есть, он показывает время UTC – &lt;em&gt;di&lt;/em&gt; вместо UTC. Например, когда алгоритм &lt;em&gt;A&lt;/em&gt; решает прекратить торговлю на время UTC  &lt;em&gt;t&lt;/em&gt;, &lt;em&gt;Ai&lt;/em&gt;  то он прекратит торговлю в момент UTC &lt;em&gt;t&lt;/em&gt; + &lt;em&gt;di&lt;/em&gt;. (Данное изменение удобнее воспринимать, как модификацию алгоритма &lt;em&gt;Ai&lt;/em&gt;, нежели как изменение хода часов на &lt;em&gt;Ci&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;Каждый алгоритм &lt;em&gt;Ajj&lt;/em&gt; принимает сообщения со всех &lt;em&gt;N&lt;/em&gt; серверов. В частности, сообщения от сервера &lt;em&gt;Xi&lt;/em&gt;, которые будут направлены в исходный центральный алгоритм &lt;em&gt;A&lt;/em&gt;  реплицируются и рассылаются по  всем алгоритмам &lt;em&gt;Аj.Репликация сообщений может быть выполнена в аппаратных средствах или в программном обеспечение компьютера Ci&lt;/em&gt;, находящемся в связке с &lt;em&gt;Xi&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Искусственная задержка &lt;em&gt;di&lt;/em&gt; + &lt;em&gt;dj&lt;/em&gt; – &lt;em&gt;di,j&lt;/em&gt; вводится для всех сообщений, поступивших на &lt;em&gt;Aj&lt;/em&gt; от сервера &lt;em&gt;Xi&lt;/em&gt;. Задержки сообщений могут быть реализованы либо в аппаратных средствах, либо  в программном обеспечении, работающем на &lt;em&gt;Cj&lt;/em&gt;. (Данный генератор задержки удобнее воспринимать, как модификацию алгоритма  &lt;em&gt;Aj&lt;/em&gt;.). Обратите внимание, что, когда &lt;em&gt;i&lt;/em&gt; = &lt;em&gt;j&lt;/em&gt;, то задержка равна &lt;em&gt;i&lt;/em&gt; + &lt;em&gt;di&lt;/em&gt; – &lt;em&gt;di,i&lt;/em&gt; = 2⋅&lt;em&gt;di&lt;/em&gt;. То есть, задержка для всех сообщений, отправляемых сервером &lt;em&gt;Xi&lt;/em&gt;  в расположенный по соседству компьютер равна &lt;em&gt;Ci&lt;/em&gt; это 2⋅&lt;em&gt;di&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Алгоритм &lt;em&gt;Ai&lt;/em&gt; посылает свое сообщение с выходными данными только в &lt;em&gt;Xi&lt;/em&gt; сервер, находящийся в colocation связке. Когда оригинальный алгоритм будет отправлять сообщение на другой сервер &lt;em&gt;Xj&lt;/em&gt;, &lt;em&gt;Ai&lt;/em&gt; бездействует \ - вместо этого, алгоритм &lt;em&gt;Aj&lt;/em&gt; , находящийся в связке с &lt;em&gt;Xj&lt;/em&gt;, посылает идентичное сообщение именно в нужное время. &lt;em&gt;Aj&lt;/em&gt; может зафиксировать это событие в логе, тем не менее,  будет действовать так, как было описано ранее.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Механизмы &amp;quot;центрального компьютера&amp;quot; и &amp;quot;совмещенных групп&amp;quot; эквивалентны&lt;/strong&gt;
Чтобы убедиться, что механизм &amp;quot;совмещенных групп&amp;quot; работает так же, как механизм &amp;quot;центрального компьютера&amp;quot;, нужно удостовериться, что отосланные входные данные приводят к тем же выходным данным, полученным серверами в одно и то же самое время, обоими механизмами &amp;quot;черных ящиков&amp;quot;.
Очевидно, что для любого  &lt;em&gt;j&lt;/em&gt;, алгоритм &lt;em&gt;Aj&lt;/em&gt; принимает одно и то же сообщение с входными данными, которое будет получено алгоритмом &lt;em&gt;A&lt;/em&gt;, но &lt;em&gt;Aj&lt;/em&gt; принимает их после задержки &lt;em&gt;dj&lt;/em&gt; по отношению к времени, использующимся в алгоритме &lt;em&gt;А&lt;/em&gt;. Именно во время t, алгоритм А получит сообщение от сервера &lt;em&gt;Xi&lt;/em&gt;, которое было отправлено в момент времени &lt;em&gt;t&lt;/em&gt; – &lt;em&gt;di&lt;/em&gt;. Это же сообщение посылается от &lt;em&gt;Xi&lt;/em&gt; к &lt;em&gt;Aj&lt;/em&gt; с применением генератора искусственной задержки &lt;em&gt;(di&lt;/em&gt; + &lt;em&gt;dj&lt;/em&gt; – &lt;em&gt;di,j)&lt;/em&gt;, а затем через линию передачи, которая имеет задержку &lt;em&gt;di,j&lt;/em&gt;. Таким образом, поступление данных на &lt;em&gt;Aj&lt;/em&gt; происходит в момент времени &lt;em&gt;(t&lt;/em&gt; – &lt;em&gt;di)&lt;/em&gt; + &lt;em&gt;(di&lt;/em&gt; + &lt;em&gt;dj&lt;/em&gt; – &lt;em&gt;di,j)&lt;/em&gt; + &lt;em&gt;di,j&lt;/em&gt; = &lt;em&gt;t + dj&lt;/em&gt;.
Задержка &lt;em&gt;di&lt;/em&gt; устраняется путем установки времени &lt;em&gt;Aj&lt;/em&gt; назад на величину &lt;em&gt;dj&lt;/em&gt;. Это означает, что при времени UTC  &lt;em&gt;t&lt;/em&gt; + &lt;em&gt;dj&lt;/em&gt;, все выходные данные &lt;em&gt;Aj&lt;/em&gt; (в том числе и время) идентичны выходным данным из &lt;em&gt;A&lt;/em&gt; в UTC времени &lt;em&gt;t&lt;/em&gt;. Таким образом, &lt;em&gt;Aj&lt;/em&gt;  делает одни и те же решения в момент  &lt;em&gt;t&lt;/em&gt; + &lt;em&gt;dj&lt;/em&gt;, как и &lt;em&gt;A&lt;/em&gt; в момент времени &lt;em&gt;t&lt;/em&gt;. Хотя решения, принятые алгоритмом &lt;em&gt;Aj&lt;/em&gt; сделаны с задержкой &lt;em&gt;dj&lt;/em&gt;, ее выходные данные доставляются мгновенно на сервер &lt;em&gt;Xj&lt;/em&gt; (без задержки &lt;em&gt;dj&lt;/em&gt;, которые были потеряны при отправке выходных данных с алгоритма &lt;em&gt;A&lt;/em&gt; на &lt;em&gt;Xj&lt;/em&gt;), что означает, что обе временные метки, поставленные алгоритмом &lt;em&gt;Aj&lt;/em&gt; и время доставки сообщений, отслеживаемые &lt;em&gt;Xj&lt;/em&gt;, идентичны тем, которые получены алгоритмом &lt;em&gt;А&lt;/em&gt;. Это доказывает теорему 1.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Пример:&lt;/strong&gt;
Чтобы получить некоторое представление о том, как хитро работает механизм совмещенных групп, мы будем использовать пример из статьи журнала Nature. Мы начинаем с одного компьютера - &amp;quot;срединной точки&amp;quot; &lt;em&gt;C&lt;/em&gt;, расположенном в геодезическом центре между серверами двух финансовых центров &lt;em&gt;X1&lt;/em&gt; и &lt;em&gt;X2&lt;/em&gt; (Нью-Йорка и Лондона) и представим торговлю EUR / USD на спот рынке Forex). См. рисунок  &amp;quot;Механизм с применением центрального компьютера&amp;quot;.
Используя простые обозначения, &lt;em&gt;d&lt;/em&gt; = &lt;em&gt;d1,2&lt;/em&gt; (около 20 миллисекунд со скоростью света) и &lt;em&gt;h&lt;/em&gt; = &lt;em&gt;d1&lt;/em&gt; = &lt;em&gt;d2&lt;/em&gt; = &lt;em&gt;d/2&lt;/em&gt;, и, вооружившись базовым методом, изложенным выше, мы сформируем простой функционально эквивалентный механизм, состоящий из пары компьютеров, размещенных в дата-центрах двух бирж, показанных на рисунке  &amp;quot;Механизм пары компьютеров, находящихся в Colocation связке с разными биржами&amp;quot;.&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103442/Механизм-пары-компьютеров-в-колокейшн.png" alt="Механизм пары компьютеров, находящихся в Colocation связке с разными биржами" /&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103441/Механизм-с-компьютером-в-серединной-точке.png" alt="Механизм с компьютером в &amp;quot;серединной точке&amp;quot;" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Далее мы покажем конкретный алгоритм арбитражной стратегии в действии, прослеживая его шаг за шагом в обоих сценариях. Наш алгоритм арбитражной стратегии &amp;quot;серединной точки&amp;quot; выглядит следующим образом: если цена Ask, с одной стороны (например, &lt;em&gt;X1&lt;/em&gt;) точно меньше, чем цена Bid на другой стороне (&lt;em&gt;X2&lt;/em&gt;), тогда отправляем лимитную заявку на покупку типа FOK (fill-or-kill) на сторону &lt;em&gt;X1&lt;/em&gt; и аналогичную лимитную заявку на продажу на сторону &lt;em&gt;X2&lt;/em&gt;. Если оба ордера успешно заполнены, мы добились своего и сделали прибыль. В противном случае (если, скажем, продать на &lt;em&gt;X2&lt;/em&gt; не удалось) - мы отступаем, ликвидируя свою позицию, используя рыночную заявку. Она отправляется на биржу, которая предлагает лучшую цену Bid. (Это не самый умный алгоритм арбитража, однако, этого достаточно, чтобы проиллюстрировать то, что происходит внутри двух &amp;quot;черных ящиков&amp;quot;).&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103443/Таблица-1+.png" alt="Алгоритм арбитражной стратегии в действии_1" /&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103444/Таблица-2+.png" alt="Алгоритм арбитражной стратегии в действии_2" /&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103445/Таблица-3.png" alt="Алгоритм арбитражной стратегии в действии_3" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;В следующей части мы разберем, какой же из вышеописанных вариантов представляет оптимальное решение для HFT арбитражных стратегий. Почему Colocation &amp;quot;преодолевает скорость света&amp;quot; и что по мнению профессиональных арбитражеров - &amp;quot;поистине распределенная архитектура биржи&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://stocksharp.com/posts/m/33335/"&gt;&lt;strong&gt;Перейти к части 3&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://edhoworka.com/colocation-beats-the-sol/#cbtsol_Central_Computer" rel="nofollow" target="_blank"&gt;Ссылка на первоисточник данной статьи&lt;/a&gt;
Перевод: &lt;a href="http://smart-lab.ru/my/MrFly/blog/all/" rel="nofollow" target="_blank"&gt;Николай Флёров&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/300/</id>
    <title type="text">Colocation преодолевает скорость света. 1 часть</title>
    <published>2015-06-28T21:48:32Z</published>
    <updated>2016-09-22T16:03:08Z</updated>
    <author>
      <name>Николай_Флёров</name>
      <uri>https://stocksharp.ru/users/6456/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="HFT роботы" />
    <category term="colocation" />
    <category term="Статьи" />
    <content type="html">&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103435/Заглавная-картинка.jpg" alt="Colocation преодолевает скорость света. 1 часть" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;В данной статье мы рассмотрим вопрос, получают ли трейдеры преимущество, базируя свой компьютер между двумя финансовыми биржами. Например, на корабле в середине океана - вопреки рекомендации из статьи &amp;quot;Physics in finance: Trading at the speed of light&amp;quot; (Mark Buchanan, Nature, 11 февраля 2015 г.). Или же лучший результат покажет торговая стратегия, использующая два взаимодействующих компьютера, размещенных в дата-центрах разных бирж. В доходчивой форме будет рассмотрен вопрос о том, является ли преимуществом распределение торговых стратегий. Либо же наоборот лучше использовать распределенную архитектуру биржевых серверов, которые устраняют необходимость в распределенных арбитражных стратегиях.
Изучив данную статью целиком, вы откроете для себя, какой метод расположения серверов является наиболее эффективным, при работе с HFT арбитражными стратегиями, работая одновременно на нескольких биржах.&lt;/p&gt;
&lt;p&gt;Статья из журнала Nature (авторское замечание)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;В будущем, когда надводные лазерные сети охватят океаны, изменения в трейдинге могут стать еще более необычными. Место, в котором трейдеры могут получать наиболее актуальную информацию от двух бирж одновременно, находится в их средней точке - между Чикаго и Лондоном, то есть в середине Атлантического океана. В данном месте, трейдеры могут использовать технику, называемую &amp;quot;релятивистский арбитраж&amp;quot;, чтобы получить прибыль от сиюминутного дисбаланса цен между Чикаго и Лондоном.
Объяснение: специальная теория относительности говорит, что ничто не может двигаться быстрее скорости света С. Таким образом трейдер, находясь на расстоянии D от биржи может узнать, что там произошло, в лучшем случае, не раньше чем  -  T = D/C после того, как событие произошло. Между крупными торговыми центрами по всему миру, такие задержки могут быть от нескольких до десятков миллисекунд. Если трейдер стоит на полпути между двумя биржами, он будут получать информацию с обеих сторон после, Т = D/C. В любом другом месте, если расстояние, по крайней мере, одной из бирж будет  более удалено, то информации потребуется больше времени, т.е увеличится задержка.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Другими словами, в течение нескольких лет может стать прибыльным устанавливать  корабль или платформы для трейдинга на участках ровно между парами финансовых центров по всему миру&lt;/strong&gt; (&lt;a href="http://www.nature.com/news/518161a-i4-jpg-7.23503?article=1.16872" rel="nofollow" target="_blank"&gt;см.  Fast-trading hotspots&lt;/a&gt;).
Статья из Nature предоставляет карту мира с указанием всех мировых финансовых центров и более тысячи точек, лежащих ровно посередине, где высокочастотные трейдеры должны будут устанавливать свои компьютеры, чтобы оптимально использовать данные возможности для арбитража. Как и ожидалось, многие из этих &amp;quot;оптимальных&amp;quot; мест, в действительности &amp;quot;места глухие&amp;quot; (одна точка находится в пустыне, где исчез рейс MH 370). Карты не указывают на важность центров или значение &amp;quot;перспективных точек для трейдинга&amp;quot;, но ясно, что наиболее значимые точки лежат где-то в северной части Атлантического океана.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Карта наиболее удобных точек для арбитражного трейдинга&lt;/strong&gt;&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/103436/Переведенный3.jpg" alt="Наиболее удобные точки для арбитражного трейдинга" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Карта наиболее удобных точек для арбитражного трейдинга [1]. Используется с разрешения издательской группы Nature.&lt;/p&gt;
&lt;p&gt;Карта впервые была представлена в издании &lt;a href="http://journals.aps.org/pre/abstract/10.1103/PhysRevE.82.056104" rel="nofollow" target="_blank"&gt;Relativistic statistical arbitrage[2]&lt;/a&gt;
В той статье &amp;quot;серединные точки&amp;quot; взвешивали по скорости оборачиваемости (отношение стоимости акций, обращающихся на бирже в общей рыночной капитализации) – там использовались не истинные геодезические средние точки, как это подразумевается в статье издательской группы Nature. Кроме того, &amp;quot;финансовые центры&amp;quot;, определенные в статье как 52 биржи, перечисленные в Всемирной федерации бирж из Годового отчета за 2009г. (&lt;a href="http://www.world-exchanges.org/files/statistics/pdf/2009_WFE_AR.pdf" rel="nofollow" target="_blank"&gt;World Federation of Exchanges 2009 Annual Report[3]&lt;/a&gt; ) - и не включают Forex площадки, которые превосходят все другие торговые центры по показателю величины объема торгов.
Новости относительно оптимального размещения компьютеров для HFT (высокочастотной торговли) была широко освещена профессиональными средствами массовой информации; см. статьи в  &lt;a href="http://physicscentral.com/explore/action/stocktrade.cfm" rel="nofollow" target="_blank"&gt;PhysicsCentral[4]&lt;/a&gt;, &lt;a href="http://www.marketwatch.com/story/physicist-says-it-is-possible-to-use-ships-to-facilitate-high-frequency-trading-2015-02-18" rel="nofollow" target="_blank"&gt;MarketWatch[5]&lt;/a&gt;, &lt;a href="http://www.ibtimes.co.uk/dark-pool-hft-it-possible-use-ships-high-frequency-trading-1488663" rel="nofollow" target="_blank"&gt;International Business Times[6]&lt;/a&gt;, и &lt;a href="http://www.waterstechnology.com/buy-side-technology/opinion/2398594/hfts-oceanic-midpoint" rel="nofollow" target="_blank"&gt;WatersTechnology[7]&lt;/a&gt;. Некоторые эксперты приняли данный &amp;quot;факт&amp;quot;, как само собой разумеющееся, некоторые же выразили сомнения. Билла Хэртс(Bill Harts), генеральный директор Modern Markets Initiative, группы, которая занимается высокочастотной торговлей, отвергнул данную идею, высказав мысль в электронном издании MarketWatch: &amp;quot;Даже если трейдер может получать данные с обеих бирж быстрее в средней точке, то воспользовавшись преимуществом, имея только один компьютер в средней точке, они будут посылать заявки на рынок с достаточно большого расстояния – и будут всегда медленнее, чем трейдеры, размещенные на локальных рынках&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Головоломка серединных точек.&lt;/strong&gt;
В статье Nature  тривиально утверждается, что середина между двумя биржами является точкой, где наиболее быстрым образом может быть обнаружена возможность арбитража. Что менее очевидно - учитывая, что &lt;a href="https://en.wikipedia.org/wiki/Mark_Buchanan" rel="nofollow" target="_blank"&gt;Марк Бьюкенен&lt;/a&gt;, уважаемый физик и автор ошибся - это то, что серединное расположение особенно неблагоприятное  место, для принятия торговых решений.
Здесь &amp;quot;шестое чувство” Билла Хэртса  является правильным. В своей статье &lt;a href="http://www.ibtimes.co.uk/dark-pool-hft-boe-says-high-speed-trading-helps-markets-1489314" rel="nofollow" target="_blank"&gt;follow-up IBT article[8]&lt;/a&gt;, он подчеркивает: &amp;quot;Если бы это было возможно, поставить дата центр в Янгстаун, штат Огайо, (примерно на полпути между биржами Нью-Йорка и Чикаго), если бы это место было бы самым благоприятным для HFT, все высокочастотные трейдеры базировались бы там. Но знаете что? Там нет HFT трейдеров в Янгстауне, штат Огайо&amp;quot;.
Таким образом, HFT арбитражеры знают, что торговля с средней точке расположенной между биржами - это плохая идея. Тем не менее, заявление Хэртса не совсем корректно – трейдер, торгующий с серединной точки на самом деле, достаточно быстр, чтобы воспользоваться нарушением паритета цен между двумя биржами. Недостатком же, по сравнению с &amp;quot;системой компьютеров, размещенных на реальных рынках&amp;quot;, является то, что – компьютер в серединной точке после подачи заявки как бы &amp;quot;слеп&amp;quot; и не может контролировать заявку достаточно хорошо. Читайте дальше, чтобы осознать действительно невероятное преимущество размещения серверов в дата-центрах бирж и распределенных торговых стратегий.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Решение задачи.&lt;/strong&gt;
Для универсальности  далее по тексту термином &amp;quot;серверы&amp;quot;, будет заменен термин  &amp;quot;биржевые-серверы&amp;quot;, потому что наш результат относится к сценариям носящим более общий характер, чем просто  алгоритм связи с финансовыми биржами. Мы будем использовать термин &amp;quot;компьютер&amp;quot;, когда говорим о не серверных компьютерах под управлением программного обеспечения, которое взаимодействует с серверами (например, алгоритмическая торговая стратегия).
В следующих нескольких разделах мы докажем одну фундаментальную  теорему. (Пожалуйста, не беспокойтесь - доказательство будет так же просто, как строительство из Lego блоков.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Теорема 1.&lt;/strong&gt; Любой алгоритм, который работает на одном центральном компьютере, расположенном в любой точке мира и соединен с одним, или большим количеством серверов (N≥ 1), может быть воспроизведен с использованием нескольких компьютеров, работающих в связке с серверами, таким образом, что такая реализация (зарегистрировано серверами) функционально ничем не будет отличается от оригинального одно-компьютерного решения.
Доказательство довольно просто. Во-первых,  мы формально определяем единый центральный механизм компьютера. Затем мы покажем, как построить эквивалентный механизм, который использует группу компьютеров, размещенных в дата-центрах бирж, без необходимости центрального компьютера. Другими словами, мы начинаем с черного ящика реализованного с помощью центрального компьютера и покажем, как можно построить эквивалентный черный ящик без центрального компьютера.&lt;/p&gt;
&lt;p&gt;В следующей части статьи, мы подробно остановимся на свойствах распределенных вычислительных решений. Сравним арбитражные механизмы на базе центрального компьютера и механизм с применением &lt;a href="https://en.wikipedia.org/wiki/Collocation" rel="nofollow" target="_blank"&gt;Colocation*&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;*&lt;a href="http://legacy.moex.com/services/technicalaccess/colocation" rel="nofollow" target="_blank"&gt;Colocation (MICEX)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://stocksharp.com/posts/m/33318/"&gt;&lt;strong&gt;Перейти к части 2&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://edhoworka.com/colocation-beats-the-sol/" rel="nofollow" target="_blank"&gt;Ссылка на первоисточник данной статьи&lt;/a&gt;
&lt;a href="http://smart-lab.ru/my/MrFly/blog/all/" rel="nofollow" target="_blank"&gt;Перевод: Николай Флёров&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/338/</id>
    <title type="text">Создание торгового робота на Plaza2</title>
    <published>2013-03-13T10:36:09Z</published>
    <updated>2016-09-14T01:46:57Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Статьи" />
    <content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Введение.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;В последнее время широкую популярность приобретает разработка торговых роботов с использованием платформы *Plaza2*. Основной причиной популярности этой платформы является минимальное количество звеньев между торговым роботом и серверами биржи, что позволяет добиться более высокой надежности системы, высокой скорости передачи рыночных данных и обработки транзакций. Таким образом, робот, использующий протокол *Plaza2*, имеет более реальную картинку торгов и может оценивать рынок более точно, чем роботы, подключенные через *Quik*, *SmartCom* и т.д. Описание протокола и набора транслируемых данных можно найти на сайте Московской биржи, а так же по следующим ссылкам [здесь](ftp.rts.ru/pub/FORTS/Plaza2/P2ClientGate.doc) и [здесь](ftp.rts.ru/pub/FORTS/Plaza2/p2gate_ru.pdf).

**:[Роутер.]{size=24pt}**

При использовании торгового терминала *Quik* подключение производится непосредственно к терминалу на локальной машине. Когда используется Plaza2, то подключение происходит к клиентскому роутеру, который может находить как на локальной машине, так и на удаленной. Роутер позволяется подключаться к нему из нескольких приложений одновременно, что является большим преимуществом. Например, можно упростить инфраструктуру торгового робота и запускать каждую стратегию в виде отдельного приложения, это так же позволит повысить устойчивость каждого отдельного робота.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Из недостатков можно выделить отсутствие, какого бы то ни было, пользовательского интерфейса, т.е. невозможность ручного управления позициями при работе робота. Для этих целей можно использовать простой «самописный терминал», с помощью которого можно будет просматривать стаканы, списки заявок и сделок, портфели и лимиты, а так же выставлять заявки в случае необходимости. В качестве каркаса подобного терминала может служить S# пример &lt;em&gt;Plaza\SampleGUI&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Роутер представляет собой самостоятельное приложение, единственной функцией которого является передача данных от биржи клиенту и наоборот. Есть два варианта запуска локального роутера: в виде службы и консольного приложения. Способ запуска роутера выбирается при его установке. При использовании консольного приложения, пользователь может сделать несколько конфигурационных файлов и запускать роутеры для разных логинов или серверов с помощью простых командных файлов. Полное детальное описание процесса установки и настройки роутера вы можете найти в файлах документации &lt;a href="ftp.rts.ru/pub/FORTS/Plaza2/P2ClientGate.doc" rel="nofollow" target="_blank"&gt;здесь&lt;/a&gt; и &lt;a href="ftp.rts.ru/pub/FORTS/Plaza2/p2gate_ru.pdf" rel="nofollow" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;**:[Подключение к роутеру.]{size=24pt}**

В настоящее время роутером поддерживаются два вида соединений:
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;Соединение посредством протокола &lt;em&gt;TCP/IP&lt;/em&gt;. Медленнее, удобно для отладки, может связываться с роутером, установленным на другой машине&lt;/li&gt;
&lt;li&gt;Соединение посредством разделяемой памяти (&lt;em&gt;lrpcq&lt;/em&gt;). Быстрее, оптимально для боевых систем, работает исключительно в рамках одной машины.
Платформа S# поддерживает оба типа соединение и по умолчанию используется &lt;em&gt;TCP/IP&lt;/em&gt; соединение. Для использования &lt;em&gt;lrpcq&lt;/em&gt; подключения необходимо до подключения к роутеру выставить флаг:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;Trader.UseLocalProtocol = true;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Следует отметить, что использование &lt;em&gt;lrpcq&lt;/em&gt; подключения в некоторых случаях сопряжено с определенными трудностями, например, при обрыве связи с роутером и переподключении может возникнуть ситуация, когда переподключиться не получится, т.к. роутер будет считать, что подключение с таким именем приложения еще установлено. Связано это с довольно большим таймаутом для данного типа подключения на стороне роутера и возможно будет исправлено в новых версиях роутера.&lt;/p&gt;
&lt;p&gt;Для подключения к роутеру, установленному на другой машине, необходимо внести дополнительные изменения в конфигурацию роутера. По умолчанию, конфигурация роутера хранится в файле &lt;em&gt;client_router.ini&lt;/em&gt; в директории, куда был установлен роутер. Чтобы иметь возможность подключаться к роутеру удаленно, необходимо указать имена приложений, с помощью которых будет выполняться удаленное подключение и пароль для каждого из имен, для этого в файл конфигурации необходимо добавить следующие строки:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[AS:Local]
префикс_0=пароль
префикс_1=пароль
префикс_2=пароль
Т.к. одно приложение может одновременно использовать несколько подключений к роутеру, то к имени, указанному в &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_AppName.htm"&gt;AppName&lt;/a&gt; добавляется его номер, таким образом, соединения именуются как &lt;em&gt;{префикс_номер}&lt;/em&gt;, поэтому в конфигурации роутера необходимо указать все названия имен с учетом их номеров.
После настройки роутера, необходимо дополнительно указать пароль для S# коннектора, который был сохранен в файле конфигурации роутера. Для указания сетевого пароля используется поле &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Password.htm"&gt;Password&lt;/a&gt;, которое может использоваться в двух вариациях:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;в случае если было задано поле &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Login.htm"&gt;Login&lt;/a&gt;, то поле &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Password.htm"&gt;Password&lt;/a&gt; используется для указания пароля для подключения серверам биржи или брокера;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;если поле &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Login.htm"&gt;Login&lt;/a&gt; задано не было, тогда &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Password.htm"&gt;Password&lt;/a&gt; будет использоваться как пароль для локального соединения.
При необходимости подключения к роутеру нескольких торговых роботов, для каждого робота необходимо задать уникальный префикс приложения с помощью поля &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_AppName.htm"&gt;AppName&lt;/a&gt;. Имя приложения используется в сети для идентификации конечного отправителя-получателя сообщения. Не рекомендуется использовать слишком длинные имена – при работе размеры пакетов данных невелики, и служебная информация, частью которой является AppName, может превысить полезную нагрузку в пакете.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Схемы данных.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;В платформе &lt;em&gt;Plaza2&lt;/em&gt; все данные транслируются сервером на клиентов в push-режиме, клиент постоянно получает последовательность изменений данных в соответствующих таблицах. Все данные, получаемые роутером, группируются в таблицы, которые в свою очередь сгруппированы в потоки.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Для определения набора полей, которые будут транслироваться в каждой таблице, используются схемы данных. Протокол &lt;em&gt;Plaza2&lt;/em&gt; позволяет использовать два варианта схем данных:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Серверная схема данных&lt;/strong&gt;
При открытии потока пользователю не требуется задавать какое-либо описание получаемых данных, в момент подключения роутер получит схему данных с сервера, и все данные будут приходить согласно полученной схеме. Таким образом, перед пользователем не стоит задача поддержания схемы в валидном состоянии, т.к. набор доступных полей для каждой таблицы может меняться с течением времени.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Пользовательская схема данных&lt;/strong&gt;
В случае, когда стандартный набор полей в таблицах содержит лишние или не содержит необходимых полей, пользователь может задать свои схемы данных для каждого потока и таблицы отдельно. Пользовательские схемы описываются с помощью &lt;em&gt;ini-файлов&lt;/em&gt;, в которых указывается название схемы данных, названия таблиц и список полей для каждой таблицы. Далее, при открытии потока данных, передается путь к соответствующему файлу с настройками схемы и ее название, и роутер отправляет схему на сервер для согласования. В случае если схема была принята на серверной стороне, все данные будут приходить с указанным набором полей. Если в схеме есть недопустимые поля или типы полей, то с сервера придет соответствующее сообщение, поток данных при этом открыт не будет, более детальное описание ошибки будет записано в клиентский лог-файл, который располагается в папке *\StockSharp_Plaza\Logs*.
Полное описание формата данных для всех транслируемых таблиц можно найти в файле документации &lt;a href="ftp.rts.ru/pub/FORTS/Plaza2/p2gate_ru.pdf" rel="nofollow" target="_blank"&gt;2&lt;/a&gt;, а так же в описании схем данных, которое устанавливается вместе с роутером.
Для того чтобы исключить необходимость постоянного обращения к документации &lt;em&gt;Plaza2&lt;/em&gt;, возможные опечатки при задании схем данных, не оперировать непонятными сокращениями в названиях полей и их типами, в S# было введено &lt;a href="http://stocksharp.com/doc/html/838b1f44-ad42-4bf6-b862-0b0bff550482.htm"&gt;понятие метаданных&lt;/a&gt;, которые содержат описания всех доступных таблиц и полей, которые могут быть в этих таблицах. Описание метаданных находится в пространстве имен &lt;a href="http://stocksharp.com/doc/html/N_StockSharp_Plaza_Metadata.htm"&gt;StockSharp.Plaza.Metadata&lt;/a&gt;. Например, все доступные таблицы представлены полями класса &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Plaza_Metadata_PlazaTableRegistry.htm"&gt;PlazaTableRegistry&lt;/a&gt;, а все доступные поля для таблицы сделок по фьючерсам - &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaColumnRegistry_TradeFuture.htm"&gt;ColumnRegistry.TradeFuture&lt;/a&gt;.
Набор таблиц, данные из которых необходимо будет получать при подключении к серверу, задается с помощью свойства &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Tables.htm"&gt;PlazaTrader.Tables&lt;/a&gt;, куда необходимо добавить нужные таблицы и удалить ненужные. Для ручного добавления и удаления таблиц можно необходимо вызвать соответствующую функцию у &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Tables.htm"&gt;PlazaTrader.Tables&lt;/a&gt; и передать в качестве параметра одно из полей &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_TableRegistry.htm"&gt;PlazaTrader.TableRegistry&lt;/a&gt;, например, для добавления полного ордерлога необходимо выполнить:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;PlazaTrader.Tables.Add(PlazaTrader.TableRegistry. AnonymousOrdersLog);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В определенных ситуациях, выбор необходимого набора таблиц для получения данных можно оставить конечному пользователю, для этого в S# присутствует специальный графический компонент &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Plaza_Xaml_PlazaTableListComboBox.htm"&gt;PlazaTableListComboBox&lt;/a&gt;, который представляет собой выпадающий список с набором всех доступных таблиц (рис. 1). Каждая строка представлена в виде трех столбцов: описания таблицы, названия потока репликации, в котором транслируется таблица и названия самой таблицы, последние два столбца соответствуют названиям потока и таблицы в документации по &lt;em&gt;Plaza2&lt;/em&gt;.&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/102251/Clipboard01.jpg" alt="Рис. 1 - Выбор таблиц репликации данных." /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Для того чтобы передать список выбранных таблиц в &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Plaza_PlazaTrader.htm"&gt;PlazaTrader&lt;/a&gt;, в библиотеке S# присутствует специальный метод расширения &lt;a href="http://stocksharp.com/doc/html/M_StockSharp_Plaza_PlazaTraderHelper_SyncTables.htm"&gt;SyncTables&lt;/a&gt;, который можно использовать следующим образом:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;PlazaTrader.SyncTables(Tables.SelectedTables);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;при этом нет необходимости в очистке списка таблиц, т.к. все лишние таблицы будут удалены автоматически.
Для всех таблиц можно указать набор полей, которые должны транслироваться в них. Описание полей для таблиц так же находятся в метаданных, в классе &lt;a href="http://stocksharp.com/doc/html/Fields_T_StockSharp_Plaza_Metadata_PlazaColumnRegistry.htm"&gt;PlazaColumnRegistry&lt;/a&gt; для каждой из таблиц есть соответствующее поле, например, все доступные поля для таблицы сделок по фьючерсам описаны в &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaColumnRegistry_TradeFuture.htm"&gt;PlazaColumnRegistry.TradeFuture&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Поля таблицы, для которых нет соответствующих полей у объектов S#, будут записываться в специальный словарь &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_BusinessEntities_IExtendableEntity_ExtensionInfo.htm"&gt;ExtensionInfo&lt;/a&gt; объекта S#. Например, если нам необходимо получать данные по сбору по сделке продавца, то в таблицу &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaColumnRegistry_TradeFuture.htm"&gt;TradeFuture&lt;/a&gt; необходимо добавить столбец &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTradeDerivativeColumns_SellFee.htm"&gt;SellFee&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;PlazaTrader.TableRegistry.TradeFuture.Columns.Add(PlazaTrader.TableRegistry.ColumnRegistry.TradeFuture.SellFee);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;далее, в момент обработки данных по сделке, данное поле можно будет получить следующим образом:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var fee = trade.ExtensionInfo[PlazaTrader.TableRegistry.ColumnRegistry.TradeFuture.SellFee];
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Подробное описание работы с дополнительными полями и произвольными таблицами можно найти в &lt;a href="http://stocksharp.com/doc/html/7eda6d74-d3b8-4fe5-b6a3-fab60e441daf.htm"&gt;документации&lt;/a&gt; по S# в разделе Российские коннекторы - Plaza2.&lt;/p&gt;
&lt;p&gt;После того как были выбраны все необходимые таблицы и их поля, в момент подключения к серверу будут сгенерированы соответствующие файлы схем данных, которые будут записаны в *.\StockSharp_Plaza\Configs* и будут использоваться при открытии соответствующих потоков. Нет необходимости в ручном изменении этих файлов, т.к. при следующем подключении они снова будут перезаписаны данными, сгенерированными по набору таблиц и их полей. Но эти файлы могут быть использованы в случае ошибки при открытии потока, чтобы понять, где была допущена ошибка.&lt;/p&gt;
&lt;p&gt;При подключении к роутеру, все выбранные таблицы группируются по потокам, которые, в свою очередь, группируются по разным соединениям. Каждое подключение к роутеру может использоваться для передачи данных по одному и более потоку репликации. Разделение потоков по разным соединениям необходимо для уменьшения влияния процесса обработки одних данных на другие, например, разделение потоков с таблицами сделок и агрегированных заявок по разным подключениям, позволяется обрабатывать стаканы, не дожидаясь пока будут обработаны все пришедшие сделки. В библиотеке S#, все получаемые потоки изначально сгруппированы таким образом, что наиболее нагруженные потоки репликации обрабатываются в различных подключениях. Если, по каким-либо причинам, стандартная группировка потоков не подходит для решения поставленных задач, ее можно изменить с помощью &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaStreamManager_ConnectionGroupping.htm"&gt;ConnectionGroupping&lt;/a&gt;. Например, если необходимо получать все потоки репликации в одном подключении, то необходимо для каждого потока указать одинаковый индекс подключения:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var streamRegistry = PlazaTrader.TableRegistry.StreamRegistry;
var groupping = PlazaTrader.StreamManager.ConnectionGroupping;

groupping[streamRegistry.Aggregation5Future] = 0;
groupping[streamRegistry.Aggregation5Option] = 0;
groupping[streamRegistry.Aggregation20Future] = 0;
groupping[streamRegistry.Aggregation20Option] = 0;
groupping[streamRegistry.Aggregation50Future] = 0;
groupping[streamRegistry.Aggregation50Option] = 0;
...
groupping[streamRegistry.TradeFuture] = 0;
groupping[streamRegistry.TradeOption] = 0;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Посмотреть сколько открывается соединений, и с какими названиями, можно в логе PlazaTrader-а в момент подключения:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;PlazaTrader     | 30.01.2013 15:10:21.761 |         | Attempted to connect Webinar_0.
PlazaTrader     | 30.01.2013 15:10:21.819 |         | Attempted to connect Webinar_1.
PlazaTrader     | 30.01.2013 15:10:21.820 |         | Attempted to connect Webinar_2.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;**:[Управление ревизиями.]{size=24pt}**

Каждая реплицируемая таблица имеет в своей структуре несколько служебных полей, предназначенных для обеспечения механизма репликации. Одним из полей является уникальный номер изменения в таблице. При любом изменении в таблице (вставке, редактировании, удалении записи) затронутая запись получает значение *replRev*, равное максимальному *replRev* в таблице до изменения +1. После согласования схем данных, клиент отсылает на сервер максимальные значения номера ревизии для каждой таблицы. Начальная синхронизация заключается в том, что сервер присылает клиенту все данные с номерами, большими, чем те, что указал клиент. Если клиент не указал номер ревизии для таблицы, то данные по этой таблице будут приходить в полном объеме.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Для того чтобы получение данных начиналось с последних сохраненных ревизий, необходимо добавить нужные таблицы в &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaRevisionManager_Tables.htm"&gt;PlazaRevisionManager.Tables&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var revisionManager = PlazaTrader.StreamManager.RevisionManager;

revisionManager.Tables.Add(Trader.TableRegistry.TradeFuture);
revisionManager.Tables.Add(Trader.TableRegistry.TradeOption);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;При первом подключении, после добавления таблиц в &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Plaza_PlazaRevisionManager.htm"&gt;RevisionManager&lt;/a&gt;, данные так же будут получены в полном объеме, т.к. информация о сохраненных номерах ревизий еще отсутствует. После переподключения, данные будут скачиваться с номера последней сохраненной ревизии.
Интервал, через который сохраняется номер последней ревизии, доступен через &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaRevisionManager_Interval.htm"&gt;PlazaRevisionManager.Interval&lt;/a&gt;. По умолчанию файл с номером последней ревизии по выбранной таблице сохраняется в папку &lt;em&gt;\StockSharp_Plaza\Revisions&lt;/em&gt;. Для того чтобы перезакачать все данные, достаточно удалить файлы из папки &lt;em&gt;Revisions&lt;/em&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;**:[Полный ордерлог.]{size=24pt}**

Полный журнал заявок – сервис Московской биржи, который позволяет получать список всех торговых транзакций, принятых торговой системой в текущую торговую сессию с указанием текущего статуса заявок (поставлена/удалена) и изменений параметров транзакции (частичных исполнений, передвижений заявки). Также в журнале отображается запись о сделке, с указанием номера сведенной в данную сделку заявки. Ордерлог - самый глубокий и детальный уровень биржевых данных, который доступен трейдеру. По данным ордерлога можно построить стаканы, получить тики и многое другое.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Для получения и обработки всех данных по ордерлогу необходимо добавить таблицу &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm"&gt;AnonymousOrdersLog&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;PlazaTrader.Tables.Add(PlazaTrader.TableRegistry. AnonymousOrdersLog);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;и подписаться на обработку события &lt;a href="http://stocksharp.com/doc/html/E_StockSharp_Algo_BaseTrader_NewOrderLogItems.htm"&gt;NewOrderLogItems&lt;/a&gt;.
Ордерлог, в отличие от потока агрегированных заявок, содержит информацию по всем заявкам, таким образом, по ордерлогу может быть построен стакан полной глубины. Библиотека S# предоставляет функционал, позволяющий автоматически строить стаканы и тики по данным ордерлога.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Для построения стаканов по журналу заявок необходимо выставить соответствующий флаг ```csharp
PlazaTrader.CreateDepthFromOrdersLog = true;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;при установке этого флага автоматически отключается обработка потоков агрегированных заявок и для получения данных добавляется таблица [AnonymousOrdersLog](http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm).
2. Для построения тиков по журналу заявок необходимо выставить флаг ```csharp
PlazaTrader.CreateTradesFromOrdersLog = true;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;при установке этого флага отключается обработка потоков журнала сделок по фьючерсам и опционам и для получения данных добавляется таблица &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm"&gt;AnonymousOrdersLog&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;**:[Сохранение и восстановление настроек.]{size=24pt}**

S# *Plaza2* коннектор предоставляет широкие возможности для управления настройками подключения, списком выбранных таблиц, группировкой потоков по соединениям и другими настройками. В одних случаях, эти настройки могут быть зашиты в торговом роботе, в других, может возникнуть необходимость предоставить возможность редактировать эти настройки конечному пользователю. Для удобства, все коннекторы S# содержат встроенные механизмы сохранения и загрузки настроек с помощью методов Save и Load.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Для сохранения и загрузки настроек из внешнего файла можно воспользоваться соответственно сериализацией и десериализацией, реализованной в S#:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Загрузка&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var trader = new PlazaTrader();
if (File.Exists(&amp;quot;trader.xml&amp;quot;))
{
//Загрузка настроек из существующего конфигурационного файла
var settingsStorage = new XmlSerializer&amp;lt;SettingsStorage&amp;gt;().Deserialize(&amp;quot;trader.xml&amp;quot;);
trader.Load(settingsStorage);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Сохранение&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;//Сохраняем настройки в файл
var settings = new SettingsStorage();
trader.Save(settings);
new XmlSerializer&amp;lt; SettingsStorage &amp;gt;().Serialize(settings, &amp;quot; trader.xml&amp;quot;);
&lt;/code&gt;&lt;/pre&gt;
&lt;div style="text-align:right"&gt;&lt;p&gt;Белич Александр © 2013&lt;/p&gt;
&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/318/</id>
    <title type="text">WL источник для Гидры</title>
    <published>2013-10-09T18:52:31Z</published>
    <updated>2016-09-13T20:07:32Z</updated>
    <author>
      <name>Kazai Mazai</name>
      <uri>https://stocksharp.ru/users/5954/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <category term="WealthLab" />
    <category term="исторические данные" />
    <content type="html">&lt;p&gt;Источник загружает данные оттуда же, откуда и pro версия wealth-lab.&lt;/p&gt;
&lt;p&gt;Поддерживаются свечки всех мастей.&lt;/p&gt;
&lt;p&gt;Вроде как, с фиделити можно много разной инфы утянуть в том числе и макро, но в источнике нельзя.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Поддерживается Гидра версии 4.1.19.1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Установка&lt;/strong&gt; (все почти также, как и для яху-гугл)&lt;/p&gt;
&lt;p&gt;И снова идем на &lt;a href="https://github.com/KazaiMazai/WL-Source-for-StockSharp-Hydra" target="_blank"&gt;ГИТХАБ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Обращаем внимание на то, что б была включена ветка &lt;strong&gt;&amp;quot;master&amp;quot;&lt;/strong&gt; и жмем &lt;strong&gt;&amp;quot;download zip&amp;quot;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/file/102546/1.png" alt="1" /&gt;&lt;/p&gt;
&lt;p&gt;После того, как скачали, идем в архиве в папку bin\Release или bin\Debug и ищем там Файлы:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WealthLab.DataProviders.Common.dll
WealthLab.dll
Fidelity.Components.dll
StockSharp.Hydra.WLTask.dll&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Копируем его в Hydra\Plugins&lt;/p&gt;
&lt;p&gt;Также ищем папку в архиве &lt;strong&gt;log4net_1_2_10_0&lt;/strong&gt; или &lt;strong&gt;Log4Net_old&lt;/strong&gt;
Копируем оттуда &lt;strong&gt;log4net.dll&lt;/strong&gt; и кидаем ее в корень Гидры с заменой.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Дело в том, что компоненты велс лаба собраны с более старой версией log4net, чем гидра.
Выпилить оттуда эту библиотеку нельзя, равно как и из гидры. Но заменить в гидре можно, тем более что в они фактически и не используется.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Запускаем Гидру. В списке Источников должен был появиться WL-source.
Если не появился, жмем добавить источник.&lt;/p&gt;
&lt;p&gt;Настройки.&lt;/p&gt;
&lt;p&gt;Есть два режима: обычный и перезагрузка.&lt;/p&gt;
&lt;p&gt;В режиме перезагрузка, будут качаться все отсутствующие данные, начиная с указанной начальной даты.&lt;/p&gt;
&lt;p&gt;Временной отступ - для обычного режима. При отступе равном, например, 50, будут качаться все отсутствующие данные за последние 50 дней.&lt;/p&gt;
&lt;p&gt;Полезно, например, если вы считаете какой-нибудь индикатор за последние 50 дней, а все что раньше, вас не интересует.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Инструменты&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;При первом запуске, в главной директории Hydra появится текстовый файл &lt;strong&gt;WLSourceTickers.txt&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Записываем в него id необходимых инструментов через пробел, например:&lt;/p&gt;
&lt;p&gt;AAPL@SMART SPY@SMART APOL@NASDAQ GOOG@SMART&lt;/p&gt;
&lt;p&gt;SMART это умная система роутинга ордеров по ECN'ам. Типа как exchange board. Можно не обращать внимания.&lt;/p&gt;
&lt;p&gt;Для импорта инструментов в гидре жмем добавить.&lt;/p&gt;
&lt;p&gt;&lt;img src="/file/102547/2.png" alt="2" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/file/102548/3.png" alt="3" /&gt;&lt;/p&gt;
&lt;p&gt;Инструменты спарсятся и добавятся в базу.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Перед началом закачки нужно не забыть добавить желаемые данные - свечки нужного ТФ.&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/330/</id>
    <title type="text">S#. Автоматическая торговля (вебинар про все нюансы и настройки Quik)</title>
    <published>2013-09-10T23:16:08Z</published>
    <updated>2016-09-10T17:36:09Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="S#.Data" />
    <category term="вебинар" />
    <category term="S#.Studio" />
    <category term="S#.Api" />
    <category term="бесплатно" />
    <category term="Статьи" />
    <content type="html">&lt;p&gt;Расскажем про все нюансы и настройки Quik для работы с платформой StockSharp!&lt;/p&gt;
&lt;iframe src="https://player.vimeo.com/video/71017059" width="640" height="390" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Кратко пробежимся по &lt;a href="http://stocksharp.com/products/studio/"&gt;S#.Studio&lt;/a&gt;, &lt;a href="http://stocksharp.com/products/hydra/"&gt;S#.Data&lt;/a&gt; и &lt;a href="http://stocksharp.com/products/api/"&gt;S#.Api&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Записаться на вебинар можно &lt;a href="http://www.open-broker.ru/ru/learning/webinars/auto-trading-level-1/" rel="nofollow" target="_blank"&gt;здесь&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/326/</id>
    <title type="text">S#. Автоматическая торговля (вебинар про анализ маркет-данных)</title>
    <published>2013-09-10T23:26:22Z</published>
    <updated>2016-09-10T17:35:44Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="S#.Data" />
    <category term="вебинар" />
    <category term="бесплатно" />
    <category term="Статьи" />
    <content type="html">&lt;p&gt;Все про данные в платформе S#!&lt;/p&gt;
&lt;p&gt;Сегодня вебинар в 19:00, записаться можно &lt;a href="http://www.ilerney.com/elearning/details.php?ID=17557" rel="nofollow" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;
&lt;iframe src="https://player.vimeo.com/video/71754788" width="640" height="390" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;em&gt;Краткий план:&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Различные источники данных (особенности)&lt;/li&gt;
&lt;li&gt;Сохраняем и просматриваем данные&lt;/li&gt;
&lt;li&gt;Анализируем, совмещаем инструменты&lt;/li&gt;
&lt;/ol&gt;
</content>
  </entry>
</feed>