﻿<?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=185</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-08T20:09:50Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=185" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/3080/</id>
    <title type="text">Ошибка при котировании в SampleHistoryTesting</title>
    <published>2012-10-12T17:40:03Z</published>
    <updated>2012-10-12T17:40:03Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.ru/users/6384/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;В примере SampleHistoryTesting вываливаются ошибки при запуске каждой дочерней стратегии на котирование, которых при работе Quik SampleSMA нет:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
2009.05.31 20:00:00.000|       |SS_RIU9@RTS_test account|Стратегия запущена.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Стратегия запущена.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Котирование на Sell объема 1.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Приостановка правил. _rulesSuspendCount 1.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Возобновление правил. _rulesSuspendCount 0.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Цена текущей NULL и лучшей 116155.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Регистрация новой заявки на Sell с ценой 116155 и объемом 1.
2009.06.02 06:40:00.970|       |MQS_RIU9@RTS_test account|Заявка 80254917 на Sell отправлена с ценой 116155 объемом 1.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Заявка 80254917 принята биржей.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Цена текущей 116155 и лучшей 116000.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Котирование заявки 80254917 на Sell с ценой 116155 объемом 1.
2009.06.02 06:40:01.737|Error  |MQS_RIU9@RTS_test account|Заявка 0 не была принята по причине System.ArgumentException: Заявка уже имеет номер '1'. Возможно, она уже была зарегистрирована.
Имя параметра: order
   в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder)
   в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder).
2009.06.02 06:40:01.737|Error  |MQS_RIU9@RTS_test account|System.ArgumentException: Заявка уже имеет номер '1'. Возможно, она уже была зарегистрирована.
Имя параметра: order
   в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder)
   в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting()
   в StockSharp.Algo.Strategies.QuotingStrategy.#=ql8FZcZl1VhoSfxj6bxBSmoDgJ6B2gT6ImGejxU1jvuQ=(Order #=qP5IG1jy682SV9oLq5xh5xw==)
   в StockSharp.Algo.MarketRule`2.#=qD2pySzb7SwcKqbf509xbCf4ETRnYzZpS8F4NvKjD1Cg=()
   в StockSharp.Algo.MarketRuleHelper.#=qQ813stF5rdU7vR12V$ax_w==(IMarketRuleContainer #=qrcq1peQJX8wVd5bucjdK5Q==, IMarketRule #=qhASjoS2d0T$yCziW8qaZow==, Func`1 #=qarKRLFkIjTz$sLdPcQaF4w==)
   в StockSharp.Algo.Strategies.Strategy.#=qcUFLS8UKZFDgbx2X3BZSfEUGq5pxvIDpIdlvrsG_Q6JT74bgQBqKgNKlz2z_$METWffqXRfxwWIOkgvRG3QAtg==(IMarketRule #=qB7ROmUjGdaG1jUWU0vPRbA==, Func`1 #=qVPSEf_woMd2b0g2sKq7R1w==)
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Стратегия останавливается.
2009.06.02 06:40:01.737|Warning|MQS_RIU9@RTS_test account|Заканчиваем котирование с неисполненным объемом равный 1.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Ожидание снятия всех активных заявок.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Отмена заявки 80254917.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Заявка 80254917 больше не активна.
2009.06.02 06:40:01.737|       |MQS_RIU9@RTS_test account|Стратегия остановлена.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Стратегия запущена.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Котирование на Buy объема 1.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Приостановка правил. _rulesSuspendCount 1.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Возобновление правил. _rulesSuspendCount 0.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Цена текущей NULL и лучшей 119500.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Регистрация новой заявки на Buy с ценой 119500 и объемом 1.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Заявка 80254918 на Buy отправлена с ценой 119500 объемом 1.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Заявка 80254918 принята биржей.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Цена текущей 119500 и лучшей 119800.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Котирование заявки 80254918 на Buy с ценой 119500 объемом 1.
2009.06.02 10:26:03.077|Error  |MQS_RIU9@RTS_test account|Заявка 0 не была принята по причине System.ArgumentException: Заявка уже имеет номер '2'. Возможно, она уже была зарегистрирована.
Имя параметра: order
   в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder)
   в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder).
