﻿<?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=forum&amp;page=127</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-20T01:22:00Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=127" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/3672/</id>
    <title type="text">Ошибка потока FORTS_FUTAGGR5_REPL при соединении с тестовым полигоном</title>
    <published>2013-05-06T05:40:25Z</published>
    <updated>2013-05-06T05:40:25Z</updated>
    <author>
      <name>Lipot</name>
      <uri>https://stocksharp.ru/users/16767/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Собственно, сабж.
Так же выскакивает ошибка и по потоку FORTS_OPTAGGR5_REPL.
Может кто сталкивался? Подскажите, пожалуйста.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3671/</id>
    <title type="text">Получение цен закрытия для определенных свечей</title>
    <published>2013-05-05T08:57:18Z</published>
    <updated>2013-05-05T08:57:18Z</updated>
    <author>
      <name>ttt</name>
      <uri>https://stocksharp.ru/users/27688/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Добрый день.
Подскажите, please, как получить значения цен [open, high, low, close] последних 5 свечей на 1-минутном графике?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3670/</id>
    <title type="text">Storage Api. Баг не баг.</title>
    <published>2013-05-05T00:21:05Z</published>
    <updated>2013-05-05T00:21:05Z</updated>
    <author>
      <name>Kazai Mazai</name>
      <uri>https://stocksharp.ru/users/5954/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;При попытке сохранить ордера через EntityStorage.OrderList в обычную бд,которую гидра создает, обнаружилось, что в таблице не хватает много каких полей. И без них не работает.&lt;/p&gt;
&lt;p&gt;Так что, если кто захочет так сохранять, знайте, что нужно будет добавить поля.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3669/</id>
    <title type="text">В lock путаются очередь</title>
    <published>2013-05-04T18:50:36Z</published>
    <updated>2013-05-04T18:50:36Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Только сейчас заметил, что в lock путается очередь.
