﻿<?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=community&amp;page=73</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-05T03:43:18Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=73" rel="self" type="application/rss+xml" />
  <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 align="center"&gt;&lt;a href='https://stocksharp.ru/file/103435/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/103435/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0.jpg?size=800x800" alt="Colocation преодолевает скорость света. 1 часть" title="Colocation преодолевает скорость света. 1 часть" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В данной статье мы рассмотрим вопрос, получают ли трейдеры преимущество, базируя свой компьютер между двумя финансовыми биржами. Например, на корабле в середине океана - вопреки рекомендации из статьи &amp;quot;Physics in finance: Trading at the speed of light&amp;quot; (Mark Buchanan, Nature, 11 февраля 2015 г.). Или же лучший результат покажет торговая стратегия, использующая два взаимодействующих компьютера, размещенных в дата-центрах разных бирж. В доходчивой форме будет рассмотрен вопрос о том, является ли преимуществом распределение торговых стратегий. Либо же наоборот лучше использовать распределенную архитектуру биржевых серверов, которые устраняют необходимость в распределенных арбитражных стратегиях. &lt;br /&gt;Изучив данную статью целиком, вы откроете для себя, какой метод расположения серверов является наиболее эффективным, при работе с HFT арбитражными стратегиями, работая одновременно на нескольких биржах.&lt;br /&gt;&lt;br /&gt;Статья из журнала Nature (авторское замечание)&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;В будущем, когда надводные лазерные сети охватят океаны, изменения в трейдинге могут стать еще более необычными. Место, в котором трейдеры могут получать наиболее актуальную информацию от двух бирж одновременно, находится в их средней точке - между Чикаго и Лондоном, то есть в середине Атлантического океана. В данном месте, трейдеры могут использовать технику, называемую &amp;quot;релятивистский арбитраж&amp;quot;, чтобы получить прибыль от сиюминутного дисбаланса цен между Чикаго и Лондоном.&lt;br /&gt;Объяснение: специальная теория относительности говорит, что ничто не может двигаться быстрее скорости света С. Таким образом трейдер, находясь на расстоянии D от биржи может узнать, что там произошло, в лучшем случае, не раньше чем  -  T = D/C после того, как событие произошло. Между крупными торговыми центрами по всему миру, такие задержки могут быть от нескольких до десятков миллисекунд. Если трейдер стоит на полпути между двумя биржами, он будут получать информацию с обеих сторон после, Т = D/C. В любом другом месте, если расстояние, по крайней мере, одной из бирж будет  более удалено, то информации потребуется больше времени, т.е увеличится задержка.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Другими словами, в течение нескольких лет может стать прибыльным устанавливать  корабль или платформы для трейдинга на участках ровно между парами финансовых центров по всему миру&lt;/b&gt; (&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADgk3YMGgCQUSUHCWOOs854JLsQrWeSIy6F4Ip8WrHCNNdpVXFiD4RQKzWMHAf-13CLzpJhBI5sM3FljRDxrVm4MqH953J6BdF76BO7_6IVJA" title="http://www.nature.com/news/518161a-i4-jpg-7.23503?article=1.16872"&gt;см.  Fast-trading hotspots&lt;/a&gt;).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Статья из Nature предоставляет карту мира с указанием всех мировых финансовых центров и более тысячи точек, лежащих ровно посередине, где высокочастотные трейдеры должны будут устанавливать свои компьютеры, чтобы оптимально использовать данные возможности для арбитража. Как и ожидалось, многие из этих &amp;quot;оптимальных&amp;quot; мест, в действительности &amp;quot;места глухие&amp;quot; (одна точка находится в пустыне, где исчез рейс MH 370). Карты не указывают на важность центров или значение &amp;quot;перспективных точек для трейдинга&amp;quot;, но ясно, что наиболее значимые точки лежат где-то в северной части Атлантического океана.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Карта наиболее удобных точек для арбитражного трейдинга&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/103436/%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%BD%D1%8B%D0%B93.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/103436/%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%BD%D1%8B%D0%B93.jpg?size=800x800" alt="Наиболее удобные точки для арбитражного трейдинга" title="Наиболее удобные точки для арбитражного трейдинга" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Карта наиболее удобных точек для арбитражного трейдинга [1]. Используется с разрешения издательской группы Nature.&lt;br /&gt;&lt;br /&gt;Карта впервые была представлена в издании &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAFg05aiwKqtqzZYzcsemGL8GaI1yZ9IcdRRX-HjGcMjE90S4L2CviYtNLufzR58qBTbvYS4GkV5O7d678lJxwe" title="http://journals.aps.org/pre/abstract/10.1103/PhysRevE.82.056104"&gt;Relativistic statistical arbitrage[2]&lt;/a&gt;&lt;br /&gt;В той статье &amp;quot;серединные точки&amp;quot; взвешивали по скорости оборачиваемости (отношение стоимости акций, обращающихся на бирже в общей рыночной капитализации) – там использовались не истинные геодезические средние точки, как это подразумевается в статье издательской группы Nature. Кроме того, &amp;quot;финансовые центры&amp;quot;, определенные в статье как 52 биржи, перечисленные в Всемирной федерации бирж из Годового отчета за 2009г. (&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAA3hNzFTmPZrbHeGgyjeL_KjhtISc48XgoyiQKRd35BC-G3TV716OoB_BitQa_b15Kohxnkq67spKMtb6Fs5gmW5fdc7uGCKJwwQDqdoV2_Fw" title="http://www.world-exchanges.org/files/statistics/pdf/2009_WFE_AR.pdf"&gt;World Federation of Exchanges 2009 Annual Report[3]&lt;/a&gt; ) - и не включают Forex площадки, которые превосходят все другие торговые центры по показателю величины объема торгов.&lt;br /&gt;Новости относительно оптимального размещения компьютеров для HFT (высокочастотной торговли) была широко освещена профессиональными средствами массовой информации; см. статьи в  &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAF2TCseO95nB68uMwrCRB-7tG4XSvP5ApxGmeRt309bhe7rCekTS8n40lDq_JOpd2wezvoHpp8RJ_-8ifInejD" title="http://physicscentral.com/explore/action/stocktrade.cfm"&gt;PhysicsCentral[4]&lt;/a&gt;, &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABPxtaAVPBSgpLK4qCGEflUJ6Un6lJGDXwbnXWrVOKzyzT3OTkELkglfUzCNA3q0AN_bz8oquskfrJV5ntE-Mt4UBRmE8fbQGcfp-hHbk03cT7HGChpIyGpqotSviJbJHfz7Sv0N5_Fmp_zKhBt0RRCIB_o3CBxF-RsblcdPyBRoQ" title="http://www.marketwatch.com/story/physicist-says-it-is-possible-to-use-ships-to-facilitate-high-frequency-trading-2015-02-18"&gt;MarketWatch[5]&lt;/a&gt;, &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABfC-fRQzA80lMK_mCwgPGdMiQuPO9viE8C4aldYiK-BIydvgM1EbYJZ10U4aHI4qcIH2Nf4deZpSu9fTGvFNK3rAsZsszWljWkTMNNJIO8ysYz5B64mzGR53DD3rsXC4M" title="http://www.ibtimes.co.uk/dark-pool-hft-it-possible-use-ships-high-frequency-trading-1488663"&gt;International Business Times[6]&lt;/a&gt;, и &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADLqaO9kEvbXdSz5e7-GMNO7KVq2S-EDP1Eg6xIg84F-n_I9MBN3PDyP3aeknqLcTvmooFcF-jIt48-UciM4Kkrbvqu8oeIY3QMusRUwwvLV3k-NiV7p-1VlV6g9R1z_ZE" title="http://www.waterstechnology.com/buy-side-technology/opinion/2398594/hfts-oceanic-midpoint"&gt;WatersTechnology[7]&lt;/a&gt;. Некоторые эксперты приняли данный &amp;quot;факт&amp;quot;, как само собой разумеющееся, некоторые же выразили сомнения. Билла Хэртс(Bill Harts), генеральный директор Modern Markets Initiative, группы, которая занимается высокочастотной торговлей, отвергнул данную идею, высказав мысль в электронном издании MarketWatch: &amp;quot;Даже если трейдер может получать данные с обеих бирж быстрее в средней точке, то воспользовавшись преимуществом, имея только один компьютер в средней точке, они будут посылать заявки на рынок с достаточно большого расстояния – и будут всегда медленнее, чем трейдеры, размещенные на локальных рынках&amp;quot;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Головоломка серединных точек.&lt;/b&gt;&lt;br /&gt;В статье Nature  тривиально утверждается, что середина между двумя биржами является точкой, где наиболее быстрым образом может быть обнаружена возможность арбитража. Что менее очевидно - учитывая, что &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACII1MJ6hR0Q7p_5u-2iHJ1-sdOBmjQO7O6BU04ppaA4Jeq4ZrWJBgl_Q9KUUSu7W4" title="https://en.wikipedia.org/wiki/Mark_Buchanan"&gt;Марк Бьюкенен&lt;/a&gt;, уважаемый физик и автор ошибся - это то, что серединное расположение особенно неблагоприятное  место, для принятия торговых решений.&lt;br /&gt;Здесь &amp;quot;шестое чувство” Билла Хэртса  является правильным. В своей статье &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABfC-fRQzA80lMK_mCwgPGdMiQuPO9viE8C4aldYiK-BAQb9q-3lTCBlu6pLyjP_eHcjKgeiNAYKTzNgVxFat5qcclpOmyUdHOBg_Mbrdx3OVSDLVL8ahaCRL2tVyU2sIE" title="http://www.ibtimes.co.uk/dark-pool-hft-boe-says-high-speed-trading-helps-markets-1489314"&gt;follow-up IBT article[8]&lt;/a&gt;, он подчеркивает: &amp;quot;Если бы это было возможно, поставить дата центр в Янгстаун, штат Огайо, (примерно на полпути между биржами Нью-Йорка и Чикаго), если бы это место было бы самым благоприятным для HFT, все высокочастотные трейдеры базировались бы там. Но знаете что? Там нет HFT трейдеров в Янгстауне, штат Огайо&amp;quot;.&lt;br /&gt;Таким образом, HFT арбитражеры знают, что торговля с средней точке расположенной между биржами - это плохая идея. Тем не менее, заявление Хэртса не совсем корректно – трейдер, торгующий с серединной точки на самом деле, достаточно быстр, чтобы воспользоваться нарушением паритета цен между двумя биржами. Недостатком же, по сравнению с &amp;quot;системой компьютеров, размещенных на реальных рынках&amp;quot;, является то, что – компьютер в серединной точке после подачи заявки как бы &amp;quot;слеп&amp;quot; и не может контролировать заявку достаточно хорошо. Читайте дальше, чтобы осознать действительно невероятное преимущество размещения серверов в дата-центрах бирж и распределенных торговых стратегий.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Решение задачи.&lt;/b&gt;&lt;br /&gt;Для универсальности  далее по тексту термином &amp;quot;серверы&amp;quot;, будет заменен термин  &amp;quot;биржевые-серверы&amp;quot;, потому что наш результат относится к сценариям носящим более общий характер, чем просто  алгоритм связи с финансовыми биржами. Мы будем использовать термин &amp;quot;компьютер&amp;quot;, когда говорим о не серверных компьютерах под управлением программного обеспечения, которое взаимодействует с серверами (например, алгоритмическая торговая стратегия).&lt;br /&gt;В следующих нескольких разделах мы докажем одну фундаментальную  теорему. (Пожалуйста, не беспокойтесь - доказательство будет так же просто, как строительство из Lego блоков.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Теорема 1.&lt;/b&gt; Любой алгоритм, который работает на одном центральном компьютере, расположенном в любой точке мира и соединен с одним, или большим количеством серверов (N≥ 1), может быть воспроизведен с использованием нескольких компьютеров, работающих в связке с серверами, таким образом, что такая реализация (зарегистрировано серверами) функционально ничем не будет отличается от оригинального одно-компьютерного решения.&lt;br /&gt;Доказательство довольно просто. Во-первых,  мы формально определяем единый центральный механизм компьютера. Затем мы покажем, как построить эквивалентный механизм, который использует группу компьютеров, размещенных в дата-центрах бирж, без необходимости центрального компьютера. Другими словами, мы начинаем с черного ящика реализованного с помощью центрального компьютера и покажем, как можно построить эквивалентный черный ящик без центрального компьютера.&lt;br /&gt;&lt;br /&gt;В следующей части статьи, мы подробно остановимся на свойствах распределенных вычислительных решений. Сравним арбитражные механизмы на базе центрального компьютера и механизм с применением &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACII1MJ6hR0Q7p_5u-2iHJ1V6a5nkXF-15GF9J6kvvQCNZUoA3A8uE_sInIlzh03fk" title="https://en.wikipedia.org/wiki/Collocation"&gt;Colocation*&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;*&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABqndXmqCT7Cb731y2KB0yEWL_pP0cnxzHrXjz0lXFgdRBAXmzDAGKmEHgzCTYKkI8ib-xZaxTPDHMTfsdruErT" title="http://legacy.moex.com/services/technicalaccess/colocation"&gt;Colocation (MICEX)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/posts/m/33318/" title="http://stocksharp.com/posts/m/33318/"&gt;&lt;b&gt;Перейти к части 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABfHDdm6VDp_MryS5CQmZ6EntFWoS8ZhZiWB15s8RruHMd361uQpMqTfVzCEZbGI84" title="http://edhoworka.com/colocation-beats-the-sol/"&gt;Ссылка на первоисточник данной статьи&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAi48_KzWju0atoYfAbY8taUx5Ci2WRSyUQE34o-ITFM6hSlklUd9E-16nKnrTl9FY" title="http://smart-lab.ru/my/MrFly/blog/all/"&gt;Перевод: Николай Флёров&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6930/</id>
    <title type="text">первый запуск</title>
    <published>2016-09-20T18:46:44Z</published>
    <updated>2016-09-21T11:59:30Z</updated>
    <author>
      <name>nikifor</name>
      <uri>https://stocksharp.ru/users/97016/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Честно говоря не знаю сюда ли писать. я привык что такте вопросы решает техподдержка но там написано что у меня 0р.&lt;br /&gt;Но на этой платформе я вообще новичок  но падение Designer.exe при одновременно открытой с ней tslab или при измененния таймфрейма того скрипта который открывается при первом запуске меня очень озадачивает. Куда сообщать о выявленных багах? в частности :&lt;br /&gt;&lt;br /&gt;﻿Название	Время	Тип	Сообщение&lt;br /&gt;S#.Designer	20.09.2016 18:34:48	Error	&amp;quot;System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---&amp;gt; System.InvalidCastException: Specified cast is not valid.&lt;br /&gt;   at -.dje_qWHMZU7QX2XP2LXS98WGKFUSWT3Q6RQF72SHN78TUTMHWVNSKBDX6NLU5FRM3UY8AWMXLY3C8FCQGJ7L64ETYUX3CBNGUQUYT5HP4KE2_ejd.#=qGDoGIjJ6Xsy6Ygm_DGGosbcS1pYfiC_E8dDqeD2FRWr2lJMkuVFTuNv4X4NSfoSh(Object #=qw1eIslqXSVF6Q8zHuBxwKQ==, Type #=qPpXqPnDEXJ12zygmK77ddQ==, Object #=q3QGGCir4_XY_H$q8TMabkw==, CultureInfo #=qgeA90P8P67C5A3T4$YoHRQ==)&lt;br /&gt;   at StockSharp.Xaml.PropertyGrid.CandleSettingsEditor.#=qGgdJ3_t_RgJX8zi2hzmQhC2inr893b2Ydt6P7I$FIWE=()&lt;br /&gt;   --- End of inner exception stack trace ---&lt;br /&gt;   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)&lt;br /&gt;   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)&lt;br /&gt;   at System.Delegate.DynamicInvokeImpl(Object[] args)&lt;br /&gt;   at System.Windows.RoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)&lt;br /&gt;   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)&lt;br /&gt;   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)&lt;br /&gt;   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)&lt;br /&gt;   at DevExpress.Xpf.Editors.EditStrategy.PropertyCoercionHelper.RaiseValueChangedEvents(Object oldBaseValue, Object newBaseValue)&lt;br /&gt;   at DevExpress.Xpf.Editors.EditStrategyBase.SyncWithValue(DependencyProperty dp, Object oldValue, Object newValue)&lt;br /&gt;   at DevExpress.Xpf.Editors.EditStrategyBase.UpdateEditValue(Object oldValue, Object newValue, Action`2 syncWithValueCallback, Boolean updateConverters)&lt;br /&gt;   at DevExpress.Xpf.Editors.EditStrategyBase.EditValueChanged(Object oldValue, Object newValue)&lt;br /&gt;   at DevExpress.Xpf.Editors.BaseEdit.OnEditValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)&lt;br /&gt;   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)&lt;br /&gt;   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)&lt;br /&gt;   at DevExpress.Xpf.Editors.BaseEdit.OnPropertyChanged(DependencyPropertyChangedEventArgs e)&lt;br /&gt;   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)&lt;br /&gt;   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry&amp;amp; newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)&lt;br /&gt;   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)&lt;br /&gt;   at System.Windows.DependencyObject.SetCurrentValue(DependencyProperty dp, Object value)&lt;br /&gt;   at DevExpress.Xpf.Core.Locker.DoLockedAction(Action action)&lt;br /&gt;   at DevExpress.Xpf.Editors.Validation.EditValueContainer.SetEditValue(Object value, UpdateEditorSource updateSource)&lt;br /&gt;   at DevExpress.Xpf.Core.Locker.DoLockedAction(Action action)&lt;br /&gt;   at DevExpress.Xpf.Editors.TextInputMaskSettings.InsertText(String text)&lt;br /&gt;   at DevExpress.Xpf.Editors.TextInputMaskSettings.ProcessPreviewTextInput(TextCompositionEventArgs e)&lt;br /&gt;   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)&lt;br /&gt;   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)&lt;br /&gt;   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)&lt;br /&gt;   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)&lt;br /&gt;   at System.Windows.Input.InputManager.ProcessStagingArea()&lt;br /&gt;   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)&lt;br /&gt;   at System.Windows.Input.TextCompositionManager.PostProcessInput(Object sender, ProcessInputEventArgs e)&lt;br /&gt;   at System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)&lt;br /&gt;   at System.Windows.Input.InputManager.ProcessStagingArea()&lt;br /&gt;   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)&lt;br /&gt;   at System.Windows.Input.TextCompositionManager.PostProcessInput(Object sender, ProcessInputEventArgs e)&lt;br /&gt;   at System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)&lt;br /&gt;   at System.Windows.Input.InputManager.ProcessStagingArea()&lt;br /&gt;   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)&lt;br /&gt;   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)&lt;br /&gt;   at System.Windows.Interop.HwndKeyboardInputProvider.ProcessTextInputAction(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)&lt;br /&gt;   at System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param)&lt;br /&gt;   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&lt;br /&gt;   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;quot;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3595/</id>
    <title type="text">Прямое подключение к ММВБ</title>
    <published>2013-04-18T16:42:28Z</published>
    <updated>2016-09-18T21:53:13Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Micex TEAP" />
    <content type="html">В &lt;a href="http://stocksharp.com/posts/m/25385/" title="http://stocksharp.com/posts/m/25385/"&gt;версии 4.1.11&lt;/a&gt; был сделан релиз вариант коннектора &lt;a href="http://stocksharp.com/doc/?topic=html/N_StockSharp_Micex.htm" title="http://stocksharp.com/doc/?topic=html/N_StockSharp_Micex.htm"&gt;MicexTrader&lt;/a&gt;. Коннектор реализует торговлю через TEAP протокол (через Micex Bridge или напрямую к бирже в случае варианта коллокейшена), предоставляет возможность торговать в спот и валютных секциях.&lt;br /&gt;&lt;br /&gt;Брокера, предоставляющие прямое подключение к ММВБ:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="http://robot.zerich.ru/trading_robots/professional/fbmmvb.php" title="http://robot.zerich.ru/trading_robots/professional/fbmmvb.php"&gt;Церих&lt;/a&gt;. Коннектор предоставляет возможность автоматически использовать Церих библиотеку, которая дает торговлю с плечами. Только 32-битный режим. Если не использовать библиотеку Цериха, то можно использовать и 64-битный режим.&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="http://www.itinvest.ru/services/access/" title="http://www.itinvest.ru/services/access/"&gt;ИТ Инвест&lt;/a&gt;. ITinvest. Используются стандартные библиотеки mtesrl от ММВБ, маржинальное кредитование в режиме реального времени, 64 и 32 битные режимы.&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="http://www.finam.ru/howtotrade/special00010/" title="http://www.finam.ru/howtotrade/special00010/"&gt;Финам&lt;/a&gt;. Кредитования нет. И 64 и 32 битные режимы.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:red"&gt;MicexTrader доступен только в &lt;a href="http://stocksharp.com/products/pricing/" title="http://stocksharp.com/products/pricing/"&gt;Корпоративной версии&lt;/a&gt;.&lt;/span&gt;&lt;/b&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2488/</id>
    <title type="text">StockSharp PlazaTrader прошёл сертификацию РТС-ММВБ</title>
    <published>2012-03-15T14:12:07Z</published>
    <updated>2016-09-18T21:51:52Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">У проекта StockSharp новая победа и снова отличные новости для наших пользователей!&lt;br /&gt;&lt;br /&gt;Библиотека StockSharp подтвердила свой высокий статус, отличную надёжность и производительность и с успехом &lt;b&gt;&lt;span class="highlight"&gt;получила сертификацию биржи РТС-ММВБ&lt;/span&gt;&lt;/b&gt;!&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/101800/321321.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/101800/321321.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Поздравляем всех с этим знаменательным событием! [thumbup] &lt;br /&gt;Оставайтесь с нами!&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADKEnpUz2SMA_ZHPTbRxIA5fFDFHLWJdFjbpkpKq1CfaA" title="http://www.rts.ru/a19933"&gt;Теперь ссылка на наш шлюз присутствует на сайте Биржи.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;P.S. Речь идёт о версии Plaza 4.1, выложенной в ветке dev на codeplex.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3133/</id>
    <title type="text">StockSharp CGate прошел сертификацию биржей!</title>
    <published>2012-11-01T07:49:37Z</published>
    <updated>2016-09-18T21:51:34Z</updated>
    <author>
      <name>StockSharp</name>
      <uri>https://stocksharp.ru/users/341/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">Добрый день, стокшарповцы!&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Есть хорошая новость для всех нас - StockSharp CGate прошел сертификацию биржей!&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102144/%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102144/%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82.png?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Что такое StockSharp CGate?&lt;/b&gt;&lt;br /&gt;Это коннектор, написанный командой S#, который позволяет подсоединяться к шлюзу Plaza-2 CGate.&lt;br /&gt;Используя наш коннектор вы можете писать торговых роботов для Plaza2.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Что такое Plaza2?&lt;/b&gt;&lt;br /&gt;Это самый быстрый способ получать данные о торгах. Кроме того, через Plaza2 доступны данные о торгах, которые не доступны через другие источники. Например - &lt;a href="http://stocksharp.com/forum/363/Torghovyie-roboty--Full-Orders-Log/" title="http://stocksharp.com/forum/363/Torghovyie-roboty--Full-Orders-Log/"&gt;FullOrderLog&lt;/a&gt;. C Plaza2 отпадает необходимость использовать QUIK или другие торговых терминалы.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Что такое  CGate?&lt;/b&gt;&lt;br /&gt;Полное название Plaza-2 CGate - это новая шлюзовая библиотека для доступа к торгам через шлюз Plaza-2&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Как перевести робота со старого PlazaTrader?&lt;/b&gt;&lt;br /&gt;Очень просто. &lt;a href="http://stocksharp.com/doc/?topic=html/8db87ec8-67fe-4926-b92c-0f8b0f0415ba.htm" title="http://stocksharp.com/doc/?topic=html/8db87ec8-67fe-4926-b92c-0f8b0f0415ba.htm"&gt;Одной строчкой кода&lt;/a&gt;, и робот начинает торговать через CGate.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Что такое сертификация и зачем она нужна?&lt;/b&gt;&lt;br /&gt;В соответствии с требованиями биржи, для использования нового шлюзового API (CGate) в production необходимо пройти процедуру сертификации ПО. Для того, чтобы пройти сертификацию, продукт должен соответствовать ряду требований.&lt;br /&gt;&lt;span class="highlight"&gt;StockSharp CGate отвечает всем требованиям, предъявленными биржей. Используя его, нет необходимости проходить сертификацию.&lt;/span&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;b&gt;&lt;span style="font-size:120%"&gt;Введение.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;	В последнее время широкую популярность приобретает разработка торговых роботов с использованием платформы &lt;em&gt;Plaza2&lt;/em&gt;. Основной причиной популярности этой платформы является минимальное количество звеньев между торговым роботом и серверами биржи, что позволяет добиться более высокой надежности системы, высокой скорости передачи рыночных данных и обработки транзакций. Таким образом, робот, использующий протокол &lt;em&gt;Plaza2&lt;/em&gt;, имеет более реальную картинку торгов и может оценивать рынок более точно, чем роботы, подключенные через &lt;em&gt;Quik&lt;/em&gt;, &lt;em&gt;SmartCom&lt;/em&gt; и т.д. Описание протокола и набора транслируемых данных можно найти на сайте Московской биржи, а так же по следующим ссылкам &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADjhr-KWbN5USQ3AatReLfvq7cgbT1B1_AaL8j4cA0yRQMxtMK6f6GeyaqtnwTjWF8Lrm3N65682yuQ7iYdIqxs" title="http://ftp.rts.ru/pub/FORTS/Plaza2/P2ClientGate.doc"&gt;здесь&lt;/a&gt; и &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADjhr-KWbN5USQ3AatReLfvq7cgbT1B1_AaL8j4cA0yRX5fYt5nDSc-wQ5t9GSf9GXhFho6q4DYTxjL4UthveVA" title="http://ftp.rts.ru/pub/FORTS/Plaza2/p2gate_ru.pdf"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;	&lt;b&gt;&lt;span style="font-size:120%"&gt;Роутер.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;	При использовании торгового терминала &lt;em&gt;Quik&lt;/em&gt; подключение производится непосредственно к терминалу на локальной машине. Когда используется Plaza2, то подключение происходит к клиентскому роутеру, который может находить как на локальной машине, так и на удаленной. Роутер позволяется подключаться к нему из нескольких приложений одновременно, что является большим преимуществом. Например, можно упростить инфраструктуру торгового робота и запускать каждую стратегию в виде отдельного приложения, это так же позволит повысить устойчивость каждого отдельного робота.&lt;br /&gt;&lt;br /&gt;Из недостатков можно выделить отсутствие, какого бы то ни было, пользовательского интерфейса, т.е. невозможность ручного управления позициями при работе робота. Для этих целей можно использовать простой &amp;#171;самописный терминал&amp;#187;, с помощью которого можно будет просматривать стаканы, списки заявок и сделок, портфели и лимиты, а так же выставлять заявки в случае необходимости. В качестве каркаса подобного терминала может служить S# пример &lt;em&gt;Plaza\SampleGUI&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Роутер представляет собой самостоятельное приложение, единственной функцией которого является передача данных от биржи клиенту и наоборот. Есть два варианта запуска локального роутера: в виде службы и консольного приложения. Способ запуска роутера выбирается при его установке. При использовании консольного приложения, пользователь может сделать несколько конфигурационных файлов и запускать роутеры для разных логинов или серверов с помощью простых командных файлов. Полное детальное описание процесса установки и настройки роутера вы можете найти в файлах документации &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADjhr-KWbN5USQ3AatReLfvq7cgbT1B1_AaL8j4cA0yRQMxtMK6f6GeyaqtnwTjWF8Lrm3N65682yuQ7iYdIqxs" title="http://ftp.rts.ru/pub/FORTS/Plaza2/P2ClientGate.doc"&gt;здесь&lt;/a&gt; и &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADjhr-KWbN5USQ3AatReLfvq7cgbT1B1_AaL8j4cA0yRX5fYt5nDSc-wQ5t9GSf9GXhFho6q4DYTxjL4UthveVA" title="http://ftp.rts.ru/pub/FORTS/Plaza2/p2gate_ru.pdf"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;	&lt;b&gt;&lt;span style="font-size:120%"&gt;Подключение к роутеру.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;	В настоящее время роутером поддерживаются два вида соединений:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Соединение посредством протокола &lt;em&gt;TCP/IP&lt;/em&gt;. Медленнее, удобно для отладки, может связываться с роутером, установленным на другой машине&lt;br /&gt;&lt;li&gt;Соединение посредством разделяемой памяти (&lt;em&gt;lrpcq&lt;/em&gt;). Быстрее, оптимально для боевых систем, работает исключительно в рамках одной машины.&lt;/ol&gt;&lt;br /&gt;Платформа S# поддерживает оба типа соединение и по умолчанию используется &lt;em&gt;TCP/IP&lt;/em&gt; соединение. Для использования &lt;em&gt;lrpcq&lt;/em&gt; подключения необходимо до подключения к роутеру выставить флаг:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
