﻿<?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">Удаление неиспользуемых свечей из CandleSeries</title>
  <id>~/topic/3736/udalenie-neispolzuemyh-svechei-iz-candleseries/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-10T05:48:47Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3736" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/26244/</id>
    <title type="text">IIndicatorContainer</title>
    <published>2013-06-04T11:23:45Z</published>
    <updated>2013-06-04T11:23:45Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">IIndicatorContainer</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26240/</id>
    <title type="text">Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа этого. Чтобы посмотрет...</title>
    <published>2013-06-03T17:13:21Z</published>
    <updated>2013-06-03T17:13:21Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.ru/posts/m/26195/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAiKfMI3ZVSBoAXeJfDFRtYpRIxyh1zbWEBBxZNfhXbvAzU1OuMaohqDBi5YJhldUA" title="http://www.jetbrains.com/profiler/"&gt;этого&lt;/a&gt;. &lt;br /&gt;Чтобы посмотреть куда память утекает.&lt;br /&gt;На форуме уже поднимался этот вопрос и не раз, что течет. &lt;br /&gt;Вроде фиксили, но возможно недофиксили.[laugh] &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Память стала утекать, когда логику работы стратегии перестроил с использованием CandleManager и индикаторов (до этого без них обходился). Следующую модификацию стратегии стелал без CandleManager, но с индикаторами. И память все равно в моем случае утекала. Сейчас сделал свою упрощенную реализацию индикатора без реализации IIndicator. С памятью стало все нормально. В моем случае проблема с утечкой памяти была в использовании индикатора SimpleMovingAverage.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26198/</id>
    <title type="text">Тесту приходится перебирать все тики, за 9 месяцев. Их сколько? И сколько обычный foreach их перебир...</title>
    <published>2013-05-31T15:26:56Z</published>
    <updated>2013-05-31T15:26:56Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Иван З. &lt;a href="https://stocksharp.ru/posts/m/26196/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Тесту приходится перебирать все тики, за 9 месяцев. Их сколько? И сколько обычный foreach их перебирать будет?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Свечи строятся на основе MarketDepth. Может еще в этом проблема.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26197/</id>
    <title type="text">Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа этого. Чтобы посмотрет...</title>
    <published>2013-05-31T15:23:03Z</published>
    <updated>2013-05-31T15:23:03Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.ru/posts/m/26195/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAiKfMI3ZVSBoAXeJfDFRtYpRIxyh1zbWEBBxZNfhXbvAzU1OuMaohqDBi5YJhldUA" title="http://www.jetbrains.com/profiler/"&gt;этого&lt;/a&gt;. &lt;br /&gt;Чтобы посмотреть куда память утекает.&lt;br /&gt;На форуме уже поднимался этот вопрос и не раз, что течет. &lt;br /&gt;Вроде фиксили, но возможно недофиксили.[laugh] &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Думал уже над этим. И профилировщик именно этот поставил. Я так понимаю, что чтобы что-то увидеть в профилировщике, нужны *.pdb файлы от стокшарп сборок. У меня их нет. Если только компилировать по открытым исходникам. Но они устаревшей версии.  Пока не заморачивался с этим.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26196/</id>
    <title type="text">Тесту приходится перебирать все тики, за 9 месяцев. Их сколько? И сколько обычный foreach их перебир...</title>
    <published>2013-05-31T15:17:44Z</published>
    <updated>2013-05-31T15:17:44Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Тесту приходится перебирать все тики, за 9 месяцев. Их сколько? И сколько обычный foreach их перебирать будет?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26195/</id>
    <title type="text">Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа этого. Чтобы посмотрет...</title>
    <published>2013-05-31T15:16:18Z</published>
    <updated>2013-05-31T15:16:18Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAiKfMI3ZVSBoAXeJfDFRtYpRIxyh1zbWEBBxZNfhXbvAzU1OuMaohqDBi5YJhldUA" title="http://www.jetbrains.com/profiler/"&gt;этого&lt;/a&gt;. &lt;br /&gt;Чтобы посмотреть куда память утекает.&lt;br /&gt;На форуме уже поднимался этот вопрос и не раз, что течет. &lt;br /&gt;Вроде фиксили, но возможно недофиксили.[laugh] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26194/</id>
    <title type="text">А что не получилось то? Я взял тики создал из них свечки по 1 секунде, установил _candleManager.Cont...</title>
    <published>2013-05-31T15:11:21Z</published>
    <updated>2013-05-31T15:11:21Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Иван З. &lt;a href="https://stocksharp.ru/posts/m/26193/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;А что не получилось то? &lt;br /&gt;Я взял тики создал из них свечки по 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;
