﻿<?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-04-30T22:54:19Z</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;br /&gt;Так же выскакивает ошибка и по потоку FORTS_OPTAGGR5_REPL.&lt;br /&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;br /&gt;Подскажите, please, как получить значения цен [open, high, low, close] последних 5 свечей на 1-минутном графике?</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">При попытке сохранить ордера через EntityStorage.OrderList в обычную бд,которую гидра создает, обнаружилось, что в таблице не хватает много каких полей. И без них не работает.&lt;br /&gt;&lt;br /&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">Только сейчас заметил, что в lock путается очередь.&lt;br /&gt;Вот простой код для проверки&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Результат&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:xml"&gt;
Отправка 1
Получение 1
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x1c98) завершился с кодом 0 (0x0).
Отправка 10
Получение 10
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x1b28) завершился с кодом 0 (0x0).
Отправка 9
Получение 9
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x2350) завершился с кодом 0 (0x0).
Отправка 7
Получение 7
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x1d68) завершился с кодом 0 (0x0).
Отправка 8
Получение 8
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x2338) завершился с кодом 0 (0x0).
Отправка 6
Получение 6
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x20c4) завершился с кодом 0 (0x0).
Отправка 5
Получение 5
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x240) завершился с кодом 0 (0x0).
Отправка 4
Получение 4
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x1e8c) завершился с кодом 0 (0x0).
Отправка 2
Получение 2
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x470) завершился с кодом 0 (0x0).
Отправка 3
Получение 3
Поток &amp;#39;&amp;lt;Без имени&amp;gt;&amp;#39; (0x1f20) завершился с кодом 0 (0x0).&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Мне кажется такого же не должно быть.&lt;br /&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">[vk]http://vk.com/video_ext.php?oid=-66674131&amp;amp;id=167402170&amp;amp;hash=33b7e9e2714bc5b6&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Темы занятия 7 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;В данном видео уроке, мы рассмотрим с вами основные расширения для платформы Wealth lab. &lt;br /&gt;Такие как:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Index-Lab&lt;br /&gt;&lt;li&gt;Monte Carlo-Lab&lt;br /&gt;&lt;li&gt;Neuro-Lab&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">В StatisticParameterPanel выводятся параметры из класса Strategy, такие как MyTrade, Orders, PnL, Slippage и т.д.&lt;br /&gt;или параметры из пространства имен StockSharp.Algo.Statistics?&lt;br /&gt;&lt;br /&gt;Я добавил эту панель в окно пользователя, там по идеи должна быть таблица, а у меня просто поле с заголовком...&lt;br /&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;br /&gt;&lt;br /&gt;А потом показывает, что не удается создать экземпляр StatisticParameterPanel...&lt;br /&gt;Такая же фигня у меня с OrdersGrid, TradeGrid. &lt;br /&gt;&lt;br /&gt;В этом графическом компоненте уже есть необходимые колонки, или надо самому создавать через GridViewColumn и делать привязки?</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">Добавляю поле окна NewOrderWindow помимо остальных полей в примере&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