2009.06.02 10:26:03.077|Error  |MQS_RIU9@RTS_test account|System.ArgumentException: Заявка уже имеет номер '2'. Возможно, она уже была зарегистрирована.
Имя параметра: order
   в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder)
   в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting()
   в StockSharp.Algo.Strategies.QuotingStrategy.#=ql8FZcZl1VhoSfxj6bxBSmoDgJ6B2gT6ImGejxU1jvuQ=(Order #=qP5IG1jy682SV9oLq5xh5xw==)
   в StockSharp.Algo.MarketRule`2.#=qD2pySzb7SwcKqbf509xbCf4ETRnYzZpS8F4NvKjD1Cg=()
   в StockSharp.Algo.MarketRuleHelper.#=qQ813stF5rdU7vR12V$ax_w==(IMarketRuleContainer #=qrcq1peQJX8wVd5bucjdK5Q==, IMarketRule #=qhASjoS2d0T$yCziW8qaZow==, Func`1 #=qarKRLFkIjTz$sLdPcQaF4w==)
   в StockSharp.Algo.Strategies.Strategy.#=qcUFLS8UKZFDgbx2X3BZSfEUGq5pxvIDpIdlvrsG_Q6JT74bgQBqKgNKlz2z_$METWffqXRfxwWIOkgvRG3QAtg==(IMarketRule #=qB7ROmUjGdaG1jUWU0vPRbA==, Func`1 #=qVPSEf_woMd2b0g2sKq7R1w==)
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Стратегия останавливается.
2009.06.02 10:26:03.077|Warning|MQS_RIU9@RTS_test account|Заканчиваем котирование с неисполненным объемом равный 1.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Ожидание снятия всех активных заявок.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Отмена заявки 80254918.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Заявка 80254918 больше не активна.
2009.06.02 10:26:03.077|       |MQS_RIU9@RTS_test account|Стратегия остановлена.


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;С чем это может быть связано?&lt;/p&gt;
&lt;p&gt;С Уважением,
Роман&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3079/</id>
    <title type="text">Доступ к РТС класике и Стандарту</title>
    <published>2012-10-12T15:21:37Z</published>
    <updated>2012-10-12T15:21:37Z</updated>
    <author>
      <name>qpile</name>
      <uri>https://stocksharp.ru/users/6397/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Реализована ли на текущий момент возможность подключения к этим рынкам по Plaza 2 ?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3078/</id>
    <title type="text">Не переворачивается позиция в примере SampleSMA</title>
    <published>2012-10-12T11:06:07Z</published>
    <updated>2012-10-12T11:06:07Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.ru/users/6384/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;pre&gt;&lt;code class="language-plain"&gt;
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Стратегия запущена.
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Котирование на Sell объема 1.
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Приостановка правил. _rulesSuspendCount 1.
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Возобновление правил. _rulesSuspendCount 0.
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Цена текущей NULL и лучшей 146900.
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Лучший бид 146890 и лучший аск 146900.
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Регистрация новой заявки на Sell с ценой 146900 и объемом 1.
2012.10.12 14:53:56.975|       |MQS_RIZ2@RTS_SPBFUT00627|Заявка 63746365 на Sell отправлена с ценой 146900 объемом 1.
2012.10.12 14:53:57.730|       |MQS_RIZ2@RTS_SPBFUT00627|Заявка 63746365 принята биржей.
2012.10.12 14:53:57.730|       |MQS_RIZ2@RTS_SPBFUT00627|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.10.12 14:53:57.737|       |SS_RIZ2@RTS_SPBFUT00627|Новая позиция -1.
2012.10.12 14:53:57.737|       |MQS_RIZ2@RTS_SPBFUT00627|Новая позиция -1.
2012.10.12 14:53:57.737|       |MQS_RIZ2@RTS_SPBFUT00627|Позиция изменилась на -1. Оставшийся объем 0.
2012.10.12 14:53:57.737|       |MQS_RIZ2@RTS_SPBFUT00627|Заканчиваем котирование.
2012.10.12 14:53:57.738|       |MQS_RIZ2@RTS_SPBFUT00627|Стратегия останавливается.
2012.10.12 14:53:57.738|       |MQS_RIZ2@RTS_SPBFUT00627|Ожидание снятия всех активных заявок.
2012.10.12 14:53:57.738|       |MQS_RIZ2@RTS_SPBFUT00627|Стратегия остановлена.
2012.10.12 14:53:57.740|       |SS_RIZ2@RTS_SPBFUT00627|Новая Sell сделка 76452271 по цене 146900 на 1 заявки 63746365.
2012.10.12 14:53:57.756|       |MQS_RIZ2@RTS_SPBFUT00627|Новая Sell сделка 76452271 по цене 146900 на 1 заявки 63746365.
2012.10.12 14:59:52.857|       |MQS_RIZ2@RTS_SPBFUT00627|Стратегия запущена.
2012.10.12 14:59:52.857|       |MQS_RIZ2@RTS_SPBFUT00627|Котирование на Buy объема 1.
2012.10.12 14:59:52.858|       |MQS_RIZ2@RTS_SPBFUT00627|Приостановка правил. _rulesSuspendCount 1.
2012.10.12 14:59:52.858|       |MQS_RIZ2@RTS_SPBFUT00627|Возобновление правил. _rulesSuspendCount 0.
2012.10.12 14:59:52.858|       |MQS_RIZ2@RTS_SPBFUT00627|Цена текущей NULL и лучшей 147150.
2012.10.12 14:59:52.858|       |MQS_RIZ2@RTS_SPBFUT00627|Лучший бид 147150 и лучший аск 147200.
2012.10.12 14:59:52.858|       |MQS_RIZ2@RTS_SPBFUT00627|Регистрация новой заявки на Buy с ценой 147150 и объемом 1.
2012.10.12 14:59:52.858|       |MQS_RIZ2@RTS_SPBFUT00627|Заявка 63746366 на Buy отправлена с ценой 147150 объемом 1.
2012.10.12 14:59:52.874|Warning|MQS_RIZ2@RTS_SPBFUT00627|Заявка 63746366 в процессе регистрации.
2012.10.12 14:59:53.197|       |MQS_RIZ2@RTS_SPBFUT00627|Заявка 63746366 принята биржей.
2012.10.12 14:59:53.197|       |MQS_RIZ2@RTS_SPBFUT00627|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.10.12 14:59:53.887|       |SS_RIZ2@RTS_SPBFUT00627|Новая Buy сделка 76452855 по цене 147150 на 1 заявки 63746366.
2012.10.12 14:59:53.887|       |SS_RIZ2@RTS_SPBFUT00627|Новая позиция 0.
2012.10.12 14:59:53.887|       |MQS_RIZ2@RTS_SPBFUT00627|Новая позиция 1.
2012.10.12 14:59:53.887|       |MQS_RIZ2@RTS_SPBFUT00627|Позиция изменилась на 1. Оставшийся объем 0.
2012.10.12 14:59:53.887|       |MQS_RIZ2@RTS_SPBFUT00627|Заканчиваем котирование.
2012.10.12 14:59:53.888|       |MQS_RIZ2@RTS_SPBFUT00627|Стратегия останавливается.
2012.10.12 14:59:53.888|       |MQS_RIZ2@RTS_SPBFUT00627|Ожидание снятия всех активных заявок.
2012.10.12 14:59:53.888|       |MQS_RIZ2@RTS_SPBFUT00627|Стратегия остановлена.
2012.10.12 14:59:53.888|       |MQS_RIZ2@RTS_SPBFUT00627|Новая Buy сделка 76452855 по цене 147150 на 1 заявки 63746366.

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Позиция закрывается в 0, но не переворачивается.
Если первая сделка бай, то соответственно не открывается короткая позиция.
Если селл, то длинная.&lt;/p&gt;
&lt;p&gt;В коде стратегии добавлена только проверка на риал-тайм, больше ничего не трогал.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3077/</id>
    <title type="text">Запаздывает вывод стакана</title>
    <published>2012-10-12T07:30:16Z</published>
    <updated>2012-10-12T07:30:16Z</updated>
    <author>
      <name>qpile</name>
      <uri>https://stocksharp.ru/users/6397/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Здравствуйте, уважаемые разработчики!
