﻿<?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">Тестирование на свечках.</title>
  <id>~/topic/3337/testirovanie-na-svechkah_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T23:00:23Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3337" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/23672/</id>
    <title type="text">Здравствуйте! Загрузил 4.1.7. Очень хотелось тестирование на свечках поиспытывать. И натолкнулся на ...</title>
    <published>2013-01-30T13:48:29Z</published>
    <updated>2013-02-17T04:57:26Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Здравствуйте! Загрузил 4.1.7. Очень хотелось тестирование на свечках поиспытывать. И натолкнулся на следующую проблемку. Свечки, приходящие при тестировании не соответствуют действительности. Стал экспериментировать, выводя свечи на график. Вывел один день 2012.01.03 на график, через гидру двумя способами с постройкой свечек из сделок и без постройки, графика получились одинаковыми. А вот график, который я строю при тестировании на свечах от них отличается. А количество свечей 10 минуток(на них экспериментировал) за весь 2012год при тестировании, приходит больше чем в гидре создается, хоть с постройкой свечек из сделок хоть без постройки. Может, кто то уже тестировал на свечках, проблем не возникало? Ошибиться то вроде негде...&lt;br /&gt;Код получения графика.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
       private void Test_Click(object sender, RoutedEventArgs e)
        {
            var timeFrame = TimeSpan.FromMinutes(10);

            // хранилище, через которое будет производиться доступ к тиковой и котировочной базе
            var storageRegistry = new StorageRegistry();

            // изменяем путь, используемый по умолчанию
            ((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = PathStorage;

            // используем алфавитное хранилище
            ((LocalMarketDataDrive)storageRegistry.DefaultDrive).UseAlphabeticPath = true;

            var startTime = new DateTime(2012, 1, 1);
            var stopTime = new DateTime(2012, 1, 3);

            // задаем шаг ProgressBar
            var progressStep = ((stopTime - startTime).Ticks / 100).To&amp;lt;TimeSpan&amp;gt;();

                // создаем тестовый инструмент, на котором будет производится тестирование
                var security = SelectedSecurity;

                // тестовый портфель
                var portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot; };

                // создаем шлюз для эмуляции
                // инициализируем настройки (инструмент в истории обновляется раз в секунду)
                var trader = new EmulationTrader(new[] { security },new[] { portfolio })
                {
                    MarketTimeChangedInterval = timeFrame,
                    StorageRegistry = storageRegistry,

                    // использовать свечки
                    UseCandlesTimeFrame = timeFrame,
                };

                trader.Connect();
                trader.StartExport();

                var candleManager = new CandleManager(trader);
                var series = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);
                InitChart();
                candleManager.Processing += DrawCandles;
                candleManager.Start(series);

                var nextTime = startTime + progressStep;

                // и подписываемся на событие изменения времени, чтобы обновить ProgressBar
                trader.MarketTimeChanged += d =&amp;gt;
                {
                    if (trader.CurrentTime &amp;gt;= nextTime || trader.CurrentTime &amp;gt;= stopTime)
                    {
                        nextTime += progressStep;
                        this.GuiAsync(() =&amp;gt; ProgressBar.Value++);
                    }
                };

                trader.StateChanged += (oldState, newState) =&amp;gt;
                {
                    if (trader.State == EmulationStates.Stopped)
                    {
                        this.GuiAsync(() =&amp;gt;
                        {
                            if (trader.IsFinished)
                            {
                                ProgressBar.Value = ProgressBar.Maximum;
                                MessageBox.Show(&amp;quot;Закончено за &amp;quot; + (DateTime.Now - _startEmulationTime));
                            }
                            else
                                MessageBox.Show(&amp;quot;Отменено&amp;quot;);
                        });
                    }
                    
                };

            trader.Start(startTime, stopTime);

            _startEmulationTime = DateTime.Now;

        }
        private void DrawCandles(CandleSeries series, Candle candle)
        {
            if (candle.State == CandleStates.Finished)
            {
                this.GuiAsync(
                    () =&amp;gt; _chartWindow.Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                        {
                            {_candlesElem, candle},
                        }));
            }
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23866/</id>
    <title type="text">кстати источник версии 4.1.7 не видит только свечи, а тики видит, так что дело может быть и в пути. ...</title>
    <published>2013-02-07T13:34:28Z</published>
    <updated>2013-02-08T00:22:21Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">кстати источник версии 4.1.7 не видит только свечи, а тики видит, так что дело может быть и в пути. Добавте первую букву наименования инструмента, например &lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