private readonly NewOrderWindow _newOrderWindow = new NewOrderWindow();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&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">Сейчас поменял все ссылки и в коннекторе и в проекте на новую библиотеку 4.1.12, запускаю, выдает&lt;br /&gt;&lt;br /&gt;Ошибка	1	Невозможно выполнить приведение [A]Abt.Controls.SciChart.SciChartGroup к [B]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;br /&gt;&lt;br /&gt;У меня график прописан вот так&lt;br /&gt;&lt;br /&gt;xmlns:stock=&amp;quot;clr-namespace:StockSharp.Xaml;assembly=StockSharp.Xaml&amp;quot;&lt;br /&gt;&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;br /&gt;&lt;br /&gt;А вчера на общем форуме по проблеме с индикатором Psrsbolic мне предложили вариант &lt;br /&gt;&lt;br /&gt;xmlns:xaml=&amp;quot;clr-namespace:StockSharp.Xaml;assembly=StockSharp.Xaml&amp;quot;&lt;br /&gt;&amp;lt;xaml:SciChart x:Name=&amp;quot;Chart&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&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">Подключиться - подключился, а вот свечи получать не хочет... Что ему еще надо...</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;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_3a37b6197d7b4df185cb46fd3ce762a2');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_3a37b6197d7b4df185cb46fd3ce762a2' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt; вот не пойму как его пристроить к своему проекту.&lt;br /&gt;Этот код надо сохранить как класс библиотеки?&lt;br /&gt;Потом в проекте StockSharp.TraderConnection надо добавить ссылку на эту библиотеку?&lt;br /&gt;А потом в этом проекте вместо строки &lt;br /&gt;&lt;br /&gt;Trader.ReConnectionSettings.WorkingTime = ExchangeBoard.Forts.WorkingTime; &lt;br /&gt;&lt;br /&gt;Пишу&lt;br /&gt;&lt;br /&gt;Trader.ReConnectionSettings.WorkingTime = ExchangeBoardHelper.ApplyHolidays2013(ExchangeBoard.Forts.WorkingTime);&lt;br /&gt;&lt;br /&gt;Выдается ошибка &lt;br /&gt;Ошибка	1	Наиболее подходящий перегруженный метод для &amp;quot;StockSharp.Calendar2013.ExchangeBoardHelper.ApplyHolidays2013(StockSharp.BusinessEntities.ExchangeBoard)&amp;quot; имеет несколько недопустимых аргументов&lt;br /&gt;&lt;br /&gt;Ошибка	2	Аргумент &amp;quot;1&amp;quot;: преобразование типа из &amp;quot;StockSharp.BusinessEntities.WorkingTime&amp;quot; в &amp;quot;StockSharp.BusinessEntities.ExchangeBoard&amp;quot; невозможно</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">В версии 4.1.12 при использовании SmartTrader виснет Connect.&lt;br /&gt;При первом подключении все нормально, но если сделать Disconnect, а потом Connect, то все повиснет.&lt;br /&gt;До этого использовал 4.1.8.23281 проблем не было.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        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;/pre&gt;
&lt;/div&gt;&lt;/div&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;br /&gt;IsTradeTime отвечает false.&lt;br /&gt;&lt;br /&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">Версия 4.1.11&lt;br /&gt;После загрузки вчерашних данных плюс сегодняшнее утро.&lt;br /&gt;Графики - три зоны:&lt;br /&gt;- свечи (не по времени, а по количеству тиков) и EMA&lt;br /&gt;- пара RSI&lt;br /&gt;- ADX (только MA)&lt;br /&gt;1. Время под графиком не соответствует времени свечи.&lt;br /&gt;2. Глючит прокрутка мышкой - автоскрол работает до первого изменения, потом до правого края уже не добраться - отматывает на утро вчерашнего дня.&lt;br /&gt;3. &lt;a href="http://stocksharp.com/posts/m/25724/" title="http://stocksharp.com/posts/m/25724/"&gt;Глюки стрелок&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;На 4.1.7 таких глюков не наблюдалось (правда там RSI вообще не считался)</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">Работало 2 источника: гидра-сервер и финам.&lt;br /&gt;11:36:10.235|Error  |Finam     |System.Data.SQLite.SQLiteException (0x80004005): The database file is locked&lt;br /&gt;database is locked&lt;br /&gt;   at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)&lt;br /&gt;   at System.Data.SQLite.SQLiteDataReader.NextResult()&lt;br /&gt;   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)&lt;br /&gt;   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)&lt;br /&gt;   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()&lt;br /&gt;   at Ecng.Data.DatabaseCommand.&amp;lt;ExecuteNonQuery&amp;gt;b__6(DbCommand cmd)&lt;br /&gt;   at Ecng.Data.DatabaseCommand.&amp;lt;&amp;gt;c__DisplayClass4`1.&amp;lt;Execute&amp;gt;b__1(DbConnection connection)&lt;br /&gt;   at Ecng.Data.Database.GetConnection(Action`1 action)&lt;br /&gt;   at Ecng.Data.DatabaseCommand.Execute[TResult](IEnumerable`1 input, Func`2 handler)&lt;br /&gt;   at Ecng.Data.DatabaseCommand.ExecuteNonQuery(SerializationItemCollection input)&lt;br /&gt;   at Ecng.Data.Database.Execute(DatabaseCommand command, SerializationItemCollection source, Boolean needRetVal)&lt;br /&gt;   at Ecng.Data.Database.Update(DatabaseCommand command, SerializationItemCollection source, Boolean needRetVal)&lt;br /&gt;   at Ecng.Data.Database.&amp;lt;&amp;gt;c__DisplayClass11`1.&amp;lt;Update&amp;gt;b__10()&lt;br /&gt;   at Ecng.Data.Database.Update[TEntity](TEntity entity, FieldList keyFields, FieldList valueFields)&lt;br /&gt;   at Ecng.Data.Database.Update[TEntity](TEntity entity, FieldList valueFields)&lt;br /&gt;   at Ecng.Data.Database.Update[TEntity](TEntity entity)&lt;br /&gt;   at Ecng.Serialization.RelationManyList`1.OnUpdate(TEntity entity)&lt;br /&gt;   at Ecng.Data.HierarchicalPageLoadList`1.OnUpdate(TEntity entity)&lt;br /&gt;   at StockSharp.Algo.Storages.BaseStorageEntityList`1.OnUpdate(T entity)&lt;br /&gt;   at Ecng.Serialization.RelationManyList`1.Update(TEntity entity)&lt;br /&gt;   at StockSharp.Algo.Storages.BaseStorageEntityList`1.Save(T entity)&lt;br /&gt;   at StockSharp.Hydra.MainWindow.OnSourceDataLoaded(IMarketDataSource source, IEnumerable`1 data)&lt;br /&gt;   at StockSharp.Hydra.MainWindow.&amp;lt;&amp;gt;c__DisplayClass38.&amp;lt;InitSource&amp;gt;b__37(IDictionary`2 data)&lt;br /&gt;   at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)&lt;br /&gt;   at StockSharp.Hydra.Core.BaseMarketDataSource.RaiseDataLoaded(Security security, Tuple`3 data)&lt;br /&gt;   at StockSharp.Hydra.Core.BaseMarketDataSource.SaveTrades(Security security, IEnumerable`1 trades, Boolean raiseDataLoadedEvent)&lt;br /&gt;   at StockSharp.Hydra.Finam.FinamSource.LoadTrades(Security security, List`1 allDates)&lt;br /&gt;   at StockSharp.Hydra.Finam.FinamSource.Load()&lt;br /&gt;   at StockSharp.Hydra.Worker.Downloader.Download()&lt;br /&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">При подключении, судя по логам, потоки постоянно переоткрываются со статусом Error. Вот выдержка&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;S# - 4.1.11&lt;br /&gt;Plaza роутер - 1.15.2_32&lt;br /&gt;Проект собран под x86.&lt;br /&gt;Windows 7 64bit&lt;br /&gt;&lt;br /&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;b&gt;&lt;span style="font-size:120%"&gt;Видео-уроки (основное):&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Свечи, индикаторы, стратегия, метки, вывод на график&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470235&amp;amp;hash=5354329b0f44e11a&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Исторические свечи, стратегия, вывод на график&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470340&amp;amp;hash=d4a2baaf8c533bc8&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Видео-уроки (экстра):&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Создание и работа с кластерными свечками&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470847&amp;amp;hash=05646cb903828f2e&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Темы занятия:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Свечи (&lt;a href="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Candles.htm" title="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Candles.htm"&gt;S# документация&lt;/a&gt;)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Получение свечей из торгового терминала&lt;br /&gt;&lt;li&gt;Вывод свечного графика&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Индикаторы (&lt;a href="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Indicators.htm" title="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Indicators.htm"&gt;S# документация&lt;/a&gt;)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Создание простого собственного индикатора&lt;br /&gt;&lt;li&gt;Вывод графика индикатора&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Стратегия (&lt;a href="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Strategies.htm" title="http://www.stocksharp.com/doc/html/N_StockSharp_Algo_Strategies.htm"&gt;S# документация&lt;/a&gt;)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Получение заявок и сделок&lt;br /&gt;&lt;li&gt;Вывод меток заявок и сделок на график&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Работа с графиком (&lt;a href="http://www.stocksharp.com/doc/html/T_StockSharp_Xaml_SciChart.htm/" title="http://www.stocksharp.com/doc/html/T_StockSharp_Xaml_SciChart.htm/"&gt;SciChart&lt;/a&gt;)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Работа с областями графика&lt;br /&gt;&lt;li&gt;Создание и использование графических элементов&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Создание модуля для получения исторических данных&lt;br /&gt;Создание сборки с получением исторических свечей, отрисовкой графиков и запуском стратегии&lt;br /&gt;Выводим свечной график в S#.Studio&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Домашнее задание:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;В проекте с получением и отображением исторических свечей, сделать вывод меток заявок и сделок на график.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Полезные ссылки:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/html/cd52cfcf-938c-4fce-9a56-4e9a001f0792.htm" title="http://stocksharp.com/doc/html/cd52cfcf-938c-4fce-9a56-4e9a001f0792.htm"&gt;Свечи&lt;/a&gt;, документация&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Вложения:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rc9GNm78BSRg5Z4VassvwQDkRd2Zr9oYK0Wxc0eTuVnw" title="http://vk.com/docs?oid=-66650972"&gt;Скачать проекты&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Изменения в проектах:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_05f9067d13c342829b69f895c96d720f');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_05f9067d13c342829b69f895c96d720f' style='display:none'&gt;&lt;br /&gt;Проект CandlesDownload&lt;br /&gt;Файл History.cs и SimpleSecurityStorage.cs&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