Данные в стакан приходят с лагом 1-2 секунды. что нужно выставить в настройках, что бы все было ок?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3076/</id>
    <title type="text">Одновременный запуск двух одинаковых роботов и двух квиков</title>
    <published>2012-10-11T10:56:31Z</published>
    <updated>2012-10-11T10:56:31Z</updated>
    <author>
      <name>profts</name>
      <uri>https://stocksharp.ru/users/6174/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Есть работающий робот, работает около двух месяцев без единого глюка...  открыл еще один счет, продублировал робота и стал запускать одновременно двух, каждый торгует в своем квике.&lt;br /&gt;
Собственно появилась проблема - один из роботов перестает получать статус отправленной заявки из квика.
Есть такой кусок кода:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;private void Wait_Order_State(Order order, OrderStates state)
{
int k = 1;
Wait_Order_State1:
if (order.State == state)
{
Wait_State = true;
this.AddInfoLog(&amp;quot;Статус заявки уже  {0}&amp;quot;, state);
}
else
{
if (k == 1)
{
this.AddInfoLog(&amp;quot;Статус заявки еще не {0}&amp;quot;, state);
}
k = k + 1;
goto Wait_Order_State1;
}
}
Метод запускается после отправки заявки и дожидается ее исполнения, т.е. когда state станет равным OrderStates.Done.&lt;br /&gt;
Так вот один из роботов постоянно зацикливается в этом методе. Делаю остановку, заявку отображает правильно, но в квике она уже давно исполнена, а в роботе так и остается Active.&lt;br /&gt;
В чем может быть проблема? Может какой-то конфликт DDE между двумя квиками?&lt;/p&gt;
&lt;/blockquote&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3075/</id>
    <title type="text">Как понять, что DDE передал всю историю, и теперь идет реал-тайм?</title>
    <published>2012-10-11T09:22:21Z</published>
    <updated>2012-10-11T09:22:21Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.ru/users/6384/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Разбираюсь с примером Quik SampleSMA.
В этом примере если запускать робота не с начала дня, то сыпятся сделки по приходу свечек из истории.
Есть ли какой-либо метод, чтобы запретить выставлять ордера на биржу, пока не будет закачана вся история?&lt;/p&gt;
&lt;p&gt;Роман.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3074/</id>
    <title type="text">ошибка при запуске BasketStrategy</title>
    <published>2012-10-10T16:14:04Z</published>
    <updated>2012-10-10T16:14:04Z</updated>
    <author>
      <name>Ant.On.</name>
      <uri>https://stocksharp.ru/users/6276/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;код:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;            BasketStrategy quote = new BasketStrategy(BasketStrategyFinishModes.All);
            quote.ChildStrategies.Add(quoter_1);
            quote.ChildStrategies.Add(quoter_2);
            this.ChildStrategies.Add(quote);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ошибка:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2012/10/10 19:54:34.203|Error  |BS_SPBFUT006GJ|System.InvalidOperationException: Инструмент не инициализирован.
at StockSharp.Algo.Strategies.Strategy.OnStarted()
at StockSharp.Algo.Strategies.BasketStrategy.OnStarted()
at StockSharp.Algo.Strategies.Strategy.#=qPumxDV5SBHuCYTq_cqUWVTizHkIhg6MP_9mOGwi1SYU=(ProcessStates #=qeRNChQaniV4oK7zWNidypQ==)
В чем может быть дело?&lt;/p&gt;
&lt;/blockquote&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3073/</id>
    <title type="text">Не запускается Гидра из сборки S# 19868</title>
    <published>2012-10-10T09:35:08Z</published>
    <updated>2012-10-10T09:35:08Z</updated>
    <author>
      <name>greg_bond</name>
      <uri>https://stocksharp.ru/users/6381/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Помогите Гуру.