Trader.UseLocalProtocol = true;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Следует отметить, что использование &lt;em&gt;lrpcq&lt;/em&gt; подключения в некоторых случаях сопряжено с определенными трудностями, например, при обрыве связи с роутером и переподключении может возникнуть ситуация, когда переподключиться не получится, т.к. роутер будет считать, что подключение с таким именем приложения еще установлено. Связано это с довольно большим таймаутом для данного типа подключения на стороне роутера и возможно будет исправлено в новых версиях роутера.&lt;br /&gt;&lt;br /&gt;Для подключения к роутеру, установленному на другой машине, необходимо внести дополнительные изменения в конфигурацию роутера. По умолчанию, конфигурация роутера хранится в файле &lt;em&gt;client_router.ini&lt;/em&gt; в директории, куда был установлен роутер. Чтобы иметь возможность подключаться к роутеру удаленно, необходимо указать имена приложений, с помощью которых будет выполняться удаленное подключение и пароль для каждого из имен, для этого в файл конфигурации необходимо добавить следующие строки:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;[AS:Local]&lt;br /&gt;префикс_0=пароль&lt;br /&gt;префикс_1=пароль&lt;br /&gt;префикс_2=пароль&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Т.к. одно приложение может одновременно использовать несколько подключений к роутеру, то к имени, указанному в &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_AppName.htm" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_AppName.htm"&gt;AppName&lt;/a&gt; добавляется его номер, таким образом, соединения именуются как &lt;em&gt;{префикс_номер}&lt;/em&gt;, поэтому в конфигурации роутера необходимо указать все названия имен с учетом их номеров.&lt;br /&gt;После настройки роутера, необходимо дополнительно указать пароль для S# коннектора, который был сохранен в файле конфигурации роутера. Для указания сетевого пароля используется поле &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Password.htm" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Password.htm"&gt;Password&lt;/a&gt;, которое может использоваться в двух вариациях:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;в случае если было задано поле &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Login.htm" title="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" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Password.htm"&gt;Password&lt;/a&gt; используется для указания пароля для подключения серверам биржи или брокера;&lt;br /&gt;&lt;li&gt;если поле &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Login.htm" title="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" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Password.htm"&gt;Password&lt;/a&gt; будет использоваться как пароль для локального соединения.&lt;/ol&gt;&lt;br /&gt;При необходимости подключения к роутеру нескольких торговых роботов, для каждого робота необходимо задать уникальный префикс приложения с помощью поля &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_AppName.htm" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_AppName.htm"&gt;AppName&lt;/a&gt;. Имя приложения используется в сети для идентификации конечного отправителя-получателя сообщения. Не рекомендуется использовать слишком длинные имена – при работе размеры пакетов данных невелики, и служебная информация, частью которой является AppName, может превысить полезную нагрузку в пакете.&lt;br /&gt;&lt;br /&gt;	&lt;b&gt;&lt;span style="font-size:120%"&gt;Схемы данных.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;	В платформе &lt;em&gt;Plaza2&lt;/em&gt; все данные транслируются сервером на клиентов в push-режиме, клиент постоянно получает последовательность изменений данных в соответствующих таблицах. Все данные, получаемые роутером, группируются в таблицы, которые в свою очередь сгруппированы в потоки.&lt;br /&gt;&lt;br /&gt;Для определения набора полей, которые будут транслироваться в каждой таблице, используются схемы данных. Протокол &lt;em&gt;Plaza2&lt;/em&gt; позволяет использовать два варианта схем данных:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Серверная схема данных&lt;/b&gt;&lt;br /&gt;При открытии потока пользователю не требуется задавать какое-либо описание получаемых данных, в момент подключения роутер получит схему данных с сервера, и все данные будут приходить согласно полученной схеме. Таким образом, перед пользователем не стоит задача поддержания схемы в валидном состоянии, т.к. набор доступных полей для каждой таблицы может меняться с течением времени.&lt;br /&gt;&lt;li&gt;&lt;b&gt;Пользовательская схема данных&lt;/b&gt;&lt;br /&gt;В случае, когда стандартный набор полей в таблицах содержит лишние или не содержит необходимых полей, пользователь может задать свои схемы данных для каждого потока и таблицы отдельно. Пользовательские схемы описываются с помощью &lt;em&gt;ini-файлов&lt;/em&gt;, в которых указывается название схемы данных, названия таблиц и список полей для каждой таблицы. Далее, при открытии потока данных, передается путь к соответствующему файлу с настройками схемы и ее название, и роутер отправляет схему на сервер для согласования. В случае если схема была принята на серверной стороне, все данные будут приходить с указанным набором полей. Если в схеме есть недопустимые поля или типы полей, то с сервера придет соответствующее сообщение, поток данных при этом открыт не будет, более детальное описание ошибки будет записано в клиентский лог-файл, который располагается в папке &lt;em&gt;\StockSharp_Plaza\Logs\&lt;/em&gt;.&lt;br /&gt;Полное описание формата данных для всех транслируемых таблиц можно найти в файле документации &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADjhr-KWbN5USQ3AatReLfvq7cgbT1B1_AaL8j4cA0yRX5fYt5nDSc-wQ5t9GSf9GXhFho6q4DYTxjL4UthveVA" title="http://ftp.rts.ru/pub/FORTS/Plaza2/p2gate_ru.pdf"&gt;2&lt;/a&gt;, а так же в описании схем данных, которое устанавливается вместе с роутером.&lt;/ol&gt;&lt;br /&gt;Для того чтобы исключить необходимость постоянного обращения к документации &lt;em&gt;Plaza2&lt;/em&gt;, возможные опечатки при задании схем данных, не оперировать непонятными сокращениями в названиях полей и их типами, в S# было введено &lt;a href="http://stocksharp.com/doc/html/838b1f44-ad42-4bf6-b862-0b0bff550482.htm" title="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" title="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" title="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" title="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaColumnRegistry_TradeFuture.htm"&gt;ColumnRegistry.TradeFuture&lt;/a&gt;.&lt;br /&gt;Набор таблиц, данные из которых необходимо будет получать при подключении к серверу, задается с помощью свойства &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_Tables.htm" title="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" title="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" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaTrader_TableRegistry.htm"&gt;PlazaTrader.TableRegistry&lt;/a&gt;, например, для добавления полного ордерлога необходимо выполнить:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
PlazaTrader.Tables.Add(PlazaTrader.TableRegistry. AnonymousOrdersLog);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В определенных ситуациях, выбор необходимого набора таблиц для получения данных можно оставить конечному пользователю, для этого в S# присутствует специальный графический компонент &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Plaza_Xaml_PlazaTableListComboBox.htm" title="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;br /&gt;&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/102251/Clipboard01.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102251/Clipboard01.jpg?size=800x800" alt="Рис. 1 - Выбор таблиц репликации данных." title="Рис. 1 - Выбор таблиц репликации данных." /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Для того чтобы передать список выбранных таблиц в &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Plaza_PlazaTrader.htm" title="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" title="http://stocksharp.com/doc/html/M_StockSharp_Plaza_PlazaTraderHelper_SyncTables.htm"&gt;SyncTables&lt;/a&gt;, который можно использовать следующим образом:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
PlazaTrader.SyncTables(Tables.SelectedTables);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;при этом нет необходимости в очистке списка таблиц, т.к. все лишние таблицы будут удалены автоматически.&lt;br /&gt;Для всех таблиц можно указать набор полей, которые должны транслироваться в них. Описание полей для таблиц так же находятся в метаданных, в классе &lt;a href="http://stocksharp.com/doc/html/Fields_T_StockSharp_Plaza_Metadata_PlazaColumnRegistry.htm" title="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" title="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaColumnRegistry_TradeFuture.htm"&gt;PlazaColumnRegistry.TradeFuture&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Поля таблицы, для которых нет соответствующих полей у объектов S#, будут записываться в специальный словарь &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_BusinessEntities_IExtendableEntity_ExtensionInfo.htm" title="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" title="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" title="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTradeDerivativeColumns_SellFee.htm"&gt;SellFee&lt;/a&gt;:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
PlazaTrader.TableRegistry.TradeFuture.Columns.Add(PlazaTrader.TableRegistry.ColumnRegistry.TradeFuture.SellFee);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;далее, в момент обработки данных по сделке, данное поле можно будет получить следующим образом:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
var fee = trade.ExtensionInfo[PlazaTrader.TableRegistry.ColumnRegistry.TradeFuture.SellFee];&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Подробное описание работы с дополнительными полями и произвольными таблицами можно найти в &lt;a href="http://stocksharp.com/doc/html/7eda6d74-d3b8-4fe5-b6a3-fab60e441daf.htm" title="http://stocksharp.com/doc/html/7eda6d74-d3b8-4fe5-b6a3-fab60e441daf.htm"&gt;документации&lt;/a&gt; по S# в разделе Российские коннекторы - Plaza2.&lt;br /&gt;&lt;br /&gt;После того как были выбраны все необходимые таблицы и их поля, в момент подключения к серверу будут сгенерированы соответствующие файлы схем данных, которые будут записаны в &lt;em&gt;.\StockSharp_Plaza\Configs\&lt;/em&gt; и будут использоваться при открытии соответствующих потоков. Нет необходимости в ручном изменении этих файлов, т.к. при следующем подключении они снова будут перезаписаны данными, сгенерированными по набору таблиц и их полей. Но эти файлы могут быть использованы в случае ошибки при открытии потока, чтобы понять, где была допущена ошибка.&lt;br /&gt;&lt;br /&gt;При подключении к роутеру, все выбранные таблицы группируются по потокам, которые, в свою очередь, группируются по разным соединениям. Каждое подключение к роутеру может использоваться для передачи данных по одному и более потоку репликации. Разделение потоков по разным соединениям необходимо для уменьшения влияния процесса обработки одних данных на другие, например, разделение потоков с таблицами сделок и агрегированных заявок по разным подключениям, позволяется обрабатывать стаканы, не дожидаясь пока будут обработаны все пришедшие сделки. В библиотеке S#, все получаемые потоки изначально сгруппированы таким образом, что наиболее нагруженные потоки репликации обрабатываются в различных подключениях. Если, по каким-либо причинам, стандартная группировка потоков не подходит для решения поставленных задач, ее можно изменить с помощью &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaStreamManager_ConnectionGroupping.htm" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaStreamManager_ConnectionGroupping.htm"&gt;ConnectionGroupping&lt;/a&gt;. Например, если необходимо получать все потоки репликации в одном подключении, то необходимо для каждого потока указать одинаковый индекс подключения:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Посмотреть сколько открывается соединений, и с какими названиями, можно в логе PlazaTrader-а в момент подключения:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;PlazaTrader     | 30.01.2013 15:10:21.761 |         | Attempted to connect Webinar_0.&lt;br /&gt;PlazaTrader     | 30.01.2013 15:10:21.819 |         | Attempted to connect Webinar_1.&lt;br /&gt;PlazaTrader     | 30.01.2013 15:10:21.820 |         | Attempted to connect Webinar_2.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;	&lt;b&gt;&lt;span style="font-size:120%"&gt;Управление ревизиями.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;	Каждая реплицируемая таблица имеет в своей структуре несколько служебных полей, предназначенных для обеспечения механизма репликации. Одним из полей является уникальный номер изменения в таблице. При любом изменении в таблице (вставке, редактировании, удалении записи) затронутая запись получает значение &lt;em&gt;replRev&lt;/em&gt;, равное максимальному &lt;em&gt;replRev&lt;/em&gt; в таблице до изменения +1. После согласования схем данных, клиент отсылает на сервер максимальные значения номера ревизии для каждой таблицы. Начальная синхронизация заключается в том, что сервер присылает клиенту все данные с номерами, большими, чем те, что указал клиент. Если клиент не указал номер ревизии для таблицы, то данные по этой таблице будут приходить в полном объеме.&lt;br /&gt;&lt;br /&gt;Для того чтобы получение данных начиналось с последних сохраненных ревизий, необходимо добавить нужные таблицы в &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaRevisionManager_Tables.htm" title="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaRevisionManager_Tables.htm"&gt;PlazaRevisionManager.Tables&lt;/a&gt;:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
var revisionManager = PlazaTrader.StreamManager.RevisionManager;