Вот простой код для проверки&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        private Thread t;
        private int i = 0;
        private readonly SyncObject _syncLock = new SyncObject();
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            i++;
            t = new Thread(SSS);
            t.Start(i);
        }

        private void SSS(object ii)
        {
            lock (_syncLock)
            {
                Debug.WriteLine(&amp;quot;Отправка &amp;quot; + ii);
                Thread.Sleep(3000);
                Debug.WriteLine(&amp;quot;Получение &amp;quot; + ii);
            }
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Результат&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-xml"&gt;Отправка 1
Получение 1
Поток '&amp;lt;Без имени&amp;gt;' (0x1c98) завершился с кодом 0 (0x0).
Отправка 10
Получение 10
Поток '&amp;lt;Без имени&amp;gt;' (0x1b28) завершился с кодом 0 (0x0).
Отправка 9
Получение 9
Поток '&amp;lt;Без имени&amp;gt;' (0x2350) завершился с кодом 0 (0x0).
Отправка 7
Получение 7
Поток '&amp;lt;Без имени&amp;gt;' (0x1d68) завершился с кодом 0 (0x0).
Отправка 8
Получение 8
Поток '&amp;lt;Без имени&amp;gt;' (0x2338) завершился с кодом 0 (0x0).
Отправка 6
Получение 6
Поток '&amp;lt;Без имени&amp;gt;' (0x20c4) завершился с кодом 0 (0x0).
Отправка 5
Получение 5
Поток '&amp;lt;Без имени&amp;gt;' (0x240) завершился с кодом 0 (0x0).
Отправка 4
Получение 4
Поток '&amp;lt;Без имени&amp;gt;' (0x1e8c) завершился с кодом 0 (0x0).
Отправка 2
Получение 2
Поток '&amp;lt;Без имени&amp;gt;' (0x470) завершился с кодом 0 (0x0).
Отправка 3
Получение 3
Поток '&amp;lt;Без имени&amp;gt;' (0x1f20) завершился с кодом 0 (0x0).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Мне кажется такого же не должно быть.
Или я где то не прав?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3667/</id>
    <title type="text">7 урок</title>
    <published>2013-05-04T10:42:48Z</published>
    <updated>2013-05-04T10:42:48Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.ru/users/6156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66674131&amp;amp;id=167402170&amp;amp;hash=33b7e9e2714bc5b6&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;&lt;strong&gt;Темы занятия 7&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;В данном видео уроке, мы рассмотрим с вами основные расширения для платформы Wealth lab.
Такие как:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Index-Lab&lt;/li&gt;
&lt;li&gt;Monte Carlo-Lab&lt;/li&gt;
&lt;li&gt;Neuro-Lab&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3666/</id>
    <title type="text">Использование StatisticParameterPanel</title>
    <published>2013-05-03T16:11:17Z</published>
    <updated>2013-05-03T16:11:17Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;В StatisticParameterPanel выводятся параметры из класса Strategy, такие как MyTrade, Orders, PnL, Slippage и т.д.
или параметры из пространства имен StockSharp.Algo.Statistics?&lt;/p&gt;
&lt;p&gt;Я добавил эту панель в окно пользователя, там по идеи должна быть таблица, а у меня просто поле с заголовком...
&amp;lt;xaml:StatisticParameterPanel Name=&amp;quot;Statistica&amp;quot; Grid.Row=&amp;quot;1&amp;quot; HorizontalAlignment=&amp;quot;Stretch&amp;quot; VerticalAlignment=&amp;quot;Stretch&amp;quot; Height=&amp;quot;100&amp;quot; Width=&amp;quot;882&amp;quot; Content=&amp;quot;Статистика стратегии&amp;quot; FontWeight=&amp;quot;Bold&amp;quot; FontStyle=&amp;quot;Italic&amp;quot; FontSize=&amp;quot;14&amp;quot; FontFamily=&amp;quot;Times New Roman&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;А потом показывает, что не удается создать экземпляр StatisticParameterPanel...
Такая же фигня у меня с OrdersGrid, TradeGrid.&lt;/p&gt;
&lt;p&gt;В этом графическом компоненте уже есть необходимые колонки, или надо самому создавать через GridViewColumn и делать привязки?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3665/</id>
    <title type="text">как воспользоваться в SampleGUI классом NewOrderWindow? Вылетает ошибка</title>
    <published>2013-05-03T08:24:05Z</published>
    <updated>2013-05-03T08:24:05Z</updated>
    <author>
      <name>Lipot</name>
      <uri>https://stocksharp.ru/users/16767/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Добавляю поле окна NewOrderWindow помимо остальных полей в примере&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
private readonly NewOrderWindow _newOrderWindow = new NewOrderWindow();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;При запуске программы вылетает ошибка&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3664/</id>
    <title type="text">Ошибка при запуске проекта с S# 4.1.12</title>
    <published>2013-05-03T07:52:43Z</published>
    <updated>2013-05-03T07:52:43Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;Сейчас поменял все ссылки и в коннекторе и в проекте на новую библиотеку 4.1.12, запускаю, выдает&lt;/p&gt;
&lt;p&gt;Ошибка	1	Невозможно выполнить приведение [A]Abt.Controls.SciChart.SciChartGroup к Abt.Controls.SciChart.SciChartGroup. Источником типа A является &amp;quot;Abt.Controls.SciChart.Wpf, Version=1.56.4792.15475, Culture=neutral, PublicKeyToken=b55dd9efe817e823&amp;quot; в контексте &amp;quot;LoadNeither&amp;quot; в расположении &amp;quot;C:\Users\UsilaDobry\AppData\Local\Microsoft\VisualStudio\11.0\Designer\ShadowCache\2bn5nmpu.g55\t1j1dpyq.4kt\Abt.Controls.SciChart.Wpf.dll&amp;quot;. Источником типа B является &amp;quot;Abt.Controls.SciChart.Wpf, Version=1.56.4792.15475, Culture=neutral, PublicKeyToken=b55dd9efe817e823&amp;quot; в контексте &amp;quot;LoadNeither&amp;quot; в расположении &amp;quot;C:\Users\UsilaDobry\AppData\Local\Microsoft\VisualStudio\11.0\Designer\ShadowCache\2bn5nmpu.g55\glrlrsuu.il4\Abt.Controls.SciChart.Wpf.dll&amp;quot;.&lt;/p&gt;
&lt;p&gt;У меня график прописан вот так&lt;/p&gt;
&lt;p&gt;xmlns:stock=&amp;quot;clr-namespace:StockSharp.Xaml;assembly=StockSharp.Xaml&amp;quot;
&amp;lt;stock:SciChart Name=&amp;quot;Chart&amp;quot; Grid.Row=&amp;quot;1&amp;quot; ChartTheme=&amp;quot;ExpressionDark&amp;quot;/&amp;gt;&lt;/p&gt;
&lt;p&gt;А вчера на общем форуме по проблеме с индикатором Psrsbolic мне предложили вариант&lt;/p&gt;
&lt;p&gt;xmlns:xaml=&amp;quot;clr-namespace:StockSharp.Xaml;assembly=StockSharp.Xaml&amp;quot;
&amp;lt;xaml:SciChart x:Name=&amp;quot;Chart&amp;quot;/&amp;gt;&lt;/p&gt;
&lt;p&gt;Я сделал по последнему варианту, такая же ошибка... Свечи не выводятся...&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3663/</id>
    <title type="text">Не могу получить свечи</title>
    <published>2013-05-02T13:18:19Z</published>
    <updated>2013-05-02T13:18:19Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;Подключиться - подключился, а вот свечи получать не хочет... Что ему еще надо...&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3662/</id>
    <title type="text">Проблема с рабочим временем. (Календарь не рабочих дат)</title>
    <published>2013-05-02T12:04:42Z</published>
    <updated>2013-05-02T12:04:42Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;Сегодня не хочет коннектиться мой проект... Похоже где-то проблема с рабочим временем. Нашел на общем форуме код календаря, спасибо добрым людям,&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;public static class ExchangeBoardHelper
    {
        public static void ApplyHolidays2013(this ExchangeBoard board)
        {
            if (board == null)
                throw new ArgumentNullException(&amp;quot;board&amp;quot;);
            var holidays = new List&amp;lt;DateTime&amp;gt;();
            const int year = 2013;

            //https://rts.micex.ru/s690
            for (var i = 1; i &amp;lt;= 7; i++)
                holidays.Add(new DateTime(year, 1, i));

            holidays.Add(new DateTime(year, 3, 8));
            holidays.Add(new DateTime(year, 5, 1));
            holidays.Add(new DateTime(year, 5, 9));
            holidays.Add(new DateTime(year, 6, 12));
            holidays.Add(new DateTime(year, 11, 4));

            board.WorkingTime.SpecialHolidays = holidays.ToArray();
        }

        public static void ApplyHolidays2012(this ExchangeBoard board)
        {
            if (board == null)
                throw new ArgumentNullException(&amp;quot;board&amp;quot;);

            const int year = 2012;

            //https://rts.micex.ru/a254
            var holidays = new[,] { { 1, 2 }, { 2, 23 }, { 3, 8 }, { 3, 9 }, { 4, 30 }, { 5, 1 }, { 5, 9 }, { 6, 11 }, { 6, 12 }, { 11, 5 }, { 12, 31 } };
            var holidayDates = new List&amp;lt;DateTime&amp;gt;();
            for (var i = 0; i &amp;lt; holidays.GetLength(0); i++)
                holidayDates.Add(new DateTime(year, holidays[i, 0], holidays[i, 1]));
            board.WorkingTime.SpecialHolidays = holidayDates.ToArray();

            var workingDays = new[,] { { 3, 11 }, { 4, 28 }, { 5, 5 }, { 5, 12 }, { 6, 9 } };
            var workingDates = new List&amp;lt;DateTime&amp;gt;();
            for (var i = 0; i &amp;lt; workingDays.GetLength(0); i++)
                workingDates.Add(new DateTime(year, workingDays[i, 0], workingDays[i, 1]));
            board.WorkingTime.SpecialWorkingDays = workingDates.ToArray();
        }
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;вот не пойму как его пристроить к своему проекту.
Этот код надо сохранить как класс библиотеки?
Потом в проекте StockSharp.TraderConnection надо добавить ссылку на эту библиотеку?
А потом в этом проекте вместо строки&lt;/p&gt;
&lt;p&gt;Trader.ReConnectionSettings.WorkingTime = ExchangeBoard.Forts.WorkingTime;&lt;/p&gt;
&lt;p&gt;Пишу&lt;/p&gt;
&lt;p&gt;Trader.ReConnectionSettings.WorkingTime = ExchangeBoardHelper.ApplyHolidays2013(ExchangeBoard.Forts.WorkingTime);&lt;/p&gt;
&lt;p&gt;Выдается ошибка
Ошибка	1	Наиболее подходящий перегруженный метод для &amp;quot;StockSharp.Calendar2013.ExchangeBoardHelper.ApplyHolidays2013(StockSharp.BusinessEntities.ExchangeBoard)&amp;quot; имеет несколько недопустимых аргументов&lt;/p&gt;
&lt;p&gt;Ошибка	2	Аргумент &amp;quot;1&amp;quot;: преобразование типа из &amp;quot;StockSharp.BusinessEntities.WorkingTime&amp;quot; в &amp;quot;StockSharp.BusinessEntities.ExchangeBoard&amp;quot; невозможно&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3661/</id>
    <title type="text">Виснет Connect при переподключении</title>
    <published>2013-05-02T11:54:53Z</published>
    <updated>2013-05-02T11:54:53Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="SmartCom" />
    <content type="html">&lt;p&gt;В версии 4.1.12 при использовании SmartTrader виснет Connect.
При первом подключении все нормально, но если сделать Disconnect, а потом Connect, то все повиснет.
До этого использовал 4.1.8.23281 проблем не было.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        private readonly SmartTrader _trader = new SmartTrader(&amp;quot;XXXXXX&amp;quot;, &amp;quot;XXXXXX&amp;quot;, &amp;quot;213.247.232.238:8090&amp;quot;.To&amp;lt;IPEndPoint&amp;gt;());        
        private bool _isConnected;
        private bool _isEvent;
        private void button_Connect_Click(object sender, RoutedEventArgs e)
        {
            if (!_isEvent)
            {
                _trader.Connected += () =&amp;gt; this.GuiAsync(() =&amp;gt; Debug.WriteLine(&amp;quot;Connected&amp;quot;));
                _trader.Disconnected += () =&amp;gt; this.GuiAsync(() =&amp;gt; Debug.WriteLine(&amp;quot;DisConnected&amp;quot;));
                _trader.NewPortfolios += port =&amp;gt; this.GuiAsync(() =&amp;gt; port.ForEach(p =&amp;gt;
                {
                    if (p.Name != &amp;quot;BPXXXX-RF-01&amp;quot;) return;
                    Debug.WriteLine(&amp;quot;Портфель найден&amp;quot;);
                }));
                _isEvent = true;
            }
            if (!_isConnected)
            {
                _trader.Connect();
                _isConnected = true;
            }
            else
            {
                _trader.Disconnect();
                _isConnected = false;
            }
        }
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3660/</id>
    <title type="text">Почему робот думает, что сегодня выходной?</title>
    <published>2013-05-02T07:41:13Z</published>
    <updated>2013-05-02T07:41:13Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Почему робот думает, что сегодня выходной?
IsTradeTime отвечает false.&lt;/p&gt;
&lt;p&gt;И как это исправить?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3659/</id>
    <title type="text">SciChart - набор глюков</title>
    <published>2013-05-02T07:10:07Z</published>
    <updated>2013-05-02T07:10:07Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.ru/users/6491/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Алготрейдинг" />
    <content type="html">&lt;p&gt;Версия 4.1.11
После загрузки вчерашних данных плюс сегодняшнее утро.
Графики - три зоны:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;свечи (не по времени, а по количеству тиков) и EMA&lt;/li&gt;
&lt;li&gt;пара RSI&lt;/li&gt;
&lt;li&gt;ADX (только MA)&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Время под графиком не соответствует времени свечи.&lt;/li&gt;
&lt;li&gt;Глючит прокрутка мышкой - автоскрол работает до первого изменения, потом до правого края уже не добраться - отматывает на утро вчерашнего дня.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stocksharp.com/posts/m/25724/"&gt;Глюки стрелок&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;На 4.1.7 таких глюков не наблюдалось (правда там RSI вообще не считался)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3658/</id>
    <title type="text">Ошибка последней гидры</title>
    <published>2013-05-02T05:41:48Z</published>
    <updated>2013-05-02T05:41:48Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.ru/users/6089/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Работало 2 источника: гидра-сервер и финам.
11:36:10.235|Error  |Finam     |System.Data.SQLite.SQLiteException (0x80004005): The database file is locked
database is locked
at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
at Ecng.Data.DatabaseCommand.&amp;lt;ExecuteNonQuery&amp;gt;b__6(DbCommand cmd)
at Ecng.Data.DatabaseCommand.&amp;lt;&amp;gt;c__DisplayClass4&lt;code&gt;1.&amp;lt;Execute&amp;gt;b__1(DbConnection connection) at Ecng.Data.Database.GetConnection(Action&lt;/code&gt;1 action)
at Ecng.Data.DatabaseCommand.Execute[TResult](IEnumerable&lt;code&gt;1 input, Func&lt;/code&gt;2 handler)
at Ecng.Data.DatabaseCommand.ExecuteNonQuery(SerializationItemCollection input)
at Ecng.Data.Database.Execute(DatabaseCommand command, SerializationItemCollection source, Boolean needRetVal)
at Ecng.Data.Database.Update(DatabaseCommand command, SerializationItemCollection source, Boolean needRetVal)
at Ecng.Data.Database.&amp;lt;&amp;gt;c__DisplayClass11&lt;code&gt;1.&amp;lt;Update&amp;gt;b__10() at Ecng.Data.Database.Update[TEntity](TEntity entity, FieldList keyFields, FieldList valueFields) at Ecng.Data.Database.Update[TEntity](TEntity entity, FieldList valueFields) at Ecng.Data.Database.Update[TEntity](TEntity entity) at Ecng.Serialization.RelationManyList&lt;/code&gt;1.OnUpdate(TEntity entity)
at Ecng.Data.HierarchicalPageLoadList&lt;code&gt;1.OnUpdate(TEntity entity) at StockSharp.Algo.Storages.BaseStorageEntityList&lt;/code&gt;1.OnUpdate(T entity)
at Ecng.Serialization.RelationManyList&lt;code&gt;1.Update(TEntity entity) at StockSharp.Algo.Storages.BaseStorageEntityList&lt;/code&gt;1.Save(T entity)
at StockSharp.Hydra.MainWindow.OnSourceDataLoaded(IMarketDataSource source, IEnumerable&lt;code&gt;1 data) at StockSharp.Hydra.MainWindow.&amp;lt;&amp;gt;c__DisplayClass38.&amp;lt;InitSource&amp;gt;b__37(IDictionary&lt;/code&gt;2 data)
at Ecng.Common.DelegateHelper.SafeInvoke(Action&lt;code&gt;1 handler, T arg) at StockSharp.Hydra.Core.BaseMarketDataSource.RaiseDataLoaded(Security security, Tuple&lt;/code&gt;3 data)
at StockSharp.Hydra.Core.BaseMarketDataSource.SaveTrades(Security security, IEnumerable&lt;code&gt;1 trades, Boolean raiseDataLoadedEvent) at StockSharp.Hydra.Finam.FinamSource.LoadTrades(Security security, List&lt;/code&gt;1 allDates)
at StockSharp.Hydra.Finam.FinamSource.Load()
at StockSharp.Hydra.Worker.Downloader.Download()&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3657/</id>
    <title type="text">При подключении потоки постоянно переоткрываются со статусом Error</title>
    <published>2013-05-01T12:15:28Z</published>
    <updated>2013-05-01T12:15:28Z</updated>
    <author>
      <name>Lipot</name>
      <uri>https://stocksharp.ru/users/16767/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;При подключении, судя по логам, потоки постоянно переоткрываются со статусом Error. Вот выдержка&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
PlazaTrader     | 01.05.2013 16:07:12.105 |            | PlazaStream FORTS_FUTTRADE_REPL:StreamStateChanged: State Active
PlazaTrader     | 01.05.2013 16:07:12.105 |            | PlazaStream FORTS_FUTTRADE_REPL:Поток FORTS_FUTTRADE_REPL переоткрыт.
PlazaTrader     | 01.05.2013 16:07:12.106 |            | PlazaStream FORTS_OPTTRADE_REPL:StreamStateChanged: State Error
PlazaTrader     | 01.05.2013 16:07:12.107 |            | PlazaStream FORTS_OPTTRADE_REPL:Состояние потока Error.
PlazaTrader     | 01.05.2013 16:07:12.107 |            | PlazaStream FORTS_OPTTRADE_REPL:StreamStateChanged: State Closed
PlazaTrader     | 01.05.2013 16:07:12.107 |            | PlazaStream FORTS_OPTTRADE_REPL:StreamStateChanged: State Active
PlazaTrader     | 01.05.2013 16:07:12.108 |            | PlazaStream FORTS_OPTTRADE_REPL:Поток FORTS_OPTTRADE_REPL переоткрыт.
PlazaTrader     | 01.05.2013 16:07:12.118 |            | PlazaStream FORTS_FUTTRADE_REPL:StreamStateChanged: State Error
PlazaTrader     | 01.05.2013 16:07:12.119 |            | PlazaStream FORTS_FUTTRADE_REPL:Состояние потока Error.
PlazaTrader     | 01.05.2013 16:07:12.119 |            | PlazaStream FORTS_FUTTRADE_REPL:StreamStateChanged: State Closed

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;S# - 4.1.11
Plaza роутер - 1.15.2_32
Проект собран под x86.
Windows 7 64bit&lt;/p&gt;
&lt;p&gt;Помогите, пожалуйста, куда копать :)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3656/</id>
    <title type="text">Урок 4. Свечи, графики, история</title>
    <published>2013-05-01T05:27:33Z</published>
    <updated>2013-05-01T05:27:33Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Видео-уроки (основное):&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;Свечи, индикаторы, стратегия, метки, вывод на график&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470235&amp;amp;hash=5354329b0f44e11a&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Исторические свечи, стратегия, вывод на график&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470340&amp;amp;hash=d4a2baaf8c533bc8&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Видео-уроки (экстра):&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;Создание и работа с кластерными свечками&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470847&amp;amp;hash=05646cb903828f2e&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Темы занятия:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Свечи (&lt;a href="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Candles.htm"&gt;S# документация&lt;/a&gt;)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Получение свечей из торгового терминала&lt;/li&gt;
&lt;li&gt;Вывод свечного графика
Индикаторы (&lt;a href="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Indicators.htm"&gt;S# документация&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Создание простого собственного индикатора&lt;/li&gt;
&lt;li&gt;Вывод графика индикатора
Стратегия (&lt;a href="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Strategies.htm"&gt;S# документация&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Получение заявок и сделок&lt;/li&gt;
&lt;li&gt;Вывод меток заявок и сделок на график
Работа с графиком (&lt;a href="http://www.stocksharp.com/doc/html/T_StockSharp_Xaml_SciChart.htm/"&gt;SciChart&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Работа с областями графика&lt;/li&gt;
&lt;li&gt;Создание и использование графических элементов
Создание модуля для получения исторических данных
Создание сборки с получением исторических свечей, отрисовкой графиков и запуском стратегии
Выводим свечной график в S#.Studio&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Домашнее задание:&lt;/span&gt;&lt;/strong&gt;
В проекте с получением и отображением исторических свечей, сделать вывод меток заявок и сделок на график.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Полезные ссылки:&lt;/span&gt;&lt;/strong&gt;
&lt;a href="http://stocksharp.com/doc/html/cd52cfcf-938c-4fce-9a56-4e9a001f0792.htm"&gt;Свечи&lt;/a&gt;, документация&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Вложения:&lt;/span&gt;&lt;/strong&gt;
&lt;a href="http://vk.com/docs?oid=-66650972" rel="nofollow" target="_blank"&gt;Скачать проекты&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Изменения в проектах:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;Проект CandlesDownload
Файл History.cs и SimpleSecurityStorage.cs&lt;/summary&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
using StockSharp.Algo.History.Finam;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
using StockSharp.Algo.History.Russian.Finam;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Файл SimpleSecurityStorage.cs&lt;/p&gt;
&lt;p&gt;В версии S# 4.1.19.1 интерфейс ISecurityStorage содержит свойство Securities, поэтому класс SimpleSecurityStorage, его должен реализовать.&lt;/p&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
    /// &amp;lt;summary&amp;gt;
    /// Простое хранилище
    /// &amp;lt;/summary&amp;gt;
    class SimpleSecurityStorage:ISecurityStorage 
    {
	private readonly SynchronizedDictionary&amp;lt;long, Security&amp;gt; _cacheByFinamId = new 

SynchronizedDictionary&amp;lt;long, Security&amp;gt;();

	public Security LoadBy(string fieldName, object fieldValue)
		{
			return _cacheByFinamId.TryGetValue((long)fieldValue);
		}

        public IEnumerable&amp;lt;Security&amp;gt; Lookup(Security criteria)
                {
                        throw new NotImplementedException();
                }

        public void Save(Security security)
		{
			TryAddToCache(security);
		}

		private void TryAddToCache(Security security)
		{
			if (security == null)
				throw new ArgumentNullException(&amp;quot;security&amp;quot;);

			var finamId = security.ExtensionInfo.TryGetValue(FinamHistorySource.FinamSecurityIdField);

			if (finamId != null)
				_cacheByFinamId.SafeAdd((long)finamId, key =&amp;gt; security);
		}
    }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
    /// &amp;lt;summary&amp;gt;
    /// Простое хранилище
    /// &amp;lt;/summary&amp;gt;
    class SimpleSecurityStorage:ISecurityStorage 
    {
	private readonly SynchronizedDictionary&amp;lt;long, Security&amp;gt; _cacheByFinamId = new 

SynchronizedDictionary&amp;lt;long, Security&amp;gt;();
        private IEnumerable&amp;lt;Security&amp;gt; _securities;

        public Security LoadBy(string fieldName, object fieldValue)
		{
			return _cacheByFinamId.TryGetValue((long)fieldValue);
		}

        public IEnumerable&amp;lt;Security&amp;gt; Lookup(Security criteria)
        	{
            		throw new NotImplementedException();
        	}

        public IEnumerable&amp;lt;Security&amp;gt; Securities
        {
            get { return _securities; }
        }

        public void Save(Security security)
		{
			TryAddToCache(security);
		}

	private void TryAddToCache(Security security)
		{
			if (security == null)
				throw new ArgumentNullException(&amp;quot;security&amp;quot;);

			var finamId = security.ExtensionInfo.TryGetValue(FinamHistorySource.FinamSecurityIdField);

			if (finamId != null)
				_cacheByFinamId.SafeAdd((long)finamId, key =&amp;gt; security);
		}
    }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Проект CandlesDownloadUsing
Файл BollingerStrategy.cs&lt;/p&gt;
&lt;p&gt;Теперь класс Strategy не имеет свойства PendingOrders, все Pending заявки можно получить из общей коллекции Orders, поэтому избыточность в библиотеке была устранена, и мы в соем проекте теперь используем коллекцию Orders, и в ней, анализируя свойство State каждой заявки, используя Linq выражение.&lt;/p&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;

        /// &amp;lt;summary&amp;gt;
        /// Возвращает true если нет активных заявок, а противном случае возвращает false
        /// &amp;lt;/summary&amp;gt;
        private bool NoActiveOrders
        {
            get
            {
                return Orders.Count(o =&amp;gt; o.State != OrderStates.Done) == 0 &amp;amp;&amp;amp; PendingOrders.Count() == 0;
            }
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        /// &amp;lt;summary&amp;gt;
        /// Возвращает true если нет активных заявок, а противном случае возвращает false
        /// &amp;lt;/summary&amp;gt;
        private bool NoActiveOrders
        {
            get
            {
                return Orders.Count(o =&amp;gt; o.State != OrderStates.Done) == 0 &amp;amp;&amp;amp; Orders.Where(o=&amp;gt;o.State == 

OrderStates.Pending).Count() == 0;
            }
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Файл MainWindow.cs&lt;/p&gt;
&lt;p&gt;Начиная с версии S# 4.1.19.1 статус подключения коннектора вынесен в специальное свойство ConnectionState, которое может принимать следующие значения:
Disconnected - Не активно,
Disconnecting - В процессе отключения,
Connected - В процессе подключения,
Connecting - Подключение активно,
Failed - Ошибка подключения&lt;/p&gt;
&lt;p&gt;Таким образом, теперь нет свойства IsConnected, а наличие статуса подключения мы можем получать от свойства ConnectionState.&lt;/p&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        /// &amp;lt;summary&amp;gt;
        /// Обработчик события закрытия окна
        /// &amp;lt;/summary&amp;gt;
        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            if (Connection.SafeConnection.Trader != null &amp;amp;&amp;amp; Connection.SafeConnection.Trader.IsConnected)
            {
                Connection.SafeConnection.Trader.Dispose();
            }
            Thread.CurrentThread.Abort();
            base.OnClosing(e);
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        /// &amp;lt;summary&amp;gt;
        /// Обработчик события закрытия окна
        /// &amp;lt;/summary&amp;gt;
        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            if (Connection.SafeConnection.Trader != null &amp;amp;&amp;amp; Connection.SafeConnection.Trader.ConnectionState == 

ConnectionStates.Connected)
            {
                Connection.SafeConnection.Trader.Dispose();
            }
            Thread.CurrentThread.Abort();
            base.OnClosing(e);
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3655/</id>
    <title type="text">Урок 3. Все о создании стратегий.</title>
    <published>2013-05-01T03:24:57Z</published>
    <updated>2013-05-01T03:24:57Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Видео-уроки:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Стратегии&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470523&amp;amp;hash=4b8b00e53a5b7a38&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;StrategyRule&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470520&amp;amp;hash=5a7de43868bcb7bc&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Логирование&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470340&amp;amp;hash=d4a2baaf8c533bc8&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Дочерние стратегии&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470334&amp;amp;hash=8beb60d403b41756&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Темы занятия:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Работа со стратегиями&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Изучение класса Stratеgy&lt;/li&gt;
&lt;li&gt;Использование Strategy Rule( Once,Sync,Exclusive и т.д..)&lt;/li&gt;
&lt;li&gt;Два примера стратегий с использованием практически всех, рассказанных до этого StrategyRule
StrategyRule&lt;/li&gt;
&lt;li&gt;Простые примеры StrategyRule&lt;/li&gt;
&lt;li&gt;Сделки
Логирование&lt;/li&gt;
&lt;li&gt;Как работать с логированием&lt;/li&gt;
&lt;li&gt;Графическое отображение информации
Дочерние стратегии&lt;/li&gt;
&lt;li&gt;Котирование&lt;/li&gt;
&lt;li&gt;Работа с тейк-профитом, стоплоссом и др. защитными стратегиями&lt;/li&gt;
&lt;li&gt;Создание своей собственной стратегии котирования
Запускаем стратегию в S#.Studio (будущее)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Домашнее задание:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Изучить визуальную панель для отображения сатистических параметров &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Xaml_StatisticParameterPanel.htm"&gt;StatisticParameterPanel&lt;/a&gt;, добавить эту панель в окно пользователя и отобразить в ней информацию из стратегии.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Полезные ссылки:&lt;/span&gt;&lt;/strong&gt;
Класс &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Algo_Strategies_Strategy.htm"&gt;Strategy&lt;/a&gt;
&lt;a href="http://stocksharp.com/doc/html/8ea639f6-ce74-4a00-9f13-db59c8c2396f.htm"&gt;Дочерние стратегии&lt;/a&gt;
&lt;a href="http://stocksharp.com/doc/html/eca7454c-0532-4aaf-92bf-7a3d0cba635b.htm"&gt;Логирование&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Вложения:&lt;/span&gt;&lt;/strong&gt;
&lt;a href="http://vk.com/docs?oid=-66650972" rel="nofollow" target="_blank"&gt;Скачать проекты&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Изменения в проектах:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;Проект StrategyRules
Файл Signal.cs&lt;/summary&gt;
&lt;p&gt;В начало метода ProcessQuotes следует добавить проверку:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
            if (NeededVolume &amp;lt;= 0)
                return;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;это связано с тем, что метод:
marketDepth.GetTheoreticalTrades(OrderDirections.Sell, NeededVolume)
требует не нуливого объема, а в нашем случае получается следующее, мы создаем объект класса Signal, и в конструкторе подписываемся на получение новых котировок, и только потом указываем значение свойства NeededVolume, и до того как мы указали значение в NeededVolume может прийти котировка и метод:
marketDepth.GetTheoreticalTrades(OrderDirections.Sell, NeededVolume)
сгенерирует ошибку, т.к. значение свойства NeededVolume будет равно нулю.&lt;/p&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        private void ProcessQuotes(IEnumerable&amp;lt;MarketDepth&amp;gt; marketDepths)
        {
            lock (_locker)
            {
                foreach (var marketDepth in marketDepths.Where(m =&amp;gt; m.Security == Security))
                {
                    if (!marketDepth.Bids.Any() || !marketDepth.Asks.Any()) return;
                    //Суммарный объем
                    _bid.SumVolumes = marketDepth.TotalBidsVolume;
                    _ask.SumVolumes = marketDepth.TotalAsksVolume;
                    //сам сигнал
                    if (_bid.SumVolumes &amp;gt; _ask.SumVolumes)
                    {
                        _bid.Name = &amp;quot;Buy&amp;quot;;
                        _ask.Name = &amp;quot;&amp;quot;;
                    }
                    else
                    {
                        _bid.Name = &amp;quot;&amp;quot;;
                        _ask.Name = &amp;quot;Sell&amp;quot;;
                    }
                    //находим среднюю цену исполнения стакана
                    _bid.AverageMarketPrice = marketDepth.GetTheoreticalTrades(OrderDirections.Sell, NeededVolume).Average(t =&amp;gt; t.Trade.Price);//.GetAveragePrice(OrderDirections.Sell, NeededVolume);
                    _ask.AverageMarketPrice = marketDepth.GetTheoreticalTrades(OrderDirections.Buy, NeededVolume).Average(t =&amp;gt; t.Trade.Price);
                    //присваиваем лучшую цену
                    _bid.BestPrice = marketDepth.BestBid.Price;
                    _ask.BestPrice = marketDepth.BestAsk.Price;
                    //находим максимальный объем и цену у него 
                    var maxbidvolume = marketDepth.Bids.Max(s =&amp;gt; s.Volume);
                    _bid.MaxVolume = maxbidvolume;
                    _bid.Price = marketDepth.Bids.FirstOrDefault(b =&amp;gt; b.Volume == maxbidvolume).Price;

                    var maxaskvolume = marketDepth.Asks.Max(s =&amp;gt; s.Volume);
                    _ask.MaxVolume = maxaskvolume;
                    _ask.Price = marketDepth.Asks.FirstOrDefault(b =&amp;gt; b.Volume == maxaskvolume).Price;
                    //зажигаем событие
                    OnQuotesChanged();
                }
            }
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        private void ProcessQuotes(IEnumerable&amp;lt;MarketDepth&amp;gt; marketDepths)
        {
            if (NeededVolume &amp;lt;= 0)
                return;

            lock (_locker)
            {
                foreach (var marketDepth in marketDepths.Where(m =&amp;gt; m.Security == Security))
                {
                    if (!marketDepth.Bids.Any() || !marketDepth.Asks.Any()) return;
                    //Суммарный объем
                    _bid.SumVolumes = marketDepth.TotalBidsVolume;
                    _ask.SumVolumes = marketDepth.TotalAsksVolume;
                    //сам сигнал
                    if (_bid.SumVolumes &amp;gt; _ask.SumVolumes)
                    {
                        _bid.Name = &amp;quot;Buy&amp;quot;;
                        _ask.Name = &amp;quot;&amp;quot;;
                    }
                    else
                    {
                        _bid.Name = &amp;quot;&amp;quot;;
                        _ask.Name = &amp;quot;Sell&amp;quot;;
                    }
                    //находим среднюю цену исполнения стакана
                    _bid.AverageMarketPrice = marketDepth.GetTheoreticalTrades(OrderDirections.Sell, NeededVolume).Average(t =&amp;gt; t.Trade.Price);//.GetAveragePrice(OrderDirections.Sell, NeededVolume);
                    _ask.AverageMarketPrice = marketDepth.GetTheoreticalTrades(OrderDirections.Buy, NeededVolume).Average(t =&amp;gt; t.Trade.Price);
                    //присваиваем лучшую цену
                    _bid.BestPrice = marketDepth.BestBid.Price;
                    _ask.BestPrice = marketDepth.BestAsk.Price;
                    //находим максимальный объем и цену у него 
                    var maxbidvolume = marketDepth.Bids.Max(s =&amp;gt; s.Volume);
                    _bid.MaxVolume = maxbidvolume;
                    _bid.Price = marketDepth.Bids.FirstOrDefault(b =&amp;gt; b.Volume == maxbidvolume).Price;

                    var maxaskvolume = marketDepth.Asks.Max(s =&amp;gt; s.Volume);
                    _ask.MaxVolume = maxaskvolume;
                    _ask.Price = marketDepth.Asks.FirstOrDefault(b =&amp;gt; b.Volume == maxaskvolume).Price;
                    //зажигаем событие
                    OnQuotesChanged();
                }
            }
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3654/</id>
    <title type="text">Необходимо сделать переворот позиции</title>
    <published>2013-04-30T18:11:16Z</published>
    <updated>2013-04-30T18:11:16Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;Мне необходимо сделать переворот позиции.
Например, базовый объем стратегии Volume = 1.
При открытии позиции через котирование я указываю в свойствах котировщика объем, которым надо оперировать Volume=1.
А при перевороте позиции указываю объем, которым надо оперировать Volume =2.
Но в свойствах еще есть QuotingVolume, объем, который необходимо скотировать. В каких случаях это свойство можно использовать? Это не тоже самое, что и базовый объем стратегии?
Я например, поставил при базовом объеме стратегии =1, при перевороте позиции объем котировщика Volume = 2, и QuotingVolume = 2. Так котировщик при перевороте, сначала перевернул позу с -1 на +1, потом еще купил 2, потом продал 2... Я последние две сделки так и не понял...&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3653/</id>
    <title type="text">Не работет серверный режим</title>
    <published>2013-04-30T12:25:21Z</published>
    <updated>2013-04-30T12:25:21Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.ru/users/6089/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Гидра -сервер не качает с другого гидра-сервера данные. Инструменты при этом синхронизируются-а данные про логу ордеров и сделкам не закачиваются. Ошибок нет.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3652/</id>
    <title type="text">Типы котирования</title>
    <published>2013-04-29T17:26:54Z</published>
    <updated>2013-04-29T17:26:54Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;p&gt;Поясните пожалуйста по стратегиям котировщика:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;котирование по последней цене - вроде бы понятно, при появлении новой цены сделки котировщик выставляет заявку по этой цене до набора объема;&lt;/li&gt;
&lt;li&gt;котирование по рыночной цене - при каждом изменении стакана котировщик выставляет заявку по рыночной цене до набора объема;&lt;/li&gt;
&lt;li&gt;котирование по заданному уровню в стакане - ...не понятно&lt;/li&gt;
&lt;li&gt;котирование по лимитированной цене - ...не понятно&lt;/li&gt;
&lt;/ol&gt;
</content>
  </entry>
</feed>