Что я делаю не так?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Получил тестовый доступ на Украинскую биржу.&lt;/li&gt;
&lt;li&gt;Установил шлюз Плаза 2.&lt;/li&gt;
&lt;li&gt;Установил терминал.&lt;/li&gt;
&lt;li&gt;Открыл требуемые порты в Comodo.&lt;/li&gt;
&lt;li&gt;Запустил терминал и убедился в том что информация поступает.&lt;/li&gt;
&lt;li&gt;С codeplex скачал исходники S#.&lt;/li&gt;
&lt;li&gt;Из папки trunk gостроил решения Hydra.csproj, Core.csproj, а также все решения из папки Plugins.&lt;/li&gt;
&lt;li&gt;Перенес недостающие 2 ini файла из релиза Гидры на Box.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;В результате запуска в процессе создания последнего источник, а именно UX получил следующее сообщение об исключении:
12:26:19.204|Error  |StockSharp|System.ArgumentException: Item with name 'Id' doesn't exists.
Имя параметра: name
в Ecng.Serialization.SerializationItemCollection.get_Item(String name)
в Ecng.Data.Database.GetOrAddCacheTable[TEntity](SerializationItemCollection table)
в Ecng.Data.Database.ReadAll[TEntity](Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)
в Ecng.Data.HierarchicalPageLoadList&lt;code&gt;1.OnGetGroup(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction) в Ecng.Serialization.RelationManyList&lt;/code&gt;1.ReadAll(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)
в Ecng.Serialization.RelationManyList&lt;code&gt;1.RelationManyListEnumerator.ProcessMove(Boolean&amp;amp; canProcess) в Ecng.Collections.BaseEnumerator&lt;/code&gt;2.MoveNext()
в StockSharp.Hydra.MainWindow.InitializeMarketSources()
в System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
в System.Threading.Tasks.Task.Execute()&lt;/p&gt;
&lt;p&gt;Дальнейшие действия:
С Box скачал Hydra_4.1.5_19634, распаковал, запустил, получил:
012.10.10 09:59:45.107|Error  |StockSharp|System.ArgumentException: Item with name 'Id' doesn't exists.
Имя параметра: name
в Ecng.Serialization.SerializationItemCollection.get_Item(String name)
в Ecng.Data.Database.GetOrAddCacheTable[TEntity](SerializationItemCollection table)
в Ecng.Data.Database.ReadAll[TEntity](Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)
в Ecng.Data.HierarchicalPageLoadList&lt;code&gt;1.OnGetGroup(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction) в Ecng.Serialization.RelationManyList&lt;/code&gt;1.ReadAll(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)
в Ecng.Serialization.RelationManyList&lt;code&gt;1.RelationManyListEnumerator.ProcessMove(Boolean&amp;amp; canProcess) в Ecng.Collections.BaseEnumerator&lt;/code&gt;2.MoveNext()
в StockSharp.Hydra.MainWindow.InitializeMarketSources()
&lt;mark&gt;в StockSharp.Hydra.MainWindow.&lt;MainWindowLoaded&gt;b__26()&lt;/mark&gt;
в System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
в System.Threading.Tasks.Task.Execute()&lt;/p&gt;
&lt;p&gt;как видим отличия только в выделенной строке.
Сразу хочу отметить до создания базы дело даже не доходит&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3072/</id>
    <title type="text">Лицензия для сторонних разработчиков</title>
    <published>2012-10-09T11:23:05Z</published>
    <updated>2012-10-09T11:23:05Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Добрый день,&lt;/p&gt;
&lt;p&gt;В библиотеке СтокШарп появилась новая возможность - отключение проверки лицензии на компьютерах пользователей. Если Вы заинтересованы в данной услуге, пожалуйста, напишите нам письмо на ящик info сбк стокшарп ком информацию о продукте и его сайт.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3071/</id>
    <title type="text">Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)</title>
    <published>2012-10-08T20:35:54Z</published>
    <updated>2012-10-08T20:35:54Z</updated>
    <author>
      <name>XMbIPb</name>
      <uri>https://stocksharp.ru/users/6200/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;div class="spoiler"&gt;&lt;p&gt;System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)
