﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Сообщество. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=202</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-03T20:20:14Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=202" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/2718/</id>
    <title type="text">Шлюз к AlorTrader. Новый этап.</title>
    <published>2012-05-21T20:17:59Z</published>
    <updated>2012-05-21T20:17:59Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Alor" />
    <content type="html">Шлюз к AlorTrader практически закончен.&lt;br /&gt;&lt;br /&gt;Данный шлюз был написан сторонним разработчиком за наши деньги, поэтому лицензия на него будет продаваться. Точно также, как и на OEC.&lt;br /&gt;&lt;br /&gt;Стоимость бессрочной лицензии 5 тысяч рублей.&lt;br /&gt;&lt;br /&gt;Все заинтересованные - стучитесь в скайп, amukhanchikov, или пишите в личку.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2717/</id>
    <title type="text">Параметры IsSyncProcess, MaxCandleCount, MaxValueCount в версии 4.1</title>
    <published>2012-05-21T19:07:15Z</published>
    <updated>2012-05-21T19:07:15Z</updated>
    <author>
      <name>paveld</name>
      <uri>https://stocksharp.ru/users/6010/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">В версии S# 4.0.0.23 для тестирования с использованием EmulationTrader устанавливались следующие параметры:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

      var builder = new CandleBuilder(new TradeCandleBuilderSource(emulationTrader) {
        IsSyncProcess = true            
      });
      _candleManager.Sources.Add(builder);

      ( (CandleContainer) _candleManager.Container ).MaxCandleCount = 100;
      ( (CandleBuilderContainer) builder.Container ).MaxCandleCount = 100;
      ( (CandleBuilderContainer) builder.Container ).MaxValueCount = 100000;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Чем заменены параметры IsSyncProcess, MaxCandleCount, MaxValueCount в версии 4.1? Если они остались то как их правильно задать?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2716/</id>
    <title type="text">Свечки из тиков.</title>
    <published>2012-05-21T17:52:13Z</published>
    <updated>2012-05-21T17:52:13Z</updated>
    <author>
      <name>vlad1024</name>
      <uri>https://stocksharp.ru/users/768/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Посоветуйте каким образом можно в StockSharp получать свечки из тиков? ну тоесть очевидный вариант: Trader -&amp;gt; CandleManager -&amp;gt; CandleSeries. Можно как-то разорвать связь между Trader -&amp;gt; CandleManager, чтобы отдавать тики самому и получать свечки и все связанные события от CandleSeries? Подойдет ли для этого CandleBuilder?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2713/</id>
    <title type="text">S# 4.1 и правила</title>
    <published>2012-05-21T06:17:40Z</published>
    <updated>2012-05-21T06:17:40Z</updated>
    <author>
      <name>wulff</name>
      <uri>https://stocksharp.ru/users/5999/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Здравствуйте.&lt;br /&gt;Перешел с версии 4.0.22 на версию 4.1, и правила перестали работать почемуто,&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;
this
                    .When(Security.Changed())
                    .Do(Process);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;после перехода на 4.1 переписал так&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;