using StockSharp.Algo.History.Finam;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Стало:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

using StockSharp.Algo.History.Russian.Finam;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Файл SimpleSecurityStorage.cs&lt;br /&gt;&lt;br /&gt;В версии S# 4.1.19.1 интерфейс ISecurityStorage содержит свойство Securities, поэтому класс SimpleSecurityStorage, его должен реализовать.&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Стало:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

    /// &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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Проект CandlesDownloadUsing&lt;br /&gt;Файл BollingerStrategy.cs&lt;br /&gt;&lt;br /&gt;Теперь класс Strategy не имеет свойства PendingOrders, все Pending заявки можно получить из общей коллекции Orders, поэтому избыточность в библиотеке была устранена, и мы в соем проекте теперь используем коллекцию Orders, и в ней, анализируя свойство State каждой заявки, используя Linq выражение.&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Стало:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        /// &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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Файл MainWindow.cs&lt;br /&gt;&lt;br /&gt;Начиная с версии S# 4.1.19.1 статус подключения коннектора вынесен в специальное свойство ConnectionState, которое может принимать следующие значения:&lt;br /&gt;Disconnected - Не активно,&lt;br /&gt;Disconnecting - В процессе отключения,&lt;br /&gt;Connected - В процессе подключения,&lt;br /&gt;Connecting - Подключение активно,&lt;br /&gt;Failed - Ошибка подключения&lt;br /&gt;&lt;br /&gt;Таким образом, теперь нет свойства IsConnected, а наличие статуса подключения мы можем получать от свойства ConnectionState.&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Стало:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        /// &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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&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;b&gt;&lt;span style="font-size:120%"&gt;Видео-уроки:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Стратегии&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470523&amp;amp;hash=4b8b00e53a5b7a38&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;StrategyRule&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470520&amp;amp;hash=5a7de43868bcb7bc&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Логирование&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470340&amp;amp;hash=d4a2baaf8c533bc8&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Дочерние стратегии&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470334&amp;amp;hash=8beb60d403b41756&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Темы занятия:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Работа со стратегиями&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Изучение класса Stratеgy&lt;br /&gt;&lt;li&gt;Использование Strategy Rule( Once,Sync,Exclusive и т.д..)&lt;br /&gt;&lt;li&gt;Два примера стратегий с использованием практически всех, рассказанных до этого StrategyRule&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;StrategyRule&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Простые примеры StrategyRule&lt;br /&gt;&lt;li&gt;Сделки&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Логирование&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Как работать с логированием&lt;br /&gt;&lt;li&gt;Графическое отображение информации&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Дочерние стратегии&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Котирование&lt;br /&gt;&lt;li&gt;Работа с тейк-профитом, стоплоссом и др. защитными стратегиями&lt;br /&gt;&lt;li&gt;Создание своей собственной стратегии котирования &lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Запускаем стратегию в S#.Studio (будущее)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Домашнее задание:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Изучить визуальную панель для отображения сатистических параметров &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Xaml_StatisticParameterPanel.htm" title="http://stocksharp.com/doc/html/T_StockSharp_Xaml_StatisticParameterPanel.htm"&gt;StatisticParameterPanel&lt;/a&gt;, добавить эту панель в окно пользователя и отобразить в ней информацию из стратегии.&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Полезные ссылки:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Класс &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Algo_Strategies_Strategy.htm" title="http://stocksharp.com/doc/html/T_StockSharp_Algo_Strategies_Strategy.htm"&gt;Strategy&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/html/8ea639f6-ce74-4a00-9f13-db59c8c2396f.htm" title="http://stocksharp.com/doc/html/8ea639f6-ce74-4a00-9f13-db59c8c2396f.htm"&gt;Дочерние стратегии&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/html/eca7454c-0532-4aaf-92bf-7a3d0cba635b.htm" title="http://stocksharp.com/doc/html/eca7454c-0532-4aaf-92bf-7a3d0cba635b.htm"&gt;Логирование&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Вложения:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rc9GNm78BSRg5Z4VassvwQDkRd2Zr9oYK0Wxc0eTuVnw" title="http://vk.com/docs?oid=-66650972"&gt;Скачать проекты&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Изменения в проектах:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_d668cddaa3474af8b8e2f6fc33aa2b55');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_d668cddaa3474af8b8e2f6fc33aa2b55' style='display:none'&gt;&lt;br /&gt;Проект StrategyRules&lt;br /&gt;Файл Signal.cs&lt;br /&gt;&lt;br /&gt;В начало метода ProcessQuotes следует добавить проверку:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

            if (NeededVolume &amp;lt;= 0)
                return;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;это связано с тем, что метод:&lt;br /&gt;marketDepth.GetTheoreticalTrades(OrderDirections.Sell, NeededVolume)&lt;br /&gt;требует не нуливого объема, а в нашем случае получается следующее, мы создаем объект класса Signal, и в конструкторе подписываемся на получение новых котировок, и только потом указываем значение свойства NeededVolume, и до того как мы указали значение в NeededVolume может прийти котировка и метод:&lt;br /&gt;marketDepth.GetTheoreticalTrades(OrderDirections.Sell, NeededVolume)&lt;br /&gt;сгенерирует ошибку, т.к. значение свойства NeededVolume будет равно нулю.&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Стало:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&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;br /&gt;Например, базовый объем стратегии Volume = 1. &lt;br /&gt;При открытии позиции через котирование я указываю в свойствах котировщика объем, которым надо оперировать Volume=1.&lt;br /&gt;А при перевороте позиции указываю объем, которым надо оперировать Volume =2. &lt;br /&gt;Но в свойствах еще есть QuotingVolume, объем, который необходимо скотировать. В каких случаях это свойство можно использовать? Это не тоже самое, что и базовый объем стратегии?&lt;br /&gt;Я например, поставил при базовом объеме стратегии =1, при перевороте позиции объем котировщика Volume = 2, и QuotingVolume = 2. Так котировщик при перевороте, сначала перевернул позу с -1 на +1, потом еще купил 2, потом продал 2... Я последние две сделки так и не понял...</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">Гидра -сервер не качает с другого гидра-сервера данные. Инструменты при этом синхронизируются-а данные про логу ордеров и сделкам не закачиваются. Ошибок нет.</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;br /&gt;1. котирование по последней цене - вроде бы понятно, при появлении новой цены сделки котировщик выставляет заявку по этой цене до набора объема;&lt;br /&gt;2. котирование по рыночной цене - при каждом изменении стакана котировщик выставляет заявку по рыночной цене до набора объема;&lt;br /&gt;3. котирование по заданному уровню в стакане - ...не понятно&lt;br /&gt;4. котирование по лимитированной цене - ...не понятно</content>
  </entry>
</feed>