revisionManager.Tables.Add(Trader.TableRegistry.TradeFuture);
revisionManager.Tables.Add(Trader.TableRegistry.TradeOption);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;При первом подключении, после добавления таблиц в &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Plaza_PlazaRevisionManager.htm" title="http://stocksharp.com/doc/html/T_StockSharp_Plaza_PlazaRevisionManager.htm"&gt;RevisionManager&lt;/a&gt;, данные так же будут получены в полном объеме, т.к. информация о сохраненных номерах ревизий еще отсутствует. После переподключения, данные будут скачиваться с номера последней сохраненной ревизии.&lt;br /&gt;Интервал, через который сохраняется номер последней ревизии, доступен через &lt;a href="http://stocksharp.com/doc/html/P_StockSharp_Plaza_PlazaRevisionManager_Interval.htm" title="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;br /&gt;&lt;br /&gt;	&lt;b&gt;&lt;span style="font-size:120%"&gt;Полный ордерлог.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;	Полный журнал заявок – сервис Московской биржи, который позволяет получать список всех торговых транзакций, принятых торговой системой в текущую торговую сессию с указанием текущего статуса заявок (поставлена/удалена) и изменений параметров транзакции (частичных исполнений, передвижений заявки). Также в журнале отображается запись о сделке, с указанием номера сведенной в данную сделку заявки. Ордерлог - самый глубокий и детальный уровень биржевых данных, который доступен трейдеру. По данным ордерлога можно построить стаканы, получить тики и многое другое.&lt;br /&gt;&lt;br /&gt;Для получения и обработки всех данных по ордерлогу необходимо добавить таблицу &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm" title="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm"&gt;AnonymousOrdersLog&lt;/a&gt;:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
PlazaTrader.Tables.Add(PlazaTrader.TableRegistry. AnonymousOrdersLog);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;и подписаться на обработку события &lt;a href="http://stocksharp.com/doc/html/E_StockSharp_Algo_BaseTrader_NewOrderLogItems.htm" title="http://stocksharp.com/doc/html/E_StockSharp_Algo_BaseTrader_NewOrderLogItems.htm"&gt;NewOrderLogItems&lt;/a&gt;.&lt;br /&gt;Ордерлог, в отличие от потока агрегированных заявок, содержит информацию по всем заявкам, таким образом, по ордерлогу может быть построен стакан полной глубины. Библиотека S# предоставляет функционал, позволяющий автоматически строить стаканы и тики по данным ордерлога. &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Для построения стаканов по журналу заявок необходимо выставить соответствующий флаг &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
PlazaTrader.CreateDepthFromOrdersLog = true;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;при установке этого флага автоматически отключается обработка потоков агрегированных заявок и для получения данных добавляется таблица &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm" title="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm"&gt;AnonymousOrdersLog&lt;/a&gt;.&lt;br /&gt;&lt;li&gt;Для построения тиков по журналу заявок необходимо выставить флаг &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
PlazaTrader.CreateTradesFromOrdersLog = true;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;при установке этого флага отключается обработка потоков журнала сделок по фьючерсам и опционам и для получения данных добавляется таблица &lt;a href="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm" title="http://stocksharp.com/doc/html/F_StockSharp_Plaza_Metadata_PlazaTableRegistry_AnonymousOrdersLog.htm"&gt;AnonymousOrdersLog&lt;/a&gt;.&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;	&lt;b&gt;&lt;span style="font-size:120%"&gt;Сохранение и восстановление настроек.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;	S# &lt;em&gt;Plaza2&lt;/em&gt; коннектор предоставляет широкие возможности для управления настройками подключения, списком выбранных таблиц, группировкой потоков по соединениям и другими настройками. В одних случаях, эти настройки могут быть зашиты в торговом роботе, в других, может возникнуть необходимость предоставить возможность редактировать эти настройки конечному пользователю. Для удобства, все коннекторы S# содержат встроенные механизмы сохранения и загрузки настроек с помощью методов Save и Load.&lt;br /&gt;&lt;br /&gt;Для сохранения и загрузки настроек из внешнего файла можно воспользоваться соответственно сериализацией и десериализацией, реализованной в S#:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Загрузка&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;li&gt;Сохранение&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div align="right"&gt;Белич Александр &amp;#169; 2013&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2000/</id>
    <title type="text">Текущие задачи по PlazaTrader</title>
    <published>2011-10-10T15:20:51Z</published>
    <updated>2016-09-13T20:08:47Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">1) Избавиться от накопления очереди сообщений в первые секунды работы (необходимо разбить получение реплики на несколько соединений, работающих в отдельных thread&amp;#39;ах, каждое со своим циклом выборки).&lt;br /&gt;5) Добавить профилировщик получения данных и отправки заявок - необходимо понять насколько быстрый PlazaTrader у нас (особенно в связи с грядущими изменениями в плазе после нового года).&lt;br /&gt;6) Отфильтровывать данные от уже прошедшей сессии (вечером приходят данные как от дневной, так и от вечерней сессии).&lt;br /&gt;8) Если заявка GTC, то в вечерний клиринг приходит сообщение Inserted, с id_ord = новому номеру заявки и с id_ord1 = старому номеру заявки. Необходимо заменить одно на другое.&lt;br /&gt;&lt;br /&gt;Ничего не упустил?&lt;br /&gt;&lt;br /&gt;3ий таск я уже начал делать в фоновом режиме.&lt;br /&gt;Кто готов взяться за другие задачи?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_50e19bf1579f49a998d1bf50d0bac843');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_50e19bf1579f49a998d1bf50d0bac843' style='display:none'&gt;&lt;br /&gt;&lt;b&gt;Сделано:&lt;/b&gt;&lt;br /&gt;2) Обрабатывать снятие заявки в клиринг (сейчас заявка остаётся активной и снять её невозможно). (Alexander)&lt;br /&gt;3) Поддержка Plaza 64x. (frontman)&lt;br /&gt;4) Возможность задания даты истечения заявки (сейчас делается через PlazaStopCondition.ExpiryDate, что не прозрачно, т.к. на Plaza вообще нет стоп заявок). (Alexander)&lt;br /&gt;7) Добавить поддержку FutMoveOrder - одновременное перемещение 2х заявок. (frontman)&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3981/</id>
    <title type="text">Скачать нужную версию S#.Data с сервера</title>
    <published>2013-09-12T16:42:15Z</published>
    <updated>2016-09-13T20:08:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Если появилась необходимость скачать конкретную версию S#.Data (минуя установщик), то это можно сделать напрямую через браузер. Для этого достаточно ввести строчку &lt;a href="http://stocksharp.com/updates/hydra/stocksharpdata.all.to.4.1.XX.XX.wyu " title="http://stocksharp.com/updates/hydra/stocksharpdata.all.to.4.1.XX.XX.wyu "&gt;http://stocksharp.com/up...ta.all.to.4.1.XX.XX.wyu &lt;/a&gt;(XX заменяется номерами версий), и скачивается файла с форматом, который на самом деле является обычным zip.&lt;br /&gt;&lt;br /&gt;Если есть желание запустить параллельно 2 и более S#.Data одновременно, то нужно в Hydra.exe.config поправить 2 строчки:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:xml"&gt;