Security.WhenChanged().Do(Process);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И правило не срабатывает, почему так?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2712/</id>
    <title type="text">Стоп-приказы и защитная стратрегия</title>
    <published>2012-05-20T20:38:42Z</published>
    <updated>2012-05-20T20:38:42Z</updated>
    <author>
      <name>Memory</name>
      <uri>https://stocksharp.ru/users/6063/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">Попытался создать новую тестовую стратегию. Взял класс Strategy отнаследовал от него. Все настройки (бумаги, таймфреймы и пр. ) взял из SampleHistoryTesting. Версия S# 4.1. Что имеем в результате.&lt;br /&gt;1. Не ходят изменеия по инструменту. Security.WhenChanged().Do(OnSChanged).Apply(this);&lt;br /&gt;   По стакану инструмента ходят, по инструменту нет.&lt;br /&gt;2. Не работают стоп приказы. Устанавливаться - устанавливаются но не срабатывают.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2711/</id>
    <title type="text">Очередность вызова событий CandleStarted и CandleFinished</title>
    <published>2012-05-20T19:09:47Z</published>
    <updated>2012-05-20T19:09:47Z</updated>
    <author>
      <name>paveld</name>
      <uri>https://stocksharp.ru/users/6010/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Обнаружил что событие CandlesStarted для новой свечи вызывается раньше, чем событие CandlesFinished для предыдущей свечи.&lt;br /&gt;Скажите это так специально сделано или это ошибка в реализации?&lt;br /&gt;В моей стратегии в событии CandlesFinished производится расчет значений индикатора. А в CandlesStarted делается выставление заявок&lt;br /&gt;по рассчитанным значениям индикатора.&lt;br /&gt;Получается новые значения индикатора не успевают рассчитаться.&lt;br /&gt;Пробовал использовать IndicatorManager, та же ситуация.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2710/</id>
    <title type="text">Влияние количества ядер процессора на скорость S# и .Net в целом?!</title>
    <published>2012-05-20T13:15:20Z</published>
    <updated>2012-05-20T13:15:20Z</updated>
    <author>
      <name>gazrvs_nur</name>
      <uri>https://stocksharp.ru/users/5983/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">Наверняка у многих есть 4-6 ядерные процессоры Intel или AMD.&lt;br /&gt;Есть приложения на прямую зависящие только от тактовой частоты и незначительно от количества ядер, а другие дают хорошие результаты в паралельной обработке на все ядрах.&lt;br /&gt;Пока S# грузит 2-х ядра на 98-100%, память 4Гб также полностью заполняется.&lt;br /&gt;&lt;br /&gt;В качестве апгрейда сейчас у меня по производительности выбор лег на проц. Intel Core i7 3930K/3.20 GHz, память 32Гб&lt;br /&gt;&lt;br /&gt;Имеется ли смысел городить недешевую систему, а взять на Intel Core i5 2500/3.30 GHz и разогнать его.&lt;br /&gt;&lt;br /&gt;Скажите как 4-6 ядерные процы справляются с .Net и, в частности, с S# ? &lt;br /&gt;Может кто поделится впечатлениями от объема памяти 16-32 Гб?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2709/</id>
    <title type="text">Контрольные точки стратегий.</title>
    <published>2012-05-20T08:22:45Z</published>
    <updated>2012-05-20T08:22:45Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Хочется поговорить собственно о Сабже :). Кто как контроллирует корректность работы стратегии. Я для себя определил два метода контроля процессов. &lt;br /&gt;&lt;ol&gt;&lt;br /&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;Далее предлагаю поделиться, и возможно составить перечень точек контроля, помогающих быть уверенным что все идет как положено и ситуация в рамках ожидаемой. Итак начну потихоньку.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Если вы используете историю в стратегии для формирования индикаторов или еще чего, обязательно необходимо сделать валидацию исторических данных. Иначе рискуете торговать в матрице :).&lt;br /&gt;&lt;li&gt; Если ваша стратегия оперирует ограниченным объемом инструментов, необходимо проверять что объем взятый стратегией не выходит за допустимые пределы. Если стратегия только на sell, значит надо убедиться, что продано не больше чем допустимо. Иначе рискуете набрать левую позицию и получить нарушение логики стратегии.&lt;br /&gt;&lt;li&gt; Если в стратегии используется стоп ордера, необходимо убедиться что на каждую сделку поставился стоп ордер. Иначе рискуете получить убыток неопределенного размера при потере связи с брокером.&lt;br /&gt;&lt;li&gt; Необходимо контроллировать число активных ордеров стратегии. Они не должны выходить за допустимые лимиты. А то может получиться, что ордер поставился, сделка по нему не пришла, и он был забыт. Потом поставился новый ордер, сделка пришла. А через некоторое время и старый ордер отработал. Получили перебор позиции как минимум.&lt;br /&gt;&lt;li&gt; Если стратегия торгует в одну сторону buy или sell, проверять направление позиции. Иначе можно получить отрицательную позицию на стратегии торгующей в buy если неверно отработает защита позиции и будет продано больше чем положено.&lt;br /&gt;&lt;li&gt; Необходимо проверять приходят ли данные в стратегию или нет. Может отпасть экспорт, глюкануть терминал или другой форсмажор, а стратегия будет продолжать работать ожидая данных и мы ничего не узнаем.&lt;br /&gt;&lt;li&gt; Запрет на несанкционированные действия. Это раскрывается ниже.&lt;br /&gt;&lt;li&gt; Проверять размер лося по стратегии, и обрубать концы при превышении допустимого размера. Недавний пример видели на Si, где был хороший расколбас с хорошим лосем. Робота сразу не пришибли.&lt;br /&gt;&lt;li&gt; Данный пункт довольно трудоемко исполнять (по причине уже существующих стратегий которые это не учитывают), но такая ситуация имеет место быть и заслуживает внимания. В стратегиях нужно оценивать приходящие котиры на валидность. Если брокер вам прислал левую котировку, явно выпадающую из реала, стратегия должна ее игнорировать или ожидать подтверждения. К примеру прислали котир от бакса а вы торгуете по сбербанку. Явно можно отсекать левые котировки.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Помимо точек контроля очень важно чтобы стратегия вела себе вполне определенным образом, то есть так как вы от нее ожидаете. Поскольку коннектор может генерировать события из разных потоков, ваша стратегия может оказаться в состоянии которое для вас является неожиданным и неучтенным. &lt;b&gt;Отсюда вытекает - стратегия должна иметь четкий перечень состояний, и переходить из одного в другое вполне определенным и известным заранее способом.&lt;/b&gt; Это облегчит вам жизнь и отладку приложения в будущем. К этому я пришел через некоторое время, помучавшись (распиливая логику на мелкие подстратегии), а в реализации помог как всегда Сергей (не в первый раз), подсоветовав одну замечательную и простую реализацию workflow. Библиотек реализующий конечные автоматы (читай wokflow) много, и даже в студии есть своя реализация.&lt;br /&gt;&lt;br /&gt;Суть решения сводится к тому, что в каждый момент времени система находится в заранее определенном состоянии, и в случае событий извне системы, осуществляет переходы в другие состояния. Кому интересно почитайте про автоматное программирование. Прелесть решения в том, что логика переходов и состояний описывается в одном месте, и если система хочет перейти в неположенное состояние вы сразу об этом узнаете. Таким образом система преобретает полезное свойство - мы знаем что она может делать в текущее время а что нет. В спойлере пример описания логики переходов для примера. Вот она собственно вся логика системы. Как на ладони. &lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_65ec02fdf13643fb8b471fa7ef4d7bf6');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_65ec02fdf13643fb8b471fa7ef4d7bf6' style='display:none'&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 InitStateMachine()
        {
            _stateMachine = new StateMachine&amp;lt;States, Triggers&amp;gt;(() =&amp;gt; State, (state) =&amp;gt; State = state);


            _stateMachine.Configure(States.Init)
                .Permit(Triggers.Start, States.Starting);


            _stateMachine.Configure(States.Starting)
                .OnEntry(StartingOnEntry)
                .Permit(Triggers.WaitSignal, States.WaitingSignal)
                .Permit(Triggers.MyTradeProtected, States.InPosition);      // При загрузке из настроек, сразу переходим в состояние InPosition

            // Ждем сигнала. Разрешено только получение свечек.
            _stateMachine.Configure(States.WaitingSignal)
                .Permit(Triggers.Stop, States.Stopping)
                .Permit(Triggers.OpenPosition, States.OpeningPosition)
                .PermitReentry(Triggers.NewCandles).OnEntryFrom(Triggers.NewCandles, OnEntryFromNewCandles);

            // Открываем позицию.
            _stateMachine.Configure(States.OpeningPosition)
                .OnEntryFrom(Triggers.OpenPosition, OnEntryFromOpenPosition)
                .Permit(Triggers.NewTrade, States.ProtectingMyTrade)
                .Permit(Triggers.OpenPositionFailed, States.Stopping)
                .PermitReentry(Triggers.NewCandles).OnEntryFrom(Triggers.NewCandles, OnEntryFromNewCandles);

            // Защищаем открытую сделку.
            _stateMachine.Configure(States.ProtectingMyTrade)
                .OnEntryFrom(Triggers.NewTrade, ProtectingMyTradeOnEntryFromNewTrade)
                .Permit(Triggers.MyTradeProtected, States.InPosition)
                .PermitReentry(Triggers.NewCandles).OnEntryFrom(Triggers.NewCandles, OnEntryFromNewCandles);

            // Находимся в позиции.
            _stateMachine.Configure(States.InPosition)
                .Permit(Triggers.ProtectionFailed, States.Stopping)
                .Permit(Triggers.Stop, States.Stopping)
                .Permit(Triggers.WaitSignal, States.WaitingSignal)
                .PermitReentry(Triggers.NewTrade).OnEntryFrom(Triggers.NewTrade, InPositionOnEntryFromNewTrade)
                .PermitReentry(Triggers.NewCandles).OnEntryFrom(Triggers.NewCandles, OnEntryFromNewCandles);

            // Остановка машины
            _stateMachine.Configure(States.Stopping)
                .OnEntryFrom(Triggers.Stop, StoppingOnEntryFromStop)
                .OnEntryFrom(Triggers.ProtectionFailed, StoppingOnEntryFromProtectionFailed)
                .OnEntryFrom(Triggers.OpenPositionFailed, StoppingOnEntryFromOpenPositionFailed)
                .Permit(Triggers.Stopped, States.Init)
                .PermitReentry(Triggers.NewCandles).OnEntryFrom(Triggers.NewCandles, OnEntryFromNewCandles);

        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Использовав подобный подход из теории автоматного программирования я сразу же устранил пару очень неприятных багов, система стала работать без ошибок, система упростилась, избавился от необходимости создавать велосипед в виде частичной реализации workflow переходов итд.&lt;br /&gt;Почти все элементы стратегий можно и нужно реализовывать по данной схеме, тогда все будет четко и понятно функционировать.&lt;br /&gt;&lt;br /&gt;Пока все. По мере формализации буду добавлять. От вас жду того-же.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2707/</id>
    <title type="text">Некорректная отработка ошибок в стратегиях.</title>
    <published>2012-05-20T05:22:19Z</published>
    <updated>2012-05-20T05:22:19Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Ситуация такая. &lt;span style="color:red"&gt;Версия библиотеки 4.0.22&lt;/span&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 FatalFinish(string message)
        {
            OnError(new Exception(message));
            Stop();
        }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&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;
ChilsStrategy.Stop();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&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;
        protected override void OnStopped()
        {
            if (ErrorCount &amp;gt; 0)
                this.AddInfoLog(&amp;quot;OnStopped(): Последний регистрируемый ордер Id: {0} TransId {1}.&amp;quot;, Order.Id, Order.TransactionId);
            else
                this.AddInfoLog(&amp;quot;OnStopped(): Зарегистрированный ордер Id: {0} TransId {1}.&amp;quot;, Order.Id, Order.TransactionId);

            base.OnStopped();
        }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В итоге получаем что когда дочерняя стратегия завершена, число ошибок у нее равно НУЛЮ. То есть код выше всегда выполняется будто ошибок не было.&lt;br /&gt;&lt;br /&gt;Я полагаю что это происходит из-за того что в классе Strategy, сначала генерится событие об ошибке в стратегии, а только потом увеличивается счетчик ошибок. Что некорректно. Если стратегия сгенерила ошибку, и в хендлере события Error мы проверяем число ошибок, то будем получать всегда предыдущее значение этого числа ошибок.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2706/</id>
    <title type="text">Чтение и вывод сделок из архива Гидры</title>
    <published>2012-05-19T17:00:28Z</published>
    <updated>2012-05-19T17:00:28Z</updated>
    <author>
      <name>Доктор Сальватор</name>
      <uri>https://stocksharp.ru/users/28547/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Здравствуйте!&lt;br /&gt;Я изучаю C# и библиотеку S#, до этого имел дело лишь с Бейсиком и Паскалем в пределах университетского курса. Для самообучения решил написать программу, которая берёт из архива Гидры котировки ценной бумаги и выводит их в таблицу. Проще говоря, решил сделать программу-аналог окна Гидры, которое в исходниках называется &amp;quot;TradesWindow.xaml&amp;quot;. В процессе написаня я столкнулся с двумя трудностями:&lt;br /&gt;1)Привязку данных к GridViewColumn удаётся осуществить только с помощью вставки кода DisplayMemberBinding=&amp;quot;{Binding Path=Id}&amp;quot; в окно редактора XAML. А как сделать это с помощью средств Visual Studio (в разделе DataContext пусто)?&lt;br /&gt;2)При отладке компилятор пишет: &lt;br /&gt;Ошибка	2	Требуется определение типа или пространства имен, либо признак конца файла	&lt;br /&gt;Ошибка	3	Элемент &amp;quot;storage&amp;quot; не существует в текущем контексте.&lt;br /&gt;Ошибка	4	Элемент &amp;quot;security&amp;quot; не существует в текущем контексте.	&lt;br /&gt;Ошибка	1	Требуется &amp;quot;}&amp;quot;&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;

namespace Sdelki
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Windows;
    using System.Xml.Linq;
    using System.Windows.Forms;

    using Ecng.Common;
    using Ecng.Interop;
    using Ecng.Serialization;
    
    using StockSharp.BusinessEntities;
    using StockSharp.Algo.Storages;
   
    using Microsoft.Win32;
    using MessageBox = Microsoft.Windows.Controls.MessageBox;

    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        //Указываем путь к базе данных
        private void _Fail_Click(object sender, RoutedEventArgs e)
        {
            var dlg = new FolderBrowserDialog();

            if (!_Baza.Text.IsEmpty())
                dlg.SelectedPath = _Baza.Text;

            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                _Baza.Text = dlg.SelectedPath;
            }
        }

        //Выводим сделки в таблицу
        private void _Sdelki(object sender, RoutedEventArgs e)
        {

            //Проверяем, указан ли путь к базе данных
            if (_Baza.Text.IsEmpty() || !Directory.Exists(_Baza.Text))
            {
                MessageBox.Show(this, &amp;quot;Неправильный путь.&amp;quot;);
                return;
            }

            // Создаем инструмент, который будем выводить в таблицу
            var security = new Security
            {
                Id = &amp;quot;RIU9@RTS&amp;quot;,
                Code = &amp;quot;RIU9&amp;quot;,
                Name = &amp;quot;RTS-9.09&amp;quot;,
                MinStepSize = 5,
                MinStepPrice = 2,
                Exchange = Exchange.Test,
            };

            // Создаём хранилище, через которое будет производиться доступ к тиковой 
            // и котировочной базе данных
            var storage = new TradingStorage(new InMemoryStorage())
            {
                BasePath = _Baza.Text
            };

          //Ошибка 1   
          var tradeStorage = storage.GetTradeStorage(security);

            //Выводим сделки в таблицу
          private void FindedTrades_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
            {

            //Ошибка 3 и Ошибка 4  
            FindedTrades.ItemsSource = storage.GetTradeStorage(security, _Baza.Text)
                      .Load();  
            }
        }
    }