private const string PathStorage = @&amp;quot;C:\History\S&amp;quot;;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Это для SPFB.RTS@RTS</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23865/</id>
    <title type="text">Гидра версией до 4.1.7 закачивала свечи и сохраняла в файл типа candles_Candle_1.00_00_00dates.bin, ...</title>
    <published>2013-02-07T13:26:05Z</published>
    <updated>2013-02-07T13:26:05Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Гидра версией до 4.1.7 закачивала свечи и сохраняла в файл типа candles_Candle_1.00_00_00dates.bin, а Гдра версией с 4.1.7 сохраняет в файл типа candles_TimeFrameCandle_00-01-00dates.bin. Т.е. история закачанная гидрой версии до 4.1.7, источник версии 4.1.7 уже не видит. Проверте наличие свечек, а гидра строит график данного тф без построения свечек из тиков? Скайп есть, сечас поговорить не смогу.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23864/</id>
    <title type="text">4.1.8. Путь C:\C#Programs\Hystory2. В Hystory2 папки с инструментами. UseAlphabeticPath = false; Соб...</title>
    <published>2013-02-07T12:52:59Z</published>
    <updated>2013-02-07T12:53:50Z</updated>
    <author>
      <name>profts</name>
      <uri>https://stocksharp.com/users/6174/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">4.1.8.  &lt;br /&gt;Путь C:\C#Programs\Hystory2.  В Hystory2  папки с инструментами.  &lt;br /&gt;UseAlphabeticPath = false;    &lt;br /&gt;&lt;br /&gt;Собственно как может быть дело в пути, если свечки из тиков он формирует нормально, а готовые свечки по тому же пути брать не хочет.&lt;br /&gt;&lt;br /&gt;Иван, а есть скайп?  не могли бы помочь?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23863/</id>
    <title type="text">Версию S# какую используете? И путь к истории какой?</title>
    <published>2013-02-07T12:48:57Z</published>
    <updated>2013-02-07T12:48:57Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Версию S# какую используете? И путь к истории какой?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23862/</id>
    <title type="text">У меня вообще свечки не приходят. Код один в один. Свечки формировал гидрой от 4.1.2. Сегодня специа...</title>
    <published>2013-02-07T12:30:07Z</published>
    <updated>2013-02-07T12:30:07Z</updated>
    <author>
      <name>profts</name>
      <uri>https://stocksharp.com/users/6174/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">У меня вообще свечки не приходят. Код один в один.  Свечки формировал гидрой от 4.1.2.  Сегодня специально установил последнюю гидру 4.1.8, закачал сделки и свечки разных таймфреймов за месяц.  &lt;br /&gt;&lt;br /&gt;Убираю &amp;quot;UseCandlesTimeFrame = timeFrame&amp;quot; - свечки строятся и выводятся на график.  С этим параметром  прога моментально пишет &amp;quot;Закончено за...&amp;quot;, график пустой.  &lt;br /&gt;Как-будто не видит файлы с формированными свечами за данный период. &lt;br /&gt;Правило:&lt;br /&gt;&amp;quot;_series&lt;br /&gt;                .WhenCandlesFinished()&lt;br /&gt;                .Do(ProcessCandle)&lt;br /&gt;                .Apply(this);&amp;quot;    также не срабатывает ни разу. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23742/</id>
    <title type="text">Есть кое-какая проблема. Спасибо за фидбэк, разбераемся.</title>
    <published>2013-02-03T20:42:03Z</published>
    <updated>2013-02-03T20:42:03Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Есть кое-какая проблема. Спасибо за фидбэк, разбераемся.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>