&amp;lt;add key=&amp;quot;settingsPath&amp;quot; value=&amp;quot;%Documents%\StockSharp\Hydra\&amp;quot;/&amp;gt;

&amp;lt;add name=&amp;quot;SQLiteConStr&amp;quot; connectionString=&amp;quot;Data Source=%Documents%\StockSharp\Hydra\StockSharp.db&amp;quot; providerName=&amp;quot;System.Data.SQLite&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Например, Hydra заменить на Hydra_Mika (или можно использовать абсолютные пути). Далее, просто запустить Hydra.exe и новая Гидра создаст папку по прописанному пути. БД пошарить между двумя гидрами нельзя - ограничение SQLite.</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">Источник загружает данные оттуда же, откуда и pro версия wealth-lab.&lt;br /&gt;&lt;br /&gt;Поддерживаются свечки всех мастей.&lt;br /&gt;&lt;br /&gt;Вроде как, с фиделити можно много разной инфы утянуть в том числе и макро, но в источнике нельзя.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Поддерживается Гидра версии 4.1.19.1&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Установка&lt;/b&gt; (все почти также, как и для яху-гугл)&lt;br /&gt;&lt;br /&gt;И снова идем на &lt;a target="_blank" href="https://github.com/KazaiMazai/WL-Source-for-StockSharp-Hydra" title="https://github.com/KazaiMazai/WL-Source-for-StockSharp-Hydra"&gt;ГИТХАБ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Обращаем внимание на то, что б была включена ветка &lt;b&gt;&amp;quot;master&amp;quot;&lt;/b&gt; и жмем &lt;b&gt;&amp;quot;download zip&amp;quot;.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102546/1.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102546/1.png?size=800x800" alt="1" title="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;После того, как скачали, идем в архиве в папку bin\Release или bin\Debug и ищем там Файлы:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WealthLab.DataProviders.Common.dll&lt;br /&gt;WealthLab.dll&lt;br /&gt;Fidelity.Components.dll&lt;br /&gt;StockSharp.Hydra.WLTask.dll&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Копируем его в Hydra\Plugins&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Также ищем папку в архиве &lt;b&gt;log4net_1_2_10_0&lt;/b&gt; или &lt;b&gt;Log4Net_old&lt;/b&gt;&lt;br /&gt;Копируем оттуда &lt;b&gt;log4net.dll&lt;/b&gt; и кидаем ее в корень Гидры с заменой.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Дело в том, что компоненты велс лаба собраны с более старой версией log4net, чем гидра.&lt;br /&gt;Выпилить оттуда эту библиотеку нельзя, равно как и из гидры. Но заменить в гидре можно, тем более что в они фактически и не используется.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Запускаем Гидру. В списке Источников должен был появиться WL-source.&lt;br /&gt;Если не появился, жмем добавить источник. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Настройки.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Есть два режима: обычный и перезагрузка.&lt;br /&gt;&lt;br /&gt;В режиме перезагрузка, будут качаться все отсутствующие данные, начиная с указанной начальной даты.&lt;br /&gt;&lt;br /&gt;Временной отступ - для обычного режима. При отступе равном, например, 50, будут качаться все отсутствующие данные за последние 50 дней.&lt;br /&gt;&lt;br /&gt;Полезно, например, если вы считаете какой-нибудь индикатор за последние 50 дней, а все что раньше, вас не интересует.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Инструменты&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;При первом запуске, в главной директории Hydra появится текстовый файл &lt;b&gt;WLSourceTickers.txt&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Записываем в него id необходимых инструментов через пробел, например:&lt;br /&gt;&lt;br /&gt;AAPL@SMART SPY@SMART APOL@NASDAQ GOOG@SMART &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SMART это умная система роутинга ордеров по ECN&amp;#39;ам. Типа как exchange board. Можно не обращать внимания.&lt;br /&gt;&lt;br /&gt;Для импорта инструментов в гидре жмем добавить.&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102547/2.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102547/2.png?size=800x800" alt="2" title="2" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102548/3.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102548/3.png?size=800x800" alt="3" title="3" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Инструменты спарсятся и добавятся в базу.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Перед началом закачки нужно не забыть добавить желаемые данные - свечки нужного ТФ.&lt;/b&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6912/</id>
    <title type="text">нет события newPortfolio при запуске исполняемого файла</title>
    <published>2016-09-13T07:45:07Z</published>
    <updated>2016-09-13T10:12:30Z</updated>
    <author>
      <name>holodnsk</name>
      <uri>https://stocksharp.ru/users/73097/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">библиотека 4.3.15, quik, lua коннектор&lt;br /&gt;при запуске из visual studio все прекрасно работает.&lt;br /&gt;при запуске исполняемого файла из bin\Debug не происходит событие trader .newPortfolio&lt;br /&gt;неудобно работать когда робот работает только при запуске из среды разработки.&lt;br /&gt;&lt;br /&gt;делал так:&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;trader.NewPortfolio += whenNewPortfolioLookUped;&lt;br /&gt;trader.LookupPortfolios(new Portfolio&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Name = PORTFOLIO_NAME                &lt;br /&gt;});&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;так&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;trader.NewPortfolio += whenNewPortfolioLookUped;&lt;br /&gt;trader.LookupPortfolios(new Portfolio());&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;и даже так&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;trader.LookupPortfolios(new Portfolio&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Name = PORTFOLIO_NAME,&lt;br /&gt;Board = new ExchangeBoard&lt;br /&gt;                                            {&lt;br /&gt;                                                Code = MARKET_BOARD_CODE&lt;br /&gt;                                            }                &lt;br /&gt;});&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;нет события и все тут.&lt;br /&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">Расскажем про все нюансы и настройки Quik для работы с платформой StockSharp!&lt;br /&gt;&lt;br /&gt;&lt;iframe width="560" height="350" src="https://player.vimeo.com/video/71017059?show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;&amp;fullscreen=1" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Кратко пробежимся по &lt;a href="http://stocksharp.com/products/studio/" title="http://stocksharp.com/products/studio/"&gt;S#.Studio&lt;/a&gt;, &lt;a href="http://stocksharp.com/products/hydra/" title="http://stocksharp.com/products/hydra/"&gt;S#.Data&lt;/a&gt; и &lt;a href="http://stocksharp.com/products/api/" title="http://stocksharp.com/products/api/"&gt;S#.Api&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Записаться на вебинар можно &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAFUZjCGjshrwHiy4MrHOD22aCGPbQY8KyhLmCKDMHegkhQYEVHyI1m7YSY32spBJEVlqZk3YaEaFdDWuy14RATJeL_aJH92WLhzWJscsnPIA" title="http://www.open-broker.ru/ru/learning/webinars/auto-trading-level-1/"&gt;здесь&lt;/a&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">Все про данные в платформе S#!&lt;br /&gt;&lt;br /&gt;Сегодня вебинар в 19:00, записаться можно &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAASje7Dvu3Anw4uO0-CuA-JWMGij5hBlhDbrNJXvBdqqXLNOWVsJu0_BeIUDpjgIUYlTre7Yy0FaYgMz0vq19R7" title="http://www.ilerney.com/elearning/details.php?ID=17557"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="560" height="350" src="https://player.vimeo.com/video/71754788?show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;&amp;fullscreen=1" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Краткий план:&lt;/em&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Различные источники данных (особенности)&lt;br /&gt;&lt;li&gt;Сохраняем и просматриваем данные&lt;br /&gt;&lt;li&gt;Анализируем, совмещаем инструменты&lt;/ol&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/325/</id>
    <title type="text">S#. Автоматическая торговля (вебинар, базовое про C#, спредовый робот)</title>
    <published>2013-09-10T23:27:18Z</published>
    <updated>2016-09-10T17:35:02Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="вебинар" />
    <category term="S#.Api" />
    <category term="бесплатно" />
    <category term="Статьи" />
    <content type="html">&lt;b&gt;Достаточно интересные темы раскрываются:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Программирование на .Net (C#) в целом. Базовые понятие, которые могут помочь написать первое приложение на S#.&lt;br /&gt;&lt;li&gt;Создание спредового робота, создание интересных конструкций.&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="560" height="350" src="https://player.vimeo.com/video/72299366?show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;&amp;fullscreen=1" frameborder="0"&gt;&lt;/iframe&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6904/</id>
    <title type="text">S#.Designer. Скачивание, установка, запуск. Видео 1.</title>
    <published>2016-09-05T12:03:55Z</published>
    <updated>2016-09-06T09:56:00Z</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="Designer" />
    <category term="Дизайнер" />
    <content type="html">&lt;iframe width="640" height="390" src="//www.youtube.com/embed/CqS-DEs60VY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6905/</id>
    <title type="text">S#.API Не выставляются заявки из примера SampleQuik</title>
    <published>2016-09-05T18:41:47Z</published>
    <updated>2016-09-06T02:20:16Z</updated>
    <author>
      <name>India</name>
      <uri>https://stocksharp.ru/users/95941/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте! Работую с API, попробовал выставить заявку по примерам - не получилось (ошибок нет, результата - тоже). Запустил пример SampleQuik, пробовал выставить заявку оттуда - пишет, что &amp;quot;счёт депо не найден&amp;quot;, хотя сам же его и предлагает выбрать в окне. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Может быть нужно было до выставления заявки проделать какие-то операции/настройки?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/343/</id>
    <title type="text">Валютный арбитраж на рынке FORTS</title>
    <published>2012-06-07T21:18:40Z</published>
    <updated>2016-09-02T00:54:40Z</updated>
    <author>
      <name>OvcharenkoVI</name>
      <uri>https://stocksharp.ru/users/390/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Статьи" />
    <content type="html">Мечтой каждого трейдера является risk-free стратегия.&lt;br /&gt;&lt;br /&gt;В этой статье поговорим о валютном арбитраже на срочном рынке ММВБ-РТС. Так как у нас нет возможности построить простую стратегию, мы создадим стратегию сложного арбитража с тремя инструментами. Данная тема много раз перетиралась на различных порталах, но я задался вопросом - имеет ли она еще место быть?&lt;br /&gt;&lt;br /&gt;Для ответа на вопрос я создал приложение (через API), экспортирующее данные по стаканам из терминала Альфа-Директ в рабочую книгу Excel.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/101984/1.JPG' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/101984/1.JPG?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/101985/2.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/101985/2.png?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/101986/3.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/101986/3.png?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Используемые инструменты:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Eu-6.12&lt;br /&gt;&lt;li&gt;USD-6.12&lt;br /&gt;&lt;li&gt;EURUSD&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;В правой колонке - рассчитанное значение фьючерса на доллар-рубль, а в левой - реальное значение.&lt;br /&gt;В качестве параметров для расчета я принял среднее значение внутри спреда.&lt;br /&gt;&lt;br /&gt;Теперь нам остается только построить график этого спреда(всего лишь за период в 15 минут). Как видим, в течение 15 минут наш спред 4 раза переместился с точки 0 до 10(в рублях).&lt;br /&gt;&lt;br /&gt;Наиболее благоприятное время для торговли данной стратегии - с 17:00 до 18:45 по Москве в период повышенной волатильности, когда спред в каждом стакане наиболее узкий, а спред между парами достигает 80 рублей.&lt;br /&gt;&lt;br /&gt;Общее ГО по трем инструментам составит чуть более 4200, то есть стратегия имеет право занять место в вашем портфеле!</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/296/</id>
    <title type="text">Зачем создавать торговых роботов своими руками, если можно купить, заказать или получить бесплатно?</title>
    <published>2015-09-17T21:23:56Z</published>
    <updated>2016-08-26T03:51:39Z</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="Программирование роботов" />
    <category term="Торговые роботы" />
    <content type="html">&lt;div align="center"&gt;&lt;a href='https://stocksharp.ru/file/103484/payroll_question.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/103484/payroll_question.png?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Пожалуй, это самый частый вопрос того, кто только-только начинает делать первые шаги в алгоритмическом трейдинге. Почему нужно &lt;a href="http://stocksharp.com/edu/" title="http://stocksharp.com/edu/"&gt;учиться писать роботов самостоятельно&lt;/a&gt;, чем просто пойти по легкому пути с делегированием? Действительно, а почему нет?&lt;br /&gt;&lt;br /&gt;Давайте попытаемся ответить по порядку на эти три разных вопроса.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;1 - Купить торговый робот&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Сейчас в интернете множества различных сайтов с десятками, а то и сотнями готовых роботов. Бери - не хочу. Но давайте на минутку зададимся вопросом - а нет ли здесь подвода? Ведь, если роботы действительно приносят прибыль (с другом стороны, зачем нам покупать робота, который теряет деньги?), то зачем создателям их продавать? Почему создатели, вместо торговли на бирже своими роботами, занимаются их продажами?&lt;br /&gt;&lt;br /&gt;Ответ прост. Продающиеся торговые роботы, как правило, &lt;b&gt;если и были зарабатывающими, то в прошлом&lt;/b&gt;. Или же они имеют вид некого комбайна из десятка различных параметров. И ваш депозит трейдера успеет быстрее подойти к нулю, чем вы успеете найти комбинацию, дающая профит вашей торговле.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;2 - Заказать разработку&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Как и в предыдущем вопросе здесь кроется одно очень большое НО. Программисты не придумывают прибыльный алгоритм. Если бы они это умели, он зарабатывали на бирже. Поэтому вам потребуется самостоятельно разработать стратегию торговли на бирже, протестировать ее на истории, и, будучи на 99% уверенным в ее робастости, отдать на разработку.&lt;br /&gt;&lt;br /&gt;Но постойте! Как вы сможете проверить алгоритм, если вы не можете написать код самостоятельно? А если вы можете написать код стратегии, протестировать ее, то зачем же тогда делать заказ?&lt;br /&gt;&lt;br /&gt;Ответ так же прост. Не делайте заказы на роботов, если вы сами можете их разрабатывать. И, аналогично, &lt;b&gt;если вы не можете делать роботов - не делайте заказы на них&lt;/b&gt;. Вы не сможете придумать качественную торговую стратегию, и ваши деньги, заплаченные программисту, вылетят в трубу.&lt;br /&gt;&lt;br /&gt;Мы в &lt;a href="http://stocksharp.com/robot/" title="http://stocksharp.com/robot/"&gt;нашем сервисе&lt;/a&gt; предупреждает об рисках заказа роботов теми, кто ни разу не писал своего до этого.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;3 - Получить торговый робот бесплатно&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Сейчас бесплатно можно получить готового робота от брокера. Или же скачать откуда-то в интернете. В чем подвод тут?&lt;br /&gt;&lt;br /&gt;Нужно всегда помнить - бесплатный сыр бывает только в мышеловке. Вариантов тут несколько. Или робот псевдо-бесплатен (переходим к пункту Купить торговый робот), или он бесполезен и написан начинающим алготрейдером, или он преследует цели набора комиссии для брокера (особенно, если робот высокочастотен), или он является частью учебного пособия.&lt;br /&gt;&lt;br /&gt;Наиболее &lt;b&gt;полезным для начинающих будет только последний вариант с учебным пособием&lt;/b&gt;. Потому что этот вариант не будет иметь скрытого мотива. И данный робот, хоть и будет иметь аналогичное качество всем остальным роботам (что можно купить или заказать), но будет иметь неоспоримый плюс - &lt;a href="http://stocksharp.com/edu/" title="http://stocksharp.com/edu/"&gt;попытаться вас научить делать роботов самостоятельно&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Надеюсь, данная статья помогла систематизировать ваши представления о роботов. Успехов в алгоритмическом трейдинге!</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6897/</id>
    <title type="text">Чем вам не понравился SQL Server? </title>
    <published>2016-08-25T09:05:13Z</published>
    <updated>2016-08-25T15:07:22Z</updated>
    <author>
      <name>JcJet</name>
      <uri>https://stocksharp.ru/users/94445/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Читаю документацию к библиотеке S# API. Хороший труд, довольно много интересного сделано, сэкономит много времени при написании своей системы. &lt;br /&gt;Одно немного смутило: почему для хранения данных в качестве хранилища используются bin файлы? &lt;br /&gt;Неужели не проще и эффективнее хранить тики(и прочее) в СУБД, в которых хороший уровень производительности, отказоустойчивости, и универсальности(можно играть с данными с других машин в R, например).&lt;br /&gt;Это не претензия, ведь библиотека бесплатна  и там уже много хорошего, что сэкономит дни или месяцы кодинга, а работа с БД и так во многом у меня налажена. Просто интересны причины такого решения :)&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5484/</id>
    <title type="text">Что стало с форумом?</title>
    <published>2016-08-01T06:56:21Z</published>
    <updated>2016-08-24T22:43:38Z</updated>
    <author>
      <name>roman001</name>
      <uri>https://stocksharp.ru/users/94444/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Еще в пятницу 29.07 были темы, поиск, это что новый интерфейс или глюк?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6892/</id>
    <title type="text">Следящий TakeProfitStrategy</title>
    <published>2016-08-22T07:29:01Z</published>
    <updated>2016-08-22T07:29:01Z</updated>
    <author>
      <name>roman001</name>
      <uri>https://stocksharp.ru/users/94444/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="TakeProfitStrategy" />
    <category term="следящий стоп" />
    <content type="html">Добрый день&lt;br /&gt;Помогите плз разбираться со следящим стопом TakeProfitStrategy. На основе примера пакета SampleHistoryTesting пытаюсь закрывать сделку следящим стопом (стоп с простым сдвигом от сделки работает нормально). &lt;br /&gt;пишу:&lt;br /&gt;&lt;br /&gt;      var takeProfit = new TakeProfitStrategy(t.Order.Direction, t.Trade.Price + SH, t.Trade.Volume, new Unit(correctionProfit, UnitTypes.Percent));&lt;br /&gt;      takeProfit.IsTrailing = true;&lt;br /&gt;&lt;br /&gt;переменная correctionProfit, как положено по спецификации, типа decimal (например 0.1), но стратегия не стартует&lt;br /&gt;в логе пишет:&lt;br /&gt;&lt;br /&gt;2012/10/01 11:00:09.000|       |TPS_RIZ2@FORTS_test account|Защита позиции Buy/147032 с объемом 2. Уровень=0.1%, Скользящий=True, Маркет-заявки=False, Котирование=False, Проскальзывание=0&lt;br /&gt;2012/10/01 11:00:09.000|       |HistoryEmulationConnector|Инструмент RIZ2@FORTS зарегистрирован на получение рыночных данных для Trades.&lt;br /&gt;2012/10/01 11:00:09.000|       |TPS_RIZ2@FORTS_test account|Котирование на Sell объема 2.&lt;br /&gt;2012/10/01 11:00:09.000|Error  |TPS_RIZ2@FORTS_test account|System.ArgumentException: Проценты возможно переводить только в проценты.&lt;br /&gt;</content>
  </entry>
</feed>