// Ошибка 2
} 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Я понимаю, что у профессиональных программистов мои вопросы вызовут улыбку [biggrin] , ибо для них тут нет сложностей. Но я бьюсь над этим второй день и чего только не перепробовал, но увы и ах... Подозреваю, что собака порылась в закрытых полях и свойствам для их чтения. Подскажите, в чём моя ошибка? И скажите пожалуйста, как вставлять код в сообщение так, чтобы он выглядел как в окне редактора Visual Studio?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2705/</id>
    <title type="text">System.NotImplementedException произошло в Ecng.Serialization.dll</title>
    <published>2012-05-19T11:48:29Z</published>
    <updated>2012-05-19T11:48:29Z</updated>
    <author>
      <name>art.tsgnet</name>
      <uri>https://stocksharp.ru/users/6002/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Необработанное исключение типа &amp;quot;System.NotImplementedException&amp;quot; произошло в Ecng.Serialization.dll&lt;br /&gt;Дополнительные сведения: Метод или операция не реализована.&lt;br /&gt;&lt;br /&gt;моя вина, или нет?&lt;br /&gt;версия 4.1, в версии 4.0.21 все тоже самое работало&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;
securityComboBox.ItemsSource = WorkWithDB.Storage.Securities;&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;
//класс для работы с базой данных
    static class WorkWithDB
    {
        public static string connectionString { get; set; }
        public static string name { get; set; }
        static Database db;
        public static StorageRegistry Storage;
        public static SettingsStorage SettingStorage;

        public static bool IsInit=false;

        public static string BasePath = &amp;quot;datastorage&amp;quot;;

        public static void Init()
        {
            name = &amp;quot;trading_db&amp;quot;;

            SqlConnectionStringBuilder con_builder = new SqlConnectionStringBuilder();

            con_builder.DataSource = @&amp;quot;1-ПК\MSSQL2008&amp;quot;;
            con_builder.InitialCatalog = &amp;quot;Trading&amp;quot;;
            con_builder.UserID = &amp;quot;trading&amp;quot;;
            con_builder.Password = &amp;quot;trading&amp;quot;;
            connectionString = con_builder.ConnectionString;

            db = new Database(name, connectionString);
            Storage = new StorageRegistry(db) ;
            Storage.BasePath = BasePath; 
            SettingStorage = new SettingsStorage();
            
            IsInit=true;

        }

    }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2704/</id>
    <title type="text">Толи глюк толи баг в примере SampleEmulationHistory</title>
    <published>2012-05-19T11:14:00Z</published>
    <updated>2012-05-19T11:14:00Z</updated>
    <author>
      <name>art.tsgnet</name>
      <uri>https://stocksharp.ru/users/6002/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">Скачал 4.1 версию&lt;br /&gt;запускаю пример SampleEmulationHistory а он мне тут же после нажатия на кнопку старт выдает &amp;quot;Отменено&amp;quot; как-будто я два раза быстро нажал эту кнопку&lt;br /&gt;в дебаге глянул, после запуска делает сначало состояние EmulationTrade в Started, потом тут же в Stoping и в Stoped&lt;br /&gt;&lt;br /&gt;у себя в программе обнаружил тот же глюк</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2703/</id>
    <title type="text">автостоп в АльфаДирект</title>
    <published>2012-05-19T05:18:03Z</published>
    <updated>2012-05-19T05:18:03Z</updated>
    <author>
      <name>Oksana</name>
      <uri>https://stocksharp.ru/users/6001/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Работа" />
    <content type="html">Добрый день,&lt;br /&gt;нужна программа выставляющая автостоп в АльфаДиректе.&lt;br /&gt;Т.е. в момент подачи приказа на покупку/продажу, выставляются также параметры для стопа, и одним нажатием подаются сразу два приказа:основной +стоп.&lt;br /&gt;&lt;br /&gt;Если здесь есть программисты пишущие на заказ, откликнитесь.&lt;br /&gt;Спасибо.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2702/</id>
    <title type="text">ReRegisterOrder при изменении стакана.</title>
    <published>2012-05-18T15:02:27Z</published>
    <updated>2012-05-18T15:02:27Z</updated>
    <author>
      <name>Andrii</name>
      <uri>https://stocksharp.ru/users/27996/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">к событию изменения стакана добавляю пересоздание активных стоп-заявок.&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;
  Trader.StopOrders.Where(w =&amp;gt; w.Security == quote.Security).ToList().ForEach(fixOrder =&amp;gt;
            {
                var changed = false;
                var condition = (QuikStopCondition)fixOrder.StopCondition;
                if (...)
                {
                    condition.StopPrice = quote.BestBid.Price;
                    changed = true;
                }
                else if (...)
                {
                    condition.StopPrice = quote.BestAsk.Price;
                    changed = true;
                }
                var order = fixOrder.Clone();
                order.StopCondition = condition;
                order.Volume = Trader.Positions.FirstOrDefault(w =&amp;gt; w.Security == quote.Security).CurrentValue;
                if(changed)TryReRegisterOrderToCurrentTrader(fixOrder, order);
            });&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;но заявки событие возникает много раз из-за этого добавляется куча дублирующих заявок. Что нужно добавить, чтобы синхронизировать.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2701/</id>
    <title type="text">Непонятки с лицензией в 4.1</title>
    <published>2012-05-18T12:52:55Z</published>
    <updated>2012-05-18T12:52:55Z</updated>
    <author>
      <name>Den</name>
      <uri>https://stocksharp.ru/users/6003/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Уважаемые разработчики!&lt;br /&gt;&lt;br /&gt;скачал сегодня первый раз 4.1.&lt;br /&gt;Запустил робота. Вопросов про лицензию не было у него. &lt;br /&gt;Я поискал временную лицензию, кот. должна была скачаться, но в текущей директории файл с временной лицензией не обнаружил. &lt;br /&gt;В MyDocuments тоже не обнаружил. Что-то похоже не так...&lt;br /&gt;&lt;br /&gt;Через какое-то время робот сам по себе завершает работу - это из-за лицензии или по другой причине?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2700/</id>
    <title type="text">Неверное значение ВМ, полученное из Portfolio.VariationMargin</title>
    <published>2012-05-18T09:03:20Z</published>
    <updated>2012-05-18T09:03:20Z</updated>
    <author>
      <name>Limfocit</name>
      <uri>https://stocksharp.ru/users/789/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">Сегодня запустил программу, работающую через S# PlazaTrader и заметил что значение ВМ в портфеле сильно отличается от значений ВМ для этого счета в привязанном к этому счету квике. Разница в несколько порядков. При этом на этом же логине у меня работают написанные мною программы, которые транслируют ВМ, не отличающуюся от квика. Данные ВМ в своей программе беру из потока FORTS_VM_REPL таблицы fut_vm поле vm.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2698/</id>
    <title type="text">Проблемы с клирингом</title>
    <published>2012-05-17T10:43:54Z</published>
    <updated>2012-05-17T10:43:54Z</updated>
    <author>
      <name>DjoyDivizn</name>
      <uri>https://stocksharp.ru/users/5991/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">Подскажите как решить проблему с клирингом, после клиринга в 14.00 робот перестает кидать заявки, а в 19.00 вылазит куча ошибок &lt;a href="http://stocksharp.com/forum/resource.ashx?i=185 " title="http://stocksharp.com/forum/resource.ashx?i=185 "&gt;http://stocksharp.com/forum/resource.ashx?i=185 &lt;/a&gt;связанных с инструментом.В остальное время бот  работает швейцарские как часы, но это клиринг доставляет кучу проблем, связанных перезагрузкой бота.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2697/</id>
    <title type="text">ошибка эмуляционный plazaTrader</title>
    <published>2012-05-17T07:27:03Z</published>
    <updated>2012-05-17T07:27:03Z</updated>
    <author>
      <name>fish</name>
      <uri>https://stocksharp.ru/users/241/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Версия 4.1 (beta)&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;