at System.Guid.TryParseGuidWithNoStyle(String guidString, GuidResult&amp;amp; result)
at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult&amp;amp; result)
at System.Guid..ctor(String g)
at Ecng.Common.Converter.To(Object value, Type destinationType)
at Ecng.Common.Converter.To(Object value)
at StockSharp.Hydra.Core.Extensions.&lt;GetList&gt;b__0(String s) in c:\Hydra\Core\Extensions.cs:line 72
at System.Linq.Enumerable.WhereSelectArrayIterator&lt;code&gt;2.MoveNext() at Ecng.Collections.CollectionHelper.AddRange(ICollection&lt;/code&gt;1 source, IEnumerable&lt;code&gt;1 items) at StockSharp.Hydra.Core.Extensions.GetList(Security security, String key) in c:\Hydra\Core\Extensions.cs:line 72 at StockSharp.Hydra.Core.Extensions.ContainsSource(Security security, String key, IMarketDataSource source) in c:\Hydra\Core\Extensions.cs:line 153 at StockSharp.Hydra.Core.Extensions.ContainsSource(Security security, Type dataType, IMarketDataSource source) in c:\Hydra\Core\Extensions.cs:line 137 at StockSharp.Hydra.Core.Extensions.ContainsSource(Security security, IMarketDataSource source) in c:\Hydra\Core\Extensions.cs:line 116 at StockSharp.Hydra.Core.TraderMarketDataSource.Start() in c:\Hydra\Core\TraderMarketDataSource.cs:line 74 at StockSharp.Hydra.Worker.Start(IEnumerable&lt;/code&gt;1 securities) in c:\Hydra\Hydra\Worker.cs:line 257
at StockSharp.Hydra.MainWindow.Start(Boolean auto) in c:\Hydra\Hydra\MainWindow.xaml.cs:line 1012
at StockSharp.Hydra.MainWindow.StartStopClick(Object sender, RoutedEventArgs e) in c:\Hydra\Hydra\MainWindow.xaml.cs:line 735
at StockSharp.Hydra.MainWindow.OnUpdateUi(Object sender, EventArgs e) in c:\Hydra\Hydra\MainWindow.xaml.cs:line 676
at System.Windows.Threading.DispatcherTimer.FireTick(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Вылетает при старте экспорта.. жалуется на вот эту строку: ```csharp
retVal.AddRange(str.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(s =&amp;gt; s.To&lt;Guid&gt;()));&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3070/</id>
    <title type="text">Куда баги файлить?</title>
    <published>2012-10-08T19:39:32Z</published>
    <updated>2012-10-08T19:39:32Z</updated>
    <author>
      <name>kingdom2</name>
      <uri>https://stocksharp.ru/users/6375/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Всем привет,&lt;/p&gt;
&lt;p&gt;Подскажите плиз, как баги на stocksharp выставлять?&lt;/p&gt;
&lt;p&gt;Спасибо&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3069/</id>
    <title type="text">Задержка в событии матчинга ордеров в начале работы стратегии</title>
    <published>2012-10-08T18:19:03Z</published>
    <updated>2012-10-08T18:19:03Z</updated>
    <author>
      <name>Liberal</name>
      <uri>https://stocksharp.ru/users/6066/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Непонятные задержки в событии матчинга ордеров в начале работы стратегии. Наблюдается на всех версиях (4.1.3 – 4.1.5), весия  шлюза: 1.14.8, тестовый контур. Формирую две заявки. Купить по цене намного хуже чем лучший ask и продать по цене намного хуже чем лучший bid. Т.е. эти две заявки должны исполниться мгновенно. Но между событиями об успешной регистрации этих заявок и событиями об их исполнении проходит около 30 секунд. В дальнейшем, при работе стратегии пары заявок исполняются нормально. Так происходит при каждом запуске программы. Хотелось бы понять, это особенности StockSharp или особенности тестового контура, а на боевом все будет нормально?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3067/</id>
    <title type="text">GetCandle</title>
    <published>2012-10-08T07:26:11Z</published>
    <updated>2012-10-08T07:26:11Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.ru/users/6384/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;В примере SampleHistoryTesting добавил такой код:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
            var cnd = _series.GetCandle&amp;lt;TimeFrameCandle&amp;gt;(1);
            if (cnd != null)
                this.AddInfoLog(&amp;quot;Предыдущая свеча {0}: {1};{2};{3};{4}; объем {5}&amp;quot;.Put(cnd.OpenTime, cnd.OpenPrice, cnd.HighPrice, cnd.LowPrice, cnd.ClosePrice, cnd.TotalVolume));
            else this.AddInfoLog(&amp;quot;Нет Предыдущая свеча&amp;quot;);


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В итоге получаю такой лог:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
2007.05.31 20:00:00.000|       |SS_RIU7@RTS_test account|Стратегия запущена.
2007.06.01 06:45:40.790|       |SS_RIU7@RTS_test account|Новая свеча 01.06.2007 10:30:00: 179005;179790;179005;179700; объем 103
2007.06.01 06:45:40.790|       |SS_RIU7@RTS_test account|Нет Предыдущая свеча
2007.06.01 07:04:31.710|       |SS_RIU7@RTS_test account|Новая свеча 01.06.2007 10:45:00: 179575;179600;178775;178875; объем 136
2007.06.01 07:04:31.710|       |SS_RIU7@RTS_test account|Предыдущая свеча 01.06.2007 10:30:00: 179005;179790;179005;179700; объем 103
....
2007.06.01 13:49:08.113|       |SS_RIU7@RTS_test account|Предыдущая свеча 01.06.2007 17:15:00: 186000;186000;185480;185550; объем 17
2007.06.04 06:30:51.940|       |SS_RIU7@RTS_test account|Новая свеча 01.06.2007 17:45:00: 186000;186995;186000;186995; объем 21
2007.06.04 06:30:51.940|       |SS_RIU7@RTS_test account|Предыдущая свеча 01.06.2007 17:30:00: 185555;186125;185555;186030; объем 209
2007.06.04 06:48:17.983|       |SS_RIU7@RTS_test account|Новая свеча 04.06.2007 10:30:00: 186055;186055;185425;185500; объем 80

(!!!!) 2007.06.04 06:48:17.983|       |SS_RIU7@RTS_test account|Нет Предыдущая свеча

2007.06.04 07:00:14.400|       |SS_RIU7@RTS_test account|Новая свеча 04.06.2007 10:45:00: 185100;185100;184205;184470; объем 194
2007.06.04 07:00:14.400|       |SS_RIU7@RTS_test account|Предыдущая свеча 04.06.2007 10:30:00: 186055;186055;185425;185500; объем 80
2007.06.04 07:15:57.457|       |SS_RIU7@RTS_test account|Новая свеча 04.06.2007 11:00:00: 184675;185650;184355;185650; объем 319
2007.06.04 07:15:57.457|       |SS_RIU7@RTS_test account|Предыдущая свеча 04.06.2007 10:45:00: 185100;185100;184205;184470; объем 194

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В случае, если были выходные, то возвращает, что предыдущей свечки нет, вместо того, чтобы вернуть последнюю свечку пятницы. Это я туплю или так задумано?&lt;/p&gt;
&lt;p&gt;С уважением, Роман.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3066/</id>
    <title type="text">Работа EmulationTrader</title>
    <published>2012-10-07T21:40:12Z</published>
    <updated>2012-10-07T21:40:12Z</updated>
    <author>
      <name>InsiderHSE</name>
      <uri>https://stocksharp.ru/users/6099/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Если в примере SampleHistoryTesting закомментировать одну строчку - candleManager.Start(series);, то трейдер перестает подгружать сделки и событие trader.NewTrades перестает вызываться. Баг? Получается, для того, чтобы протестировать стратегию, которая вообще не использует свечки, нужно все равно создать и запустить менеджер свечек.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3065/</id>
    <title type="text">Ускорение работы Гидры при большом количестве инструментов</title>
    <published>2012-10-07T19:36:40Z</published>
    <updated>2012-10-07T19:36:40Z</updated>
    <author>
      <name>Цифровой</name>
      <uri>https://stocksharp.ru/users/6267/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Доброго времени суток!&lt;/p&gt;
&lt;p&gt;Недавно обнаружил, что Гидра начинает прилично подтормаживать при большом количестве инструментов.
Получил такую ситуацию довольно просто: запустил импорт инструментов у источника Smart (из демо-сервера),
в ходе которого мне прилетело около 30 000 инструментов.
После этого запуск Гидры и переход между вкладками начали тормозить,
а запуска импорта маркет-данных из Smart было не дождаться: он отваливался по таймауту.&lt;/p&gt;
&lt;p&gt;Начал копать и обнаружил, что долго выполняется чтение данных из хранилища:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
entityRegistry.Securities

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Сразу оговорюсь: в качестве хранилища я использую &lt;strong&gt;SQLLite&lt;/strong&gt;, и, возможно, MS SQL Server тормозит значительно меньше.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;0.&lt;/strong&gt; Понятно, что хотя бы один раз данные об инструментах из базы данных зачитать надо.
Это происходит в классе SecurityStorage:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public SecurityStorage(IEntityRegistry entityRegistry)
{
	if (entityRegistry == null)
		throw new ArgumentNullException(&amp;quot;entityRegistry&amp;quot;);
	foreach (var security in entityRegistry.Securities)
		AddToCache(security);
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Здесь все зачитанные данные мудро кладутся в кэш.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Но вот если посмотреть на класс FinamSecurityStorage, то здесь все уже не так радужно:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public FinamSecurityStorage(ISecurityStorage underlyingStorage, HydraEntityRegistry entityRegistry)
{
	if (underlyingStorage == null)
		throw new ArgumentNullException(&amp;quot;underlyingStorage&amp;quot;);
	foreach (var security in entityRegistry.Securities)
		TryAddToCache(security);
		_underlyingStorage = underlyingStorage;
	}
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Т.к. интерфейс ISecurityStorage не позволяет читать данные из кэша underlyingStorage,
для построения особого &amp;quot;финамовского&amp;quot; кэша снова зачитываются данные напрямую из хранилища,
что не очень-то быстро.
Стоит ли вносить методы работы с кэшами в ISecurityStorage или выделить особый интерфейс для этого,
скажем &amp;quot;ICachedSecurityStorage&amp;quot;, я сказать не могу - это дело архитекторов StockSharp,
но можно сделать вот такой &amp;quot;костыль&amp;quot;:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public FinamSecurityStorage(ISecurityStorage underlyingStorage, HydraEntityRegistry entityRegistry)
{
	if (underlyingStorage == null)
		throw new ArgumentNullException(&amp;quot;underlyingStorage&amp;quot;);
	_underlyingStorage = underlyingStorage;
	if (underlyingStorage is SecurityStorage)
	{
		foreach (var security in ((SecurityStorage)_underlyingStorage).CachedSecurities)
			TryAddToCache(security);
		((SecurityStorage)_underlyingStorage).Reloaded += OnReloaded;
	}
	else
	{
		foreach (var security in entityRegistry.Securities)
			TryAddToCache(security);
	}
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Т.к. в случае Гидры underlyingStorage относится к классу SecurityStorage, этот код быстро код данные из имеющегося кэша.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Старт импорта маркет-данных происходит долго из-за следующиего кода в классе Worker:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public bool Start(IEnumerable&amp;lt;VisualSecurity&amp;gt; securities)
{
	...
	_securities.Clear();

	foreach (var group in securities.GroupBy(s =&amp;gt; s.TradeInfo.Source)
		.Concat(securities.GroupBy(s =&amp;gt; s.DepthInfo.Source))
		.Concat(securities.GroupBy(s =&amp;gt; s.OrderLogInfo.Source))
		.Concat(securities.GroupBy(s =&amp;gt; s.SecurityChangeInfo.Source))
		.Concat(securities.GroupBy(s =&amp;gt; s.CandleInfo.Source))
		.Where(g =&amp;gt; !g.Key.IsEmpty()))
		{
			_securities.SafeAdd(group.Key).AddRange(group);
		}
	...
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Здесь проблема заключается в том, что при каждом вызове securities.GroupBy происходит повторный перебор securities.
За счет того, что построение securities заключается в чтении их напрямую из хранилища здесь мы получаем ударную дозу
из 5 подряд чтений из хранилища, что и приводит к превышению довольно солидного тайм-аута при старте.&lt;/p&gt;
&lt;p&gt;Оптимизировать выполнение можно, построив один раз массив и использовав его для группировки:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public bool Start(IEnumerable&amp;lt;VisualSecurity&amp;gt; securities)
{
	...
	_securities.Clear();

	var securitiesArray = securities.ToArray();

	foreach (var group in securitiesArray.GroupBy(s =&amp;gt; s.TradeInfo.Source)
		.Concat(securitiesArray.GroupBy(s =&amp;gt; s.DepthInfo.Source))
		.Concat(securitiesArray.GroupBy(s =&amp;gt; s.OrderLogInfo.Source))
		.Concat(securitiesArray.GroupBy(s =&amp;gt; s.SecurityChangeInfo.Source))
		.Concat(securitiesArray.GroupBy(s =&amp;gt; s.CandleInfo.Source))
		.Where(g =&amp;gt; !g.Key.IsEmpty()))
		{
			_securities.SafeAdd(group.Key).AddRange(group);
		}
	...
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; Но, собственно, почему в метод Start передается IEnumerable&lt;VisualSecurity&gt;,
который приводит к чтению из хранилища, а не из кэша?
Собственно код в методе StartStopClick класса MainWindow такой (в методе AutoStart аналогичный):&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
var selectedSecurities = _entityRegistry.Securities.Select(s =&amp;gt; s.ToVisualSecurity()).Where(s =&amp;gt; s.IsSelected);

if (_worker.Start(selectedSecurities))
{
	...
}
else
{
	...
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Здесь тоже можно воспользоваться имеющимся кэшем и переписать построение выбранных интрументов таким образом:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
var selectedSecurities = _securityStorage.CachedSecurities
	.Where(s =&amp;gt; s.IsSelected())
	.Select(s =&amp;gt; s.ToVisualSecurity())
	.ToArray();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В принципе, если бы код был написан сразу так, то оптимизация номер 2 с GroupBy даже не нужна.
Но, имхо, правильнее сделать и то, и другое.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Еще невыносимо долго при большом числе инструментов переключаются вкладки.
Код построения всех выбранных интрументов в классе MarketDataSourceControl такой:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
private void FillSecurities()
{
	var selectedSource = Source.Name;
	var storage = HydraEntityRegistry;

	SecuritiesCtrl.Securities.Clear();
	_selectedSecurities.Clear();

	System.Windows.Input.Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;
	System.Threading.Tasks.Task.Factory.StartNew(
		() =&amp;gt; 
		{
			var securities = storage
				.Securities
				.Select(s =&amp;gt; s.ToVisualSecurity()).Where(s =&amp;gt; s.IsSelected &amp;amp;&amp;amp; (selectedSource == null || (s.TradeInfo.Source == selectedSource ||
					s.DepthInfo.Source == selectedSource || s.OrderLogInfo.Source == selectedSource || s.SecurityChangeInfo.Source == selectedSource || 
					s.Source == selectedSource || s.CandleInfo.Source == selectedSource)));

			_selectedSecurities.AddRange(securities);
		})
		.ContinueWith(sec =&amp;gt;
		{
			...
		}, System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext());
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Недостаток здесь такой же - чтение данных напрямую из хранилища.
Видимо для того, чтобы при этом не тормозило само переключение вкладки, чтение вынесено в отдельный поток.&lt;/p&gt;
&lt;p&gt;Ускорить переключение вкладок можно опять же за счет использование кэша:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
private void FillSecurities()
{
	var selectedSource = Source.Name;

	SecuritiesCtrl.Securities.Clear();
	_selectedSecurities.Clear();

	var securities = SecurityStorage.CachedSecurities
			.Where(s =&amp;gt; s.IsSelected())
			.Select(s =&amp;gt; s.ToVisualSecurity()).Where(s =&amp;gt;selectedSource == null || (s.TradeInfo.Source == selectedSource ||
				s.DepthInfo.Source == selectedSource || s.OrderLogInfo.Source == selectedSource || s.SecurityChangeInfo.Source == selectedSource ||
				s.Source == selectedSource || s.CandleInfo.Source == selectedSource));

	_selectedSecurities.AddRange(securities);

	...
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Так как из кэша все берется быстро, да и чтобы не возиться с GUI-синхронизацией, я разобрал использование отдельного потока.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; Последний нюанс, который вызвал у меня сомнения: зачем при старте импорта маркет-данных обновляются инструменты?
Необходимость этого я себе объяснить не смог, поэтому поменял этот код в классе MarketDataTrader:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public void Start()
{
	Trader = _createTrader();

	try
	{
		...
		
		Trader.SecuritiesChanged += OnSecuritiesChanged;

		using (var su = new SecurityUpdate(Trader))
		{
			Trader.Connect();

			lock (_connectedLock)
			{
				if (!Trader.IsConnected &amp;amp;&amp;amp; !Monitor.Wait(_connectedLock, TimeSpan.FromSeconds(20)))
					throw new TimeoutException(&amp;quot;Ожидание подключения превысило максимально допустимый интервал.&amp;quot;);
			}

			su.Wait();
		}
	}
	catch
	{
		...
	}
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;На следующий:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public void Start(bool updateSecurities = false)
{
	Trader = _createTrader();

	try
	{
		...
		
		Trader.SecuritiesChanged += OnSecuritiesChanged;

		if (updateSecurities)
		{
			using (var su = new SecurityUpdate(Trader))
			{
				Trader.Connect();

				lock (_connectedLock)
				{
					if (!Trader.IsConnected &amp;amp;&amp;amp; !Monitor.Wait(_connectedLock, TimeSpan.FromSeconds(20)))
						throw new TimeoutException(&amp;quot;Ожидание подключения превысило максимально допустимый интервал.&amp;quot;);
				}

				su.Wait();
			}
		}
		else
		{
			Trader.Connect();

			lock (_connectedLock)
			{
				if (!Trader.IsConnected &amp;amp;&amp;amp; !Monitor.Wait(_connectedLock, TimeSpan.FromSeconds(20)))
					throw new TimeoutException(&amp;quot;Ожидание подключения превысило максимально допустимый интервал.&amp;quot;);
			}
		}
	}
	catch
	{
		...
	}
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;При этом причем updateSecurities == true только при запуске из метода MarketDataTrader.GetNewSecurities.&lt;/p&gt;
&lt;p&gt;Вот такие оптимизации я сделал в своей Гидре версии 4.1.3.
Предлагаю разработчикам StockSharp высказать свое мнение по поводу предложенных изменений и внести удачные в Гидру.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3064/</id>
    <title type="text">TheorPriceQuotingStrategy, Range</title>
    <published>2012-10-06T09:44:53Z</published>
    <updated>2012-10-06T09:44:53Z</updated>
    <author>
      <name>Дюшес</name>
      <uri>https://stocksharp.ru/users/6407/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Привет!
А когда вы исправите проблему с Range&lt;Unit&gt;?
Из-за нее не работает стратегия TheorPriceQuotingStrategy(OrderDirections, decimal, Range&lt;Unit&gt;)
В классе Ecng.ComponentModel.OperatorRegistry в конструкторе, видимо, надо добавить строку:
AddOperator&lt;Unit&gt;(new UnitOperator())?
Выдается следующее исключение:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
System.TypeInitializationException: Инициализатор типа &amp;quot;Ecng.ComponentModel.Range`1&amp;quot; выдал исключение. ---&amp;gt; System.Collections.Generic.KeyNotFoundException: Данный ключ отсутствует в словаре.
в System.Collections.Generic.Dictionary`2.get_Item(TKey key)
в Ecng.ComponentModel.OperatorRegistry.GetOperator[T]()
в Ecng.ComponentModel.Range`1..cctor()
--- Конец трассировки внутреннего стека исключений ---
в Ecng.ComponentModel.Range`1..ctor(T min, T max)

&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3063/</id>
    <title type="text">ExcelStrategyReport</title>
    <published>2012-10-06T08:30:11Z</published>
    <updated>2012-10-06T08:30:11Z</updated>
    <author>
      <name>Кот Матроскин</name>
      <uri>https://stocksharp.ru/users/808/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;ExcelStrategyReport выдает значение P&amp;amp;L равным 6615,000, в то время как пересчитав вручную, получаешь 66,15. Так и должно быть?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3062/</id>
    <title type="text">NullReferenceException</title>
    <published>2012-10-06T08:24:10Z</published>
    <updated>2012-10-06T08:24:10Z</updated>
    <author>
      <name>Кот Матроскин</name>
      <uri>https://stocksharp.ru/users/808/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Вылезло исключение:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2008.09.19 10:40:00.000|       |MQS_SBER@EQBR_test account|Регистрация новой заявки на Buy с ценой 37,48 и объемом 1.
2008.09.19 10:40:00.000|       |MQS_SBER@EQBR_test account|Заявка 37232836 на Buy отправлена с ценой 37,48 объемом 1.
2008.09.19 10:40:00.000|Error  |FD 0      |System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в StockSharp.Algo.MarketRuleHelper.#=q$pO7S09G8HFp$8Kf2LH_tosf63uwHghU5q$l$B4n9Sk=.DisposeManaged()
в Ecng.Common.Disposable.Dispose()
в #=q4CODmjFoTswMjExFKW$9BYA_f7JSvXhbTIyHr$v3R$Y=.OnRemoved(IMarketRule #=q5VzQl3KX5ZFz$NKhNTEr7A==)
в Ecng.Collections.BaseCollection&lt;code&gt;2.Remove(TItem item) в Ecng.Collections.SynchronizedCollection&lt;/code&gt;2.Remove(TItem item)
в StockSharp.Algo.MarketRuleHelper.TryRemoveRule(IMarketRuleContainer container, IMarketRule rule)
в StockSharp.Algo.MarketRuleHelper.#=qdWQ7nBerbmGdP1Csnj9OzQ==(IMarketRuleContainer #=qm2caH9OipVg_XiK$9JwQmw==, IMarketRule #=qfFV06gm8_NMMzPMD2F6hzg==, Func&lt;code&gt;1 #=quVsHtBA7Bbb_feOWjZzing==) в StockSharp.Algo.Strategies.Strategy.#=qzWxys21Bayb0j0gHD9ZPJ2oUuKnv1x_jnNXaNRyr6il55P9x13A0c_rUpDv_Z2t56et50nKUe8mVyNhfs78bHA==(IMarketRule #=qAhGKN8uVo_OSrIVPofUuRg==, Func&lt;/code&gt;1 #=qQSqDGVOhuFvdEMXXtiOsKg==)
2008.09.19 10:40:00.000|       |MQS_SBER@EQBR_test account|Стратегия останавливается. [0,1]
2008.09.19 10:40:00.000|       |MQS_SBER@EQBR_test account|Правило 'Изменение стакана инструмента SBER@EQBR (0x1C10069)'. Приостановлено.
2
Что бы это могло быть?&lt;/p&gt;
&lt;/blockquote&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3061/</id>
    <title type="text">Логирование в 4.1.5</title>
    <published>2012-10-05T21:03:36Z</published>
    <updated>2012-10-05T21:03:36Z</updated>
    <author>
      <name>InsiderHSE</name>
      <uri>https://stocksharp.ru/users/6099/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;В версии 4.1.5 пропал StockSharp.Algo.Logging
Можете хотя бы в двух словах объяснить как теперь осуществляется логирование?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3060/</id>
    <title type="text">System.Threading.LockRecursionException: A read lock may not be acquired with the write lock held in</title>
    <published>2012-10-05T12:48:10Z</published>
    <updated>2012-10-05T12:48:10Z</updated>
    <author>
      <name>Reef</name>
      <uri>https://stocksharp.ru/users/6366/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;System.Threading.LockRecursionException: A read lock may not be acquired with the write lock held in this mode.
at System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.EnterReadLock()
at StockSharp.BusinessEntities.TransactionManager.BeginRead(Boolean isUpgradable)
at StockSharp.BusinessEntities.Order.BeginRead(Boolean isUpgradable)
at StockSharp.Algo.TraderHelper.IsCanceled(Order order)
at #=qd51RpYzKvk8ZoX3tAE27PmbbgSOEgGembRYktmkRtEU=.#=qc2YLfE3qNxoKbmsPoAjrt3GYWUX7pCFZXqge_Wm2Ew4=(IEnumerable&lt;code&gt;1 #=q3G9L2rAf4jEoc5Ky5zhu7Q==) at StockSharp.Algo.BaseTrader.RaiseOrdersChanged(IEnumerable&lt;/code&gt;1 orders)
at StockSharp.Algo.BaseTrader.RaiseOrderChanged(Order order)
at StockSharp.Algo.BaseTrader.GetOrder(Security security, Int64 id, Func&lt;code&gt;2 createOrder, Func&lt;/code&gt;2 changeOrder)
at StockSharp.Quik.QuikTrader.#=qfgs3t3F0QJo2uAeiNU2Tth4_a78V8UUqxF4smGPJZIw=.#=qoZH2YxIHtxSQ_uNSF$6oEA==(IList&lt;code&gt;1 #=q5KsejMUAjHj3h8NVmH4a2Q==, Func&lt;/code&gt;2 #=q0Wb5KRoV3aR1oak$4aFg8w==)
at #=qLnhEF5Z48wRQ9u$AmcVUfI0sID3uoJe0m1JrX$APwo8Vj58jlFaNKHSm348fXvr0.#=qKBypk9leHimjXPlbfTueQQ==(DdeTable #=qLuoAhSbeEwLsEtGTnfPhNA==, IList&lt;code&gt;1 #=qxrmtSCJ8C_OwVhV0vMJvOw==, Action&lt;/code&gt;2 #=qmvY6ytVJfAh2338pSmoPyQ==, Action`1 #=qD48VLzAAfqjlPSYfqfBeig==, Boolean #=qLKUY5J3VRmjdKuGFcPfQ7Q==)/r/nSystem.Threading.LockRecursionException: A read lock may not be acquired with the write lock held in this mode.
at System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.EnterReadLock()&lt;/p&gt;
&lt;p&gt;версия 15 (с кодеплекса)&lt;/p&gt;
</content>
  </entry>
</feed>