﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Урок 8. Тестирование</title>
  <id>~/topic/3848/urok-8_-testirovanie/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-13T20:25:05Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3848" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/29955/</id>
    <title type="text">http://stocksharp.com/forum/4346/My-pierieiekhali-v-sots-siet--Vkontaktie/ </title>
    <published>2014-03-11T12:14:12Z</published>
    <updated>2016-08-16T00:17:08Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;&lt;a href="http://stocksharp.com/forum/4346/My-pierieiekhali-v-sots-siet--Vkontaktie/"&gt;http://stocksharp.com/forum/4346/My-pierieiekhali-v-sots-siet--Vkontaktie/&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26758/</id>
    <title type="text">Видео-уроки: Тестирование стратегий [vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470538&amp;amp;hash=...</title>
    <published>2013-07-23T09:34:35Z</published>
    <updated>2016-08-16T00:14:17Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.com/users/675/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <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=167470538&amp;amp;hash=5489cd9b16a7da27&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;ul&gt;
&lt;li&gt;Общие понятия о тестировании.&lt;/li&gt;
&lt;li&gt;Тестирование на исторических данных.&lt;/li&gt;
&lt;li&gt;Тестирование на рыночных данных.&lt;/li&gt;
&lt;/ul&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/febbcf31-63d1-449d-847e-92fd8424f926.htm"&gt;О тестировании&lt;/a&gt;
&lt;a href="http://stocksharp.com/doc/html/5b90a23e-24b9-474a-a699-da47b666194a.htm"&gt;Тетирование на историческиз данных&lt;/a&gt;
&lt;a href="http://stocksharp.com/doc/html/d27245ae-abfd-4d6b-b8c4-d1a24a45116f.htm"&gt;Тестирование на рыночных данных&lt;/a&gt;
&lt;a href="http://stocksharp.com/doc/html/ab42038e-836b-4c00-9332-0b2db2cbd948.htm"&gt;Тестирование на случайных данных&lt;/a&gt;
&lt;a href="http://stocksharp.com/doc/html/9e72851f-2a19-4680-b344-cdc39d1b85e1.htm"&gt;Настройки тестирования&lt;/a&gt;
&lt;a href="http://stocksharp.com/forum/361/Torghovyie-roboty-Shagh-1--Tiestirovaniie-torghovoi-sistiemy/"&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;strong&gt;[Основное]&lt;/strong&gt; Провести полное тестирование на случайных данных.
&lt;strong&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://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;Проект TestingAndTrading
Файл MainWindow.cs&lt;/summary&gt;
&lt;p&gt;Начиная с версии S# 4.1.19.1 статус подключения коннектора вынесен в специальное свойство ExportState, которое может принимать значения:
Disconnected - Не активно,
Disconnecting - В процессе отключения,
Connected - В процессе подключения,
Connecting - Подключение активно,
Failed - Ошибка подключения&lt;/p&gt;
&lt;p&gt;Таким образом, теперь нет свойства IsExportStarted, а статус экспорта данных мы можем получать от свойства ExportState.&lt;/p&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        protected override void OnClosing(CancelEventArgs e)
        {
            if (_trader != null &amp;amp;&amp;amp; _trader.IsExportStarted)
                _trader.StopExport();

            _myTradesWindow.Close();
            base.OnClosing(e);
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        protected override void OnClosing(CancelEventArgs e)
        {
            if (_trader != null &amp;amp;&amp;amp; _trader.ExportState == ConnectionStates.Connected)
                _trader.StopExport();

            _myTradesWindow.Close();
            base.OnClosing(e);
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В версии S# 4.1.19.1 конструктор класса RealTimeEmulationTrader принимает еще и список портфелей, которыми он будет оперировать, кроме экземпляра коннектора.
Мы просто создаем список и в качестве элемента этого списка передаем портфель, который был выбран пользователем.&lt;/p&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        private void ConnectBtn_Click(object sender, RoutedEventArgs e)
        {
            if (!_isRealTimeTesting &amp;amp;&amp;amp; !_isHistoricalDataTesting)
                // создаем обычного трейдера
                _trader = new QuikTrader(QuikTerminal.GetDefaultPath());

            else if (_isRealTimeTesting)
                // создаем RealTimeEmulationTrader для тестирования на рыночных данных
                _trader = new RealTimeEmulationTrader&amp;lt;QuikTrader&amp;gt;(new QuikTrader(QuikTerminal.GetDefaultPath()));

            else if (_isHistoricalDataTesting)
            {
                // создаем хранилище
                var storage = new StorageRegistry();

                // указываем путь к хранилищу
                ((LocalMarketDataDrive) storage.DefaultDrive).Path = @&amp;quot;C:\HistoryData&amp;quot;;
                ((LocalMarketDataDrive) storage.DefaultDrive).UseAlphabeticPath = true;

                // создаем инструмент для тестирования
                _security = new Security
                    {
                        Id = &amp;quot;RIU3@FORTS&amp;quot;,
                        Code = &amp;quot;RIU3&amp;quot;,
                        Name = &amp;quot;RTS-9.13&amp;quot;,
                        MinStepSize = 10,
                        MinStepPrice = 2,
                        ExchangeBoard = ExchangeBoard.Forts
                    };

                // создаем портфель для тестирования
                _portfolio = new Portfolio {Name = &amp;quot;test account&amp;quot;};

                // создаем EmulationTrader для тестирования на исторических данных
                _trader = new EmulationTrader(new[] {_security}, new[] {_portfolio})
                    {
                        StorageRegistry = storage,                  // передаем хранилище EmulationTrader
                        MarketTimeChangedInterval = _timeFrame,     // указываем интервал прихода события о смене времени
                        UseMarketDepth = true,                      // указываем использовать стаканы для эмуляции
                        UseCandlesTimeFrame = _timeFrame            // загружаем свечи с указаным тайм - фрэймом
                    };

                // если данные по стаканам отсутствуют,
                // генерируем стакан для эмуляции на основании 
                // цен последних сделок или свечек
                var mdGenerator = new TrendMarketDepthGenerator(_security)
                    {
                        Interval = TimeSpan.FromSeconds(1),     // время обновления стакана
                        MaxAsksDepth = 1,                       // максимальное количество асков в стакане
                        MaxBidsDepth = 1,                       // максимальное количество бидов в стакане
                        UseTradeVolume = true,                  // использовать обьем последней сделки для генерации обьема лучших котировок
                        MaxSpreadStepCount = 5,                 // максимальный размер спрэда
                        MinSpreadStepCount = 2                  // минимальный размер спрэда
                    };

                // регистрируем стакан
                ((EmulationTrader) _trader).RegisterMarketDepth(mdGenerator);
            }

            _trader.NewSecurities += securities =&amp;gt; this.GuiAsync(() =&amp;gt; MySecurities.ItemsSource = securities);

            _trader.NewPortfolios += portfolios =&amp;gt; this.GuiAsync(() =&amp;gt; MyPortfolios.ItemsSource = portfolios);

            _trader.NewOrders += orders =&amp;gt; this.GuiAsync(() =&amp;gt; _myTradesWindow.MyOrders.Orders.AddRange(orders));

            _trader.Connected += _trader.StartExport;

            _trader.Connect();
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        private void ConnectBtn_Click(object sender, RoutedEventArgs e)
        {
            if (!_isRealTimeTesting &amp;amp;&amp;amp; !_isHistoricalDataTesting)
                // создаем обычного трейдера
                _trader = new QuikTrader(QuikTerminal.GetDefaultPath());

            else if (_isRealTimeTesting)
                // создаем RealTimeEmulationTrader для тестирования на рыночных данных
                _trader = new RealTimeEmulationTrader(new QuikTrader(QuikTerminal.GetDefaultPath()), 
                    new List&amp;lt;Portfolio&amp;gt; { (Portfolio)MyPortfolios.SelectedItem });

            else if (_isHistoricalDataTesting)
            {
                // создаем хранилище
                var storage = new StorageRegistry();

                // указываем путь к хранилищу
                ((LocalMarketDataDrive) storage.DefaultDrive).Path = @&amp;quot;C:\HistoryData&amp;quot;;
                ((LocalMarketDataDrive) storage.DefaultDrive).UseAlphabeticPath = true;

                // создаем инструмент для тестирования
                _security = new Security
                    {
                        Id = &amp;quot;RIU3@FORTS&amp;quot;,
                        Code = &amp;quot;RIU3&amp;quot;,
                        Name = &amp;quot;RTS-9.13&amp;quot;,
                        MinStepSize = 10,
                        MinStepPrice = 2,
                        ExchangeBoard = ExchangeBoard.Forts
                    };

                // создаем портфель для тестирования
                _portfolio = new Portfolio {Name = &amp;quot;test account&amp;quot;};

                // создаем EmulationTrader для тестирования на исторических данных
                _trader = new EmulationTrader(new[] {_security}, new[] {_portfolio})
                    {
                        StorageRegistry = storage,                  // передаем хранилище EmulationTrader
                        MarketTimeChangedInterval = _timeFrame,     // указываем интервал прихода события о смене времени
                        UseMarketDepth = true,                      // указываем использовать стаканы для эмуляции
                        UseCandlesTimeFrame = _timeFrame            // загружаем свечи с указаным тайм - фрэймом
                    };

                // если данные по стаканам отсутствуют,
                // генерируем стакан для эмуляции на основании 
                // цен последних сделок или свечек
                var mdGenerator = new TrendMarketDepthGenerator(_security)
                    {
                        Interval = TimeSpan.FromSeconds(1),     // время обновления стакана
                        MaxAsksDepth = 1,                       // максимальное количество асков в стакане
                        MaxBidsDepth = 1,                       // максимальное количество бидов в стакане
                        UseTradeVolume = true,                  // использовать обьем последней сделки для генерации обьема лучших котировок
                        MaxSpreadStepCount = 5,                 // максимальный размер спрэда
                        MinSpreadStepCount = 2                  // минимальный размер спрэда
                    };

                // регистрируем стакан
                ((EmulationTrader) _trader).RegisterMarketDepth(mdGenerator);
            }

            _trader.NewSecurities += securities =&amp;gt; this.GuiAsync(() =&amp;gt; MySecurities.ItemsSource = securities);

            _trader.NewPortfolios += portfolios =&amp;gt; this.GuiAsync(() =&amp;gt; MyPortfolios.ItemsSource = portfolios);

            _trader.NewOrders += orders =&amp;gt; this.GuiAsync(() =&amp;gt; _myTradesWindow.MyOrders.Orders.AddRange(orders));

            _trader.Connected += _trader.StartExport;

            _trader.Connect();
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Версия 4.1.19 требует явного указания размера начальной позиции портфеля, на момент тестирования, иначе, просто не будет хватать средств для выполнения тестирования.
Было:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
// создаем портфель для тестирования
_portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot;};

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
// создаем портфель для тестирования
_portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot;, BeginValue = 1000000};

&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29949/</id>
    <title type="text">Ребята, верните доступ к курсам. Не одно видео не отображается не из S#, не из C#. </title>
    <published>2014-03-11T08:34:26Z</published>
    <updated>2014-03-11T08:34:26Z</updated>
    <author>
      <name>Николай</name>
      <uri>https://stocksharp.com/users/6060/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Ребята, верните доступ к курсам.&lt;/p&gt;
&lt;p&gt;Не одно видео не отображается не из S#, не из C#.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29708/</id>
    <title type="text">Здравствуйте! Предыдущий вопрос по историческому тестированию снимается. Скачал с сайта версию 4.2.2...</title>
    <published>2014-02-20T17:16:11Z</published>
    <updated>2014-02-20T17:16:11Z</updated>
    <author>
      <name>whitebar</name>
      <uri>https://stocksharp.com/users/50662/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Здравствуйте!
Предыдущий вопрос по историческому тестированию снимается.
Скачал с сайта версию 4.2.2.15, все заработало.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29607/</id>
    <title type="text">Здравствуйте! С помощью Гидры скачал сделки и свечи по Сбербанку с сайта Финама за 2013-й и 2014-й г...</title>
    <published>2014-02-17T06:18:40Z</published>
    <updated>2014-02-17T06:18:40Z</updated>
    <author>
      <name>whitebar</name>
      <uri>https://stocksharp.com/users/50662/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Здравствуйте!&lt;/p&gt;
&lt;p&gt;С помощью Гидры скачал сделки и свечи по Сбербанку с сайта Финама за 2013-й и 2014-й года.
Взял пример SampleHistoryTesting из StockSharp 4.2.2.6, в коде окна MainWindow.xaml.cs поменял инструмент с RIZ2@FORTS на SBER@EQBR.&lt;/p&gt;
&lt;p&gt;Поменял даты начала и окончания тестирования на соответствующие загруженной истории.
Запустил тестирование на тиках, нет не одной сделки.
Такое впечатление, что HistoryEmulationTrader вообще не видит историю.&lt;/p&gt;
&lt;p&gt;И еще один момент.
Когда Гидра показывает мне список загруженных сделок за дату, направление сделок (Buy/Sell) пустое.
Это нормально, особенность Гидры, изменения на стороне Финама?&lt;/p&gt;
&lt;p&gt;Кто нибудь сталкивался с подобным?
Подскажите, пожалуйста, в какую сторону копать.&lt;/p&gt;
&lt;p&gt;Спасибо!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29321/</id>
    <title type="text">lebedevsrg: Прошу сообшить как в версии API 4.2.1.7 правильно создать TrendMarketDepthGenerator. _co...</title>
    <published>2014-01-25T12:17:20Z</published>
    <updated>2014-01-25T12:17:20Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(29317)" rel="nofollow" target="_blank"&gt;lebedevsrg&lt;/a&gt;:&lt;/strong&gt;
Прошу сообшить как в версии API 4.2.1.7 правильно создать TrendMarketDepthGenerator.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;_connector.RegisterTrades(new RandomWalkTradeGenerator(_connector.GetSecurityId(security)));
_connector.RegisterMarketDepth(new TrendMarketDepthGenerator(_connector.GetSecurityId(security)) { GenerateDepthOnEachTrade = false });
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29317/</id>
    <title type="text">В версии API 4.2.1.7 уже не работает конструктов класса TrendMarketDepthGenerator с параметром Secur...</title>
    <published>2014-01-25T10:47:32Z</published>
    <updated>2014-01-25T10:49:26Z</updated>
    <author>
      <name>JaguarFX</name>
      <uri>https://stocksharp.com/users/49779/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В версии API 4.2.1.7 уже не работает конструктов класса TrendMarketDepthGenerator с параметром Security, как это указано в примере для версии 4.1.19.1:var mdGenerator = new TrendMarketDepthGenerator(_security)&lt;/p&gt;
&lt;p&gt;Согласно описанию конструктор требует объект типа StockSharp.Messages.SecurityId:&lt;br /&gt;
public TrendMarketDepthGenerator(StockSharp.Messages.SecurityId securityId)&lt;/p&gt;
&lt;p&gt;Но наиболее очевидный вариант создания этого объекта, который вроде не вызывает ошибок с т.зр. VS2012:
var mdGenerator = new TrendMarketDepthGenerator(new SecurityId(_security));
в дальнейшем при попытке зарегистрировать стакан в трейдере через метод RegisterMarketDepth(mdGenerator) дает ошибку {&amp;quot;Значение не может быть неопределенным.\r\nИмя параметра: secCode&amp;quot;}.
См. принт-скрин.&lt;/p&gt;
&lt;p&gt;Прошу сообшить как в версии API 4.2.1.7 правильно создать TrendMarketDepthGenerator.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28744/</id>
    <title type="text">Иван, спасибо. Действительно данное изменение помогло. </title>
    <published>2013-12-24T06:56:52Z</published>
    <updated>2013-12-24T06:56:52Z</updated>
    <author>
      <name>Николай</name>
      <uri>https://stocksharp.com/users/6060/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Иван, спасибо. Действительно данное изменение помогло.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28716/</id>
    <title type="text">Николай, причина была в том, что на торги не хватало средств в портфеле: // создаем портфель для тес...</title>
    <published>2013-12-22T08:05:04Z</published>
    <updated>2013-12-22T08:05:04Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.com/users/26984/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Николай, причина была в том, что на торги не хватало средств в портфеле:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
// создаем портфель для тестирования
_portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot;};

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;если изменить:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
// создаем портфель для тестирования
_portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot;, BeginValue = 1000000};

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Либо по новой закачайте проект с сервера, там он исправлен, либо сами измените так, как показано выше.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28694/</id>
    <title type="text">Иван, проблема как раз именно в проекте из урока S# номер 8 (08_lesson(Testing)). Я запускаю именно ...</title>
    <published>2013-12-20T06:59:41Z</published>
    <updated>2013-12-20T07:02:16Z</updated>
    <author>
      <name>Николай</name>
      <uri>https://stocksharp.com/users/6060/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Иван, проблема как раз именно в проекте из урока S# номер 8 (08_lesson(Testing)).&lt;/p&gt;
&lt;p&gt;Я запускаю именно проект, скаченные из StockSharp.Edu и меняю лишь путь данных на мой.&lt;/p&gt;
&lt;p&gt;Я об этом уже писал чуть выше.&lt;/p&gt;
&lt;p&gt;Запустить пример из Samples не получилось, не нашел библиотеку StockSharp.Messages, но посмотрев код она не особо отличается от того что в уроке 8.&lt;/p&gt;
&lt;p&gt;Поэтому вопрос остается актуален.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28685/</id>
    <title type="text">Николай: Может кто подсказать, почему при тестировании стратегии на исторических данных не совершают...</title>
    <published>2013-12-19T15:11:10Z</published>
    <updated>2013-12-19T15:11:10Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.com/users/26984/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(28684)" rel="nofollow" target="_blank"&gt;Николай&lt;/a&gt;:&lt;/strong&gt;
Может кто подсказать, почему при тестировании стратегии на исторических данных не совершаются сделки?&lt;/p&gt;
&lt;p&gt;Более детальный анализ показал, что стратегия срабатывает и выставляет заявки тогда когда нужно, однако после этого в статусе появляется состояние &amp;quot;Ошибка&amp;quot;. После чего все повторяется, когда стратегия срабатывает во второй и последующие разы. При этом номер у заявок у всех 0.&lt;/p&gt;
&lt;p&gt;Буду благодарен за ответ. Дальше как-то тяжело разбираться, когда пример из урока не отрабатывает.&lt;/p&gt;
&lt;p&gt;С уважением,
Николай.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Вы пробовали работать с проектами, предложенными в качестве примеров библиотеки S# или проектов из уроков S#? Там такие проблемы есть?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28684/</id>
    <title type="text">Может кто подсказать, почему при тестировании стратегии на исторических данных не совершаются сделки...</title>
    <published>2013-12-19T06:58:58Z</published>
    <updated>2013-12-19T06:58:58Z</updated>
    <author>
      <name>Николай</name>
      <uri>https://stocksharp.com/users/6060/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Может кто подсказать, почему при тестировании стратегии на исторических данных не совершаются сделки?&lt;/p&gt;
&lt;p&gt;Более детальный анализ показал, что стратегия срабатывает и выставляет заявки тогда когда нужно, однако после этого в статусе появляется состояние &amp;quot;Ошибка&amp;quot;. После чего все повторяется, когда стратегия срабатывает во второй и последующие разы. При этом номер у заявок у всех 0.&lt;/p&gt;
&lt;p&gt;Буду благодарен за ответ. Дальше как-то тяжело разбираться, когда пример из урока не отрабатывает.&lt;/p&gt;
&lt;p&gt;С уважением,
Николай.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28665/</id>
    <title type="text">Добрый день. Я скачал данный урок и запустил на выполнение на тестовых данных (предварительно скачав...</title>
    <published>2013-12-16T11:13:03Z</published>
    <updated>2013-12-16T11:13:03Z</updated>
    <author>
      <name>Николай</name>
      <uri>https://stocksharp.com/users/6060/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день.&lt;/p&gt;
&lt;p&gt;Я скачал данный урок и запустил на выполнение на тестовых данных (предварительно скачав данные с помощью Hydra за 01.07.2013 по 12.07.2013) и изменил путь в программе на мой.&lt;/p&gt;
&lt;p&gt;При отработке программы на графике PnL ничего не отображается. Захожу в MyTrades (Отдельное окно)  и вижу, что сделок у меня нет вообще( верхняя половина окошка), а в нижней много информации по заявкам, однако у всех у них статус &amp;quot;Ошибка&amp;quot;.&lt;/p&gt;
&lt;p&gt;Пример из второго окна MyTradesWindow:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;0	54363801	08.07.2013 18:15:00	test account	1	1	126470	Покупка Лимитированная Ошибка  18:15:00		

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Подскажите в чем может быть дело и почему не происходят сделки?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27158/</id>
    <title type="text">Для этого достаточно подключиться к tfs через Visual studio и скачать проект shell. Скачал, сам не п...</title>
    <published>2013-08-27T03:43:56Z</published>
    <updated>2013-08-27T03:44:21Z</updated>
    <author>
      <name>Prival</name>
      <uri>https://stocksharp.com/users/39245/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;&lt;strong&gt;Для этого достаточно подключиться к tfs через Visual studio и скачать проект shell.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Скачал, сам не понял как но вроде получилось. Есть ли видео урок посвященный использованию Robot 4.0 ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Информация о статистике доступна на этой странице &lt;a href="http://stocksharp.com/do...harp_Algo_Statistics.htm"&gt;http://stocksharp.com/do...harp_Algo_Statistics.htm&lt;/a&gt;
Также вы можете самостоятельно закодировать необходимую вам метрику и сравнить её с нашей что бы убедиться, что всё рассчитывается правильно, если же значения будут сильно расходиться то вы можете использовать свою реализацию.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;не смог там найти  MFE, MAE  и примеров их использования. Вообще примеров очень мало. Было бы великолепно увидеть несколько уроков посвященных построению роботов и поиску оптимальных значений.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Контроль за нахождением оптимально значения для стратегии находится полностью в ваших руках, то есть вы самостоятельно можете реализовать нужный алгоритм поиска оптимального значения.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Очень рад что Ваша вера в меня, столь огромна. Но я только изучаю С# (хотя и программирую роботов очень давно). Писать на С# генетическую оптимизацию даже не мечтаю. Но возможно эта ссылка поможет тем кто может это сделать
&lt;a href="http://www.mql5.com/ru/articles/55" rel="nofollow" target="_blank"&gt;http://www.mql5.com/ru/articles/55&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Для этого достаточно сделать стратегию основанную не на TimeFrameCandle , а на RenkoCandle&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;А как увидеть эти графики ? Очень интересует RenkoCandle, как он реализован ? последний бар перерисовывается или нет ? как происходит его построение во время ГЭПа ? Есть ли кирпичи с нулевым объемом ? Кирпичи перекрываются, накладываются друг на друга или идут с гэпом ?  и т.д.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Как я уже говорил у вас есть полный контроль за нахождение оптимально значения. Соответственно вы можете самостоятельно реализовать любую целевую функцию для нахождения оптимальных параметров.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Жизни не хватит, мне и так уже 48 лет и первую свою программу я написал в 1985 году (28 лет назад :-(().&lt;/p&gt;
&lt;p&gt;З.Ы. Я четко знаю что я хочу запрограммировать. могу показать как это реализовано в NinjaTrader (исходные коды + математику, как это я делал в МТ4 и МТ5). Но даже после просмотра всех видео уроков не представляю как это сделать на С#(((&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27146/</id>
    <title type="text">Куда идти и что нажимать, что бы получить указанные вами картинки и их исходные коды http://stocksha...</title>
    <published>2013-08-26T10:49:38Z</published>
    <updated>2013-08-26T10:49:38Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.com/users/6156/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;&lt;strong&gt;Куда идти и что нажимать, что бы получить указанные вами картинки и их исходные коды &lt;a href="http://stocksharp.com/products/shell/"&gt;http://stocksharp.com/products/shell/&lt;/a&gt;
к сожалению повторить весь код что был приведен на уроке не смог, к тому же он отличается от того что приведен по ссылке (картинки точно другие)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Для этого достаточно подключиться к tfs через Visual studio и скачать проект shell.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Где и как прочитать что выводиться там на картинках? (очень часто встречал что многие параметры разработчики считают по разному)&lt;/strong&gt;
Информация о статистике доступна на этой странице &lt;a href="http://stocksharp.com/doc/html/N_StockSharp_Algo_Statistics.htm"&gt;http://stocksharp.com/doc/html/N_StockSharp_Algo_Statistics.htm&lt;/a&gt;
Также вы можете самостоятельно закодировать необходимую вам метрику и сравнить её с нашей что бы убедиться, что всё рассчитывается правильно, если же значения будут сильно расходиться то вы можете использовать свою реализацию.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Как при тестировании найти оптимальные параметры стратегии ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Контроль за нахождением оптимально значения для стратегии находится полностью в ваших руках, то есть вы самостоятельно можете реализовать нужный алгоритм поиска оптимального значения.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Как протестировать стратегию, не на свечках, а к примеру на графике ренко и найти оптимальные параметры стратегии ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Для этого достаточно сделать стратегию основанную не на &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Algo_Candles_TimeFrameCandle.htm"&gt;TimeFrameCandle &lt;/a&gt;, а на &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Algo_Candles_RenkoCandle.htm"&gt;RenkoCandle &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Как при тестировании и поиске оптимальный параметров указать, свою целевую функцию и искать её максимум (минимум), к примеру max(MAE)
и т. д.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Как я уже говорил у вас есть полный контроль за нахождение оптимально значения. Соответственно вы можете самостоятельно реализовать любую целевую функцию для нахождения оптимальных параметров.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27134/</id>
    <title type="text">Подключился к проекту И что там делать ? Куда идти и что нажимать, что бы получить указанные вами ка...</title>
    <published>2013-08-25T18:56:36Z</published>
    <updated>2013-08-25T19:00:45Z</updated>
    <author>
      <name>Prival</name>
      <uri>https://stocksharp.com/users/39245/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Подключился к проекту
&lt;a href="http://fastpic.ru/" rel="nofollow" target="_blank"&gt;&lt;img src="http://i59.fastpic.ru/big/2013/0825/6f/349df32d3db969608c6af4b8c5c48e6f.png" alt="" /&gt;&lt;/a&gt;
И что там делать ?
Куда идти и что нажимать, что бы получить указанные вами картинки и их исходные коды &lt;a href="http://stocksharp.com/products/shell/"&gt;http://stocksharp.com/products/shell/&lt;/a&gt;
к сожалению повторить весь код что был приведен на уроке не смог, к тому же он отличается от того что приведен по ссылке (картинки точно другие)&lt;/p&gt;
&lt;p&gt;Где и как прочитать что выводиться там на картинках? (очень часто встречал что многие параметры разработчики считают по разному)
Как при тестировании найти оптимальные параметры стратегии ?
Как протестировать стратегию, не на свечках, а к примеру на графике ренко и найти оптимальные параметры стратегии ?
Как при тестировании  и поиске оптимальный параметров указать, свою целевую функцию и искать её максимум (минимум), к примеру max(MAE)
и т. д.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26805/</id>
    <title type="text">Господа, похоже были какие-то проблемы у меня в браузере или куках. Проблема пропала когда я разлоги...</title>
    <published>2013-07-24T20:20:55Z</published>
    <updated>2013-07-24T20:20:55Z</updated>
    <author>
      <name>albion8</name>
      <uri>https://stocksharp.com/users/5940/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Господа,
похоже были какие-то проблемы у меня в браузере или куках. Проблема пропала когда я разлогинился и залогинился снова. Прошу прощения за ложную тревогу ))&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26794/</id>
    <title type="text">albion8: Добрый день. нет доступа к вложенному файлу (проект) для моего логина. Проверьте, пожалуйст...</title>
    <published>2013-07-24T08:23:57Z</published>
    <updated>2013-07-24T08:23:57Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.com/users/675/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(26778)" rel="nofollow" target="_blank"&gt;albion8&lt;/a&gt;:&lt;/strong&gt;
Добрый день.&lt;/p&gt;
&lt;p&gt;нет доступа к вложенному файлу (проект) для моего логина. Проверьте, пожалуйста.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Все права доступа у Вас есть. Очень странно.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26778/</id>
    <title type="text">Добрый день. нет доступа к вложенному файлу (проект) для моего логина. Проверьте, пожалуйста. </title>
    <published>2013-07-23T19:21:51Z</published>
    <updated>2013-07-23T19:21:51Z</updated>
    <author>
      <name>albion8</name>
      <uri>https://stocksharp.com/users/5940/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день.&lt;/p&gt;
&lt;p&gt;нет доступа к вложенному файлу (проект) для моего логина. Проверьте, пожалуйста.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>