RealTimeEmulationTrader&amp;lt;PlazaTrader&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; &lt;br /&gt;Стратегия работает,  но вывод в график эквити нет, также не появляется информация в отчете о сделках, только о заявках.&lt;br /&gt;&lt;br /&gt;Вот стек трейс&lt;br /&gt;&lt;br /&gt;---------------------------&lt;br /&gt;Ошибка обработки данных&lt;br /&gt;---------------------------&lt;br /&gt;System.MissingMethodException: Method not found: &amp;#39;Void StockSharp.BusinessEntities.MyTrade.set_PnL(System.Decimal)&amp;#39;.&lt;br /&gt;&lt;br /&gt;   at StockSharp.Algo.Strategies.Strategy.#=qkgZFPxGi$ECujYjIxJexEA==(IEnumerable`1 #=qcE736mub7VO2W6WF6_Ksjw==)&lt;br /&gt;&lt;br /&gt;   at StockSharp.Algo.Strategies.Strategy.#=qMsE_t0UvJbk5pl_d10bUg65YKxFVfxDw_sxPZZdceso=(IEnumerable`1 #=qAVYNiKdFDaWf7$E79yD9HA==)&lt;br /&gt;&lt;br /&gt;   at System.Action`1.Invoke(T obj)&lt;br /&gt;&lt;br /&gt;   at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)&lt;br /&gt;&lt;br /&gt;   at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=q31tcw46kVie247LG7JC3rawsTV_4PPMiNb3nfHQhRAg=(IEnumerable`1 #=q1SB9HRPlt19vFFcTcgdNUA==)&lt;br /&gt;&lt;br /&gt;   at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)&lt;br /&gt;&lt;br /&gt;   at StockSharp.Algo.Testing.MarketEmulator.#=quqtSnuGq5f5POgxeDleFXw==(Order #=qVYBEhfpbngiIldDzjfeNVw==, Decimal #=qB_q5TM5NqOVbmG8Sh_y0lA==, Decimal #=qJy$qJWxHkEld9IY5ASavhQ==)&lt;br /&gt;&lt;br /&gt;   at StockSharp.Algo.Testing.MarketEmulator.#=qf9CQicKzakD5vLTcalBhVaXvGMTvBHWEg0Z_wjOs9Fs=(Order #=qJ$avBfwd$514nCN7kM9DcA==, MarketDepth #=qOle93rDk3Vy4zS6UNYpYQw==, Boolean #=qt3rmFrcGsK2eVx1hmI0vXg==)&lt;br /&gt;&lt;br /&gt;   at StockSharp.Algo.Testing.MarketEmulator.#=qt9mNe1nnM0L_bVvVy_asHQ==(LinkedListNode`1 #=qn9ljsNq8MfAm9iGN4eGuGg==)&lt;br /&gt;---------------------------&lt;br /&gt;ОК   &lt;br /&gt;&lt;hr /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2696/</id>
    <title type="text">Левые тики</title>
    <published>2012-05-17T03:20:10Z</published>
    <updated>2012-05-17T03:20:10Z</updated>
    <author>
      <name>Chicot</name>
      <uri>https://stocksharp.ru/users/693/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Закачал данные с Финама при помощи Гидры (4.0.22)&lt;br /&gt;&lt;br /&gt;Однако в некоторые дни по некоторым бумагам вместо реальных данных какая-то фигня. Просто некорректные цены и объемы.&lt;br /&gt;&lt;br /&gt;В чем может быть дело? С Финама в ручную закачиваются нормальные данные.&lt;br /&gt;&lt;br /&gt;Вот пример с SIBN&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACpVuMQuNw9LrKF14GFugE7Ftmc_wXFlf3BDMyrjhcEmJA-6UI9oIjIxLXRUzryCA1ZyM1Dejs9cxf-ptrgK7_5" title="http://s1.ipicture.ru/Gallery/Viewfull/10622622.html"&gt;&lt;a href='http://s1.ipicture.ru/uploads/20120517/thumbs/ljk3pnba.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://s1.ipicture.ru/uploads/20120517/thumbs/ljk3pnba.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACpVuMQuNw9LrKF14GFugE7Ftmc_wXFlf3BDMyrjhcEmMTMs5LlreVUQ-tJEhrpTi4phG7zyoAnDACbnO24nZG0" title="http://s1.ipicture.ru/Gallery/Viewfull/10622636.html"&gt;&lt;a href='http://s1.ipicture.ru/uploads/20120517/thumbs/7siyGKy4.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://s1.ipicture.ru/uploads/20120517/thumbs/7siyGKy4.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2695/</id>
    <title type="text">S#.API 4.1</title>
    <published>2012-05-16T22:56:12Z</published>
    <updated>2012-05-16T22:56:12Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADRsWM-yO9fO0Jso1lzQVF3-J3iXgr3HFcMe36SmpqqzcoNpD4LBYnmWuCs75VNel0" title="http://www.box.net/stocksharp/0/283684899"&gt;Выложил 4.1.0.0&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Изменения S#:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; IndexSecurity - &lt;a href="http://stocksharp.com/doc/html/ee8f7be8-80ad-4ab9-a5aa-14754fe024f1.htm" title="http://stocksharp.com/doc/html/ee8f7be8-80ad-4ab9-a5aa-14754fe024f1.htm"&gt;инструмент, для построения индексных пар (ног)&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; ContinousSecurity - &lt;a href="http://stocksharp.com/doc/html/0f7cceee-bb7c-4f24-a266-ed900cb8e557.htm" title="http://stocksharp.com/doc/html/0f7cceee-bb7c-4f24-a266-ed900cb8e557.htm"&gt;непрерывный фьючерс&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; Склейка свечек - &lt;a href="http://stocksharp.com/doc/html/f71010d3-135c-4fe9-a573-abf0245b3f5d.htm" title="http://stocksharp.com/doc/html/f71010d3-135c-4fe9-a573-abf0245b3f5d.htm"&gt;история + реал-тайм теперь поддерживается единым образом через одну точку доступа&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; &lt;a href="http://stocksharp.com/doc/html/034eccab-f22d-4ff1-bcc3-102bfa88cd54.htm" title="http://stocksharp.com/doc/html/034eccab-f22d-4ff1-bcc3-102bfa88cd54.htm"&gt;Ордерлог на Плазе&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; Новый &lt;a href="http://stocksharp.com/doc/html/f8cae46b-57e1-4954-a4cf-832854840981.htm" title="http://stocksharp.com/doc/html/f8cae46b-57e1-4954-a4cf-832854840981.htm"&gt;шлюз для OEC&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; Блок расчета &lt;a href="http://stocksharp.com/doc/html/a2f51940-0932-432e-8255-433610cfd457.htm" title="http://stocksharp.com/doc/html/a2f51940-0932-432e-8255-433610cfd457.htm"&gt;комиссий&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; &lt;a href="http://stocksharp.com/doc/html/ba149b22-2024-4479-aaf3-8dd271a681f5.htm" title="http://stocksharp.com/doc/html/ba149b22-2024-4479-aaf3-8dd271a681f5.htm"&gt;Лицензия S#&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; Хранилище (&lt;a href="http://stocksharp.com/doc/html/e4a57b52-bd14-4640-a7c7-0979dba1ad0a.htm" title="http://stocksharp.com/doc/html/e4a57b52-bd14-4640-a7c7-0979dba1ad0a.htm"&gt;новый способ работы&lt;/a&gt;, значительно &lt;a href="http://stocksharp.com/doc/html/5b90a23e-24b9-474a-a699-da47b666194a.htm" title="http://stocksharp.com/doc/html/5b90a23e-24b9-474a-a699-da47b666194a.htm"&gt;уменьшено потребление памяти у тестера&lt;/a&gt;). Новый подход при оптимизации - параллельный запуск множества проходов.&lt;br /&gt;&lt;li&gt; &lt;a href="http://stocksharp.com/doc/html/4ffe2119-9458-449b-a2dc-7551f8e77c20.htm" title="http://stocksharp.com/doc/html/4ffe2119-9458-449b-a2dc-7551f8e77c20.htm"&gt;Транзакционность при работе с заявками, инструментами&lt;/a&gt;.&lt;br /&gt;&lt;li&gt; Сертифицированная Плаза.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Изменения по &lt;a href="http://stocksharp.com/hydra/" title="http://stocksharp.com/hydra/"&gt;Гидре&lt;/a&gt;.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Поддерживает OrderLog.&lt;br /&gt;&lt;li&gt; Пишет изменения по ластам у инструмента (в т.ч. ОИ, вола и т.д.).&lt;br /&gt;&lt;li&gt; Новый формат &lt;a href="http://stocksharp.com/forum/2564/Format-dannykh-dlia-Gidry/
" title="http://stocksharp.com/forum/2564/Format-dannykh-dlia-Gidry/
"&gt;http://stocksharp.com/fo...mat-dannykh-dlia-Gidry/
&lt;/a&gt;&lt;br /&gt;&lt;li&gt; Распределенная схема (1 Гидра качает данные и хранит, несколько качает данные с 1-ой Гидры).&lt;br /&gt;&lt;li&gt; Экспорт в БД.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Читайте &lt;a href="http://stocksharp.com/doc/" title="http://stocksharp.com/doc/"&gt;документацию&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Начиная с сегодняшнего дня поддержка и исправление ошибок в 4.0 прекращается.&lt;br /&gt;Переходите на 4.1, там уже многое исправлено.</content>
  </entry>
</feed>