_candleManager.Container.CandlesKeepTime = TimeSpan.FromMinutes(1);&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;
var W = candleSeries.GetCandles&amp;lt;Candle&amp;gt;().ToList();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;каждый шаг смотрю, что с коллекцией, больше 60 свечей не показывает, и по времени они нормальные.&lt;br /&gt;Или вы что то другое рассчитывали получить?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ограничение по количеству свечей работает. По прежнему большой расход памяти: 32ГБ потребляются полностью и, после того как 32ГБ исчерпаны, тестирование происходит очень медленно. Использую в тестировании BasketTrader. Включаю в него 10 экземпляров EmulationTrader. Тестирую период в 9 месяцев. Свечи строю двух таймфреймов: в несколько секунд и несколько минут.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26193/</id>
    <title type="text">А что не получилось то? Я взял тики создал из них свечки по 1 секунде, установил _candleManager.Cont...</title>
    <published>2013-05-31T14:55:50Z</published>
    <updated>2013-05-31T14:55:50Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">А что не получилось то? &lt;br /&gt;Я взял тики создал из них свечки по 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;
_candleManager.Container.CandlesKeepTime = TimeSpan.FromMinutes(1);&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;
var W = candleSeries.GetCandles&amp;lt;Candle&amp;gt;().ToList();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;каждый шаг смотрю, что с коллекцией, больше 60 свечей не показывает, и по времени они нормальные.&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.ru/posts/m/26192/</id>
    <title type="text">Не помогло. Пока не знаю что делать. То ли разбираться в кодах стокшарпа, то ли свой CandleManager р...</title>
    <published>2013-05-31T14:04:20Z</published>
    <updated>2013-05-31T14:04:20Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Не помогло. Пока не знаю что делать. То ли разбираться в кодах стокшарпа, то ли свой CandleManager реализовывать.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26185/</id>
    <title type="text">В днях это так выглядит: _candleManager.Container.CandlesKeepTime = TimeSpan.FromDays(2); В минутах ...</title>
    <published>2013-05-31T00:31:31Z</published>
    <updated>2013-05-31T00:31:31Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">В днях это так выглядит:&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;
_candleManager.Container.CandlesKeepTime = TimeSpan.FromDays(2);&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;
_candleManager.Container.CandlesKeepTime = TimeSpan.FromMinutes(1);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Попробуйте я не проверял.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26183/</id>
    <title type="text">Попробовал начать использовать в своей стратегии CandleManager и CandleSeries. Время тестирования ув...</title>
    <published>2013-05-30T20:48:39Z</published>
    <updated>2013-05-30T20:48:39Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Попробовал начать использовать в своей стратегии CandleManager и CandleSeries.&lt;br /&gt;Время тестирования увеличилось в несколько раз. Памяти 32ГБ уже не хватает.&lt;br /&gt;Предполагаю, что память расходуется на хранение свечей (у меня таймфрейм 1 сек на данных за 9 месяцев).&lt;br /&gt;В CandleSeries мне нужны свечи только за последнюю минуту.&lt;br /&gt;Подскажите, есть ли способ удалять ненужные свечи из CandleSeries? &lt;br /&gt;Инициализирую так:&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_060ea619aad34b40bf167698d3fb8c1a');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_060ea619aad34b40bf167698d3fb8c1a' 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;

                var trader = new MyEmulationTrader(
                    new[] {security},
                    new[] {portfolio},
                    _storageRegistry)
                    {
                        UseMarketDepth = true,
                        StorageRegistry = _storageRegistry,
                        AutoResetEvent = new AutoResetEvent(false),
                    };                
                trader.Connect();
                var quickCandleManager = new CandleManager(trader);
                quickCandleManager.Sources.Add(new MyTimeFrameCandleBuilder() { Sources = { new MarketDepthCandleBuilderSource(trader) } });
                var quickCangleSeries = new CandleSeries(typeof(MyCandle), security, paramCombination.QuickTimeFrame);
                quickCandleManager.Start(quickCangleSeries);

                var slowCandleManager = new CandleManager(trader);
                slowCandleManager.Sources.Add(new MyTimeFrameCandleBuilder() { Sources = { new MarketDepthCandleBuilderSource() } });
                var slowCangleSeries = new CandleSeries(typeof(MyCandle), security, paramCombination.SlowTimeFrame);
                slowCandleManager.Start(slowCangleSeries);

                trader.StartExport();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>