﻿<?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/2829/poluchenie-svechki-realnogo-vremeni-ot-alfa-direkt/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-24T22:57:38Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2829" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/26446/</id>
    <title type="text">Почему с AlfaDirect выводятся график завершенные и последняя незавершенная свечи? В Quik такого нет,...</title>
    <published>2013-06-24T07:26:14Z</published>
    <updated>2013-06-24T07:26:35Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Почему с AlfaDirect выводятся  график завершенные и последняя незавершенная свечи? В Quik такого нет, при исполнении такого кода выводятся только завершенные свечи... Или это особенность терминала AlfaDirect?&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;
_series.ProcessCandle += candle =&amp;gt; 
                    {
                        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/26423/</id>
    <title type="text">Странно...Вернул всё в первоначальный вид, (топик #18), убрал проверку на IsFormed, ничего не измени...</title>
    <published>2013-06-21T18:14:32Z</published>
    <updated>2013-06-21T18:15:29Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Странно...Вернул всё в первоначальный вид, (топик #18), убрал проверку на IsFormed, ничего не изменилось...Всё также, как в топике #27. Я уже закипаю...&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_a6d21c96979a467ab59ead3544b71aab');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_a6d21c96979a467ab59ead3544b71aab' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
////////////////////////ОТРИСОВКА ИСТОРИЧЕСКИХ СВЕЧЕЙ/////////////////////////////////////////////////////////////////////

                        this.GuiAsync(() =&amp;gt;
                            {
                                foreach (var candle in candles)
                                {
                                    var valueBb = _chartBollingerElement.Indicator.Process(new CandleIndicatorValue(candle));
                                    var candle1 = candle;
                                    this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(candle1.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                    {
                                                        {_candlesElem, candle1},
                                                        {_chartBollingerElement, new ChartIndicatorValue(_chartBollingerElement.Indicator, valueBb)},
                                                    }));
                                }
                            });
                
                        ///////////ОТРИСОВКА РЕАЛЬНЫХ СВЕЧЕЙ/////////////////////////////////////////////////////////////////////
                
                        _candleManager = new CandleManager(_trader);
                        
                        _series = new CandleSeries(typeof(TimeFrameCandle), security, (TimeSpan)AlfaTimeFrames.Minute10);

                        _series.ProcessCandle += candle =&amp;gt; this.GuiAsync(() =&amp;gt;
                            {
                                if (candle.State == CandleStates.Finished)
                                {
                                    var valueBb = _chartBollingerElement.Indicator.Process(new CandleIndicatorValue(candle));
                                    this.GuiAsync(() =&amp;gt;_chartWindow.Chart.ProcessValues(candle.OpenTime,new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                            {
                                                                {_candlesElem, candle},
                                                                {_chartBollingerElement,new ChartIndicatorValue(_chartBollingerElement.Indicator,valueBb)},
                                                            }));
                                }
                                else
                                {
                                    this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessCandle(_candlesElem, candle));
                                }
                            });&lt;/pre&gt;
&lt;/div&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/26422/</id>
    <title type="text">Изменил код, индикатор сначала выводится корректно (вложение 1), а потом с приходом нового тика сжим...</title>
    <published>2013-06-21T17:42:40Z</published>
    <updated>2013-06-21T17:42:40Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/26421/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26420/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Изменил код, индикатор сначала выводится корректно (вложение 1), а потом с приходом нового тика сжимается и на последней свечке стягивается в точку (вложение 2)...?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А теперь изучайте что такое IsFinal[laugh] &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;[confused] &lt;br /&gt;Как я понимаю, IsFinal=true например для 10-минутного графика означает, что после формирования 10-минутной свечи (когда она примет состояние Finished) значение индикатора больше не будет изменяться, оно будет окончательным.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26421/</id>
    <title type="text">Изменил код, индикатор сначала выводится корректно (вложение 1), а потом с приходом нового тика сжим...</title>
    <published>2013-06-21T16:55:26Z</published>
    <updated>2013-06-21T16:55:26Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26420/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Изменил код, индикатор сначала выводится корректно (вложение 1), а потом с приходом нового тика сжимается и на последней свечке стягивается в точку (вложение 2)...?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А теперь изучайте что такое IsFinal[laugh] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26420/</id>
    <title type="text">Изменил код, индикатор сначала выводится корректно (вложение 1), а потом с приходом нового тика сжим...</title>
    <published>2013-06-21T16:36:43Z</published>
    <updated>2013-06-21T16:37:23Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Изменил код, индикатор сначала выводится корректно (вложение 1), а потом с приходом нового тика сжимается и на последней свечке стягивается в точку (вложение 2)...? Хотя, согласно кода на последней свечке вообще не должно быть вычисление индикатора пока она в состоянии изменения...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_21514128c6864b3d868bac6dc2429705');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_21514128c6864b3d868bac6dc2429705' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
                     ////////////////////ОТРИСОВКА ИСТОРИЧЕСКИХ СВЕЧЕЙ/////////////////////////////////////////////////////////////////////

                        this.GuiAsync(() =&amp;gt;
                            {
                                foreach (var candle in candles)
                                {
                                    var valueBb = _chartBollingerElement.Indicator.Process(new CandleIndicatorValue(candle) { IsFinal = true });
                                    var candle1 = candle;
                                    this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(candle1.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                    {
                                                        {_candlesElem, candle1},
                                                        {_chartBollingerElement, new ChartIndicatorValue(_chartBollingerElement.Indicator, valueBb)},
                                                    }));
                                }
                            });
                
                        ///////////////////ОТРИСОВКА РЕАЛЬНЫХ СВЕЧЕЙ/////////////////////////////////////////////////////////////////////
                
                        _candleManager = new CandleManager(_trader);
                        
                        _series = new CandleSeries(typeof(TimeFrameCandle), security, (TimeSpan)AlfaTimeFrames.Minute10);

                        _series.ProcessCandle += candle =&amp;gt; this.GuiAsync(() =&amp;gt;
                            {
                                if (candle.State == CandleStates.Finished)
                                {
                                    var valueBb = _chartBollingerElement.Indicator.Process(new CandleIndicatorValue(candle){IsFinal = true});
                                    if (_chartBollingerElement.Indicator.IsFormed)
                                    {
                                        var candle1 = candle;
                                        this.GuiAsync(() =&amp;gt;_chartWindow.Chart.ProcessValues(candle1.OpenTime,new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                            {
                                                                {_candlesElem, candle1},
                                                                {_chartBollingerElement,new ChartIndicatorValue(_chartBollingerElement.Indicator,valueBb)
                                                                },
                                                            }));
                                    }
                                }
                                else
                                {
                                    var candle1 = candle;
                                    this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessCandle(_candlesElem, candle1));
                                }
                            });&lt;/pre&gt;
&lt;/div&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/26417/</id>
    <title type="text">Простая скользящая средняя цены закрытия это среднее арифметическое значений цены закрытия за период...</title>
    <published>2013-06-21T15:13:24Z</published>
    <updated>2013-06-21T15:13:24Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26415/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Простая скользящая средняя цены закрытия это среднее арифметическое значений цены закрытия за период. В нашем случае период = 20.&lt;br /&gt;В моем понимании свойство SMA.IsFormed = true, т.е. индикатор сформирован, значит есть минимум 20 значений цены закрытия, которые позволяют рассчитать первое значение индикатора, до тех пор, пока не будут получены 20 значений цены закрытия&lt;br /&gt;свойство SMA.IsFormed = false.&lt;/div&gt;&lt;/div&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/26415/</id>
    <title type="text">Проверка на IsFormed вообще не пропускает исполнение кода в ветку оператора if, выводятся только све...</title>
    <published>2013-06-21T14:24:43Z</published>
    <updated>2013-06-21T14:37:12Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/26413/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26409/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Проверка на IsFormed вообще не пропускает исполнение кода в ветку оператора if, выводятся только свечи по оператору else...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Сейчас код неправильно написан в корне... Мне кажется надо не игнорировать, а понять, что такое IsFormed. Давайте резберем формулу скользящей средней.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Простая скользящая средняя цены закрытия это среднее арифметическое значений цены закрытия за период. В нашем случае период = 20.&lt;br /&gt;В моем понимании свойство SMA.IsFormed = true, т.е. индикатор сформирован, значит есть минимум 20 значений цены закрытия, которые позволяют рассчитать первое значение индикатора, до тех пор, пока не будут получены 20 значений цены закрытия&lt;br /&gt;свойство SMA.IsFormed = false.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26413/</id>
    <title type="text">Проверка на IsFormed вообще не пропускает исполнение кода в ветку оператора if, выводятся только све...</title>
    <published>2013-06-21T12:39:42Z</published>
    <updated>2013-06-21T12:39:42Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26409/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Проверка на IsFormed вообще не пропускает исполнение кода в ветку оператора if, выводятся только свечи по оператору else...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Сейчас код неправильно написан в корне... Мне кажется надо не игнорировать, а понять, что такое IsFormed. Давайте резберем формулу скользящей средней.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26409/</id>
    <title type="text">Проверка на IsFormed вообще не пропускает исполнение кода в ветку оператора if, выводятся только све...</title>
    <published>2013-06-21T10:24:26Z</published>
    <updated>2013-06-21T10:50:14Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Проверка на IsFormed вообще не пропускает исполнение кода в ветку оператора if, выводятся только свечи по оператору else...&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;
_series.ProcessCandle += candle =&amp;gt;
                            {
                                    if (candle.State == CandleStates.Finished &amp;amp;&amp;amp; _chartBollingerElement.Indicator.IsFormed)
                                    {
                                        var valueBb = _chartBollingerElement.Indicator.Process(new CandleIndicatorValue(candle) { IsFinal = true });
                                        this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                    {
                                                        {_candlesElem, candle},
                                                        {_chartBollingerElement, new ChartIndicatorValue(_chartBollingerElement.Indicator, valueBb)},
                                                    }));
                                    }
                                    else
                                    {
                                        this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessCandle(_candlesElem, candle));
                                    }
                            };&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И почему же я указываю выводить в debug значения законченных свечей, а выводятся 5-секундные значения изменяемой свечи?..&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;
_series.ProcessCandle += candle =&amp;gt;
                    {
                        if (candle.State != CandleStates.Finished)
                            return;

                        Debug.WriteLine(&amp;quot;{0}&amp;quot;, candle.ToString());
                    };&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/26402/</id>
    <title type="text">Изменил немного код вывода значений индикатора, картинка без изменений... IIndicator.IsFormed провер...</title>
    <published>2013-06-21T07:03:15Z</published>
    <updated>2013-06-21T07:03:15Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26400/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/26399/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26390/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Изменил немного код вывода значений индикатора, картинка без изменений...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;IIndicator.IsFormed проверяется?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Разве свойство значения индикатора IsFinal = true не решает эту проверку?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;IsFinal - это свойство, определяющее что данные окончательные в текущем ТФ. IsFormed - что индикатор сформировался и готов к работе (в т.ч. и отрисовки на графике). Посмотрите математическую формулу скользящих (я так понимаю Полосы на основе них сделаны). Все станет понятно.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26400/</id>
    <title type="text">Изменил немного код вывода значений индикатора, картинка без изменений... IIndicator.IsFormed провер...</title>
    <published>2013-06-21T06:54:26Z</published>
    <updated>2013-06-21T06:57:45Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/26399/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26390/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Изменил немного код вывода значений индикатора, картинка без изменений...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;IIndicator.IsFormed проверяется?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Разве свойство значения индикатора IsFinal = true не решает эту проверку? Значение окончательное, более неизменное в данный момент времени... У меня такое чувство, что значения индикатора считаются каждые 5 секунд по мере поступления исторических тиков, это как-то пересекается с моим предыдущим постом...  &lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_62e48998b8754e8bae51a373fe9f4377');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_62e48998b8754e8bae51a373fe9f4377' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
_series.ProcessCandle += candle =&amp;gt;
                            {
                                    if (candle.State == CandleStates.Finished)
                                    {
                                        var valueBb = _chartBollingerElement.Indicator.Process(new CandleIndicatorValue(candle) { IsFinal = true });
                                        this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                    {
                                                        {_candlesElem, candle},
                                                        {_chartBollingerElement, new ChartIndicatorValue(_chartBollingerElement.Indicator, valueBb)},
                                                    }));
                                    }
                                    else
                                    {
                                        this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessCandle(_candlesElem, candle));
                                    }
                            };&lt;/pre&gt;
&lt;/div&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/26398/</id>
    <title type="text">При выводе реальных свечек AlfaTrader засыпает logFile каждые 5 секунд сообщениями 2013/06/21 10:15:...</title>
    <published>2013-06-21T06:25:33Z</published>
    <updated>2013-06-21T06:46:20Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">При выводе реальных свечек AlfaTrader засыпает logFile каждые 5 секунд сообщениями &lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_37645ae0c24442e892542e81ea9e4d87');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_37645ae0c24442e892542e81ea9e4d87' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;
2013/06/21 10:15:08.168|       |AlfaTrader|StartExport()
2013/06/21 10:15:08.169|       |AlfaTrader|Экспорт в процессе запуска.
2013/06/21 10:15:08.174|       |AlfaTrader|Экспорт запущен.
2013/06/21 10:15:09.204|       |AlfaTrader|RegisterTrades: RTSI-9.13@FORTS
2013/06/21 10:15:09.236|       |AlfaTrader|create order: id = 117646314, tr. id = 853345110
2013/06/21 10:15:09.236|       |AlfaTrader|Создание ордера из терминала, tr. id 853345110
2013/06/21 10:15:09.244|       |AlfaTrader|update order: id = 117646314
2013/06/21 10:15:09.246|       |AlfaTrader|Order changed: 853345110/117646314 Покупка Цена=121000 Объем=1 Сост=Done Бал=1 
2013/06/21 10:15:09.249|       |AlfaTrader|New order: 853345110/117646314 Покупка Цена=121000 Объем=1 Сост=Done Бал=1 
2013/06/21 10:15:15.662|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 01.01.0001 0:00:00 - 21.06.2013 10:15:15
2013/06/21 10:15:17.308|       |AlfaTrader|RegisterQuotes: RTSI-9.13@FORTS
2013/06/21 10:15:18.185|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 01.01.0001 0:01:00 - 21.06.2013 10:16:18
2013/06/21 10:16:32.576|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:16:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.629|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.677|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.725|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.772|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.819|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.874|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.928|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:32.976|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:32
2013/06/21 10:16:33.024|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:33
2013/06/21 10:16:33.130|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:33
2013/06/21 10:16:33.183|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:33
2013/06/21 10:16:33.230|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:33
2013/06/21 10:16:33.278|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:33
2013/06/21 10:16:33.325|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:33
2013/06/21 10:16:38.326|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:38
2013/06/21 10:16:43.328|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:43
2013/06/21 10:16:48.336|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:48
2013/06/21 10:16:53.346|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:53
2013/06/21 10:16:58.352|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:17:58
2013/06/21 10:17:03.359|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:18:03
2013/06/21 10:17:08.366|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:17:00 - 21.06.2013 10:18:08
2013/06/21 10:17:13.376|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:13
2013/06/21 10:17:18.382|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:18
2013/06/21 10:17:23.388|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:23
2013/06/21 10:17:28.401|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:28
2013/06/21 10:17:33.407|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:33
2013/06/21 10:17:38.416|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:38
2013/06/21 10:17:43.419|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:43
2013/06/21 10:17:48.428|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:48
2013/06/21 10:17:53.438|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:53
2013/06/21 10:17:58.442|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:18:58
2013/06/21 10:18:03.451|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:19:03
2013/06/21 10:18:08.462|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:19:08
2013/06/21 10:18:13.468|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:19:13
2013/06/21 10:18:18.473|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:19:18
2013/06/21 10:18:23.480|       |AlfaTrader|GetLocalHistoryData: RTSI-9.13@FORTS, 21.06.2013 10:18:00 - 21.06.2013 10:19:23
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Запустил простую стратегию для пробы, для контроля вывожу законченные свечи в debug, но законченные свечи не выводятся, свечи выводятся в debug каждые 5 секунд...&lt;br /&gt;И стратегия не понимает состояние свечки Finished, срабатывает на каждые 5 секунд... Возможно из-за этого и индикатор выводится не корректно?..&lt;br /&gt;&lt;br /&gt;Код запуска стратегии&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_e6a9e39c60694a60a81605c6b4bc2616');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_e6a9e39c60694a60a81605c6b4bc2616' style='display:none'&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 TradingBtn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (_strategyFirst == null)
                {
                    var security = SelectedSecurity;

                    _candleManager = new CandleManager(_trader);

                    _series = new CandleSeries(typeof(TimeFrameCandle), security, (TimeSpan)AlfaTimeFrames.Minute1);

                    _candleManager.Start(_series);

                    _series.ProcessCandle += candle =&amp;gt;
                    {
                        if (candle.State != CandleStates.Finished)
                            return;

                        Debug.WriteLine(&amp;quot;{0}&amp;quot;, candle.ToString());
                    };

                    _strategyFirst = new StrategyFirst(_series)
                        {
                            Trader = _trader,
                            Security = SelectedSecurity,
                            Portfolio = SelectedPortfolio,
                            Volume = 1
                        };

                    _strategyFirst.WhenOrderRegistered()
                                  .Do(order =&amp;gt; this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(order.Time, new Dictionary&amp;lt;IChartElement, object&amp;gt; { { _chartOrderElement, order }, })))
                                  .Apply();
                    _strategyFirst.WhenNewMyTrades()
                                  .Do(trades =&amp;gt; trades.ForEach(t =&amp;gt; this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(t.Trade.Time, new Dictionary&amp;lt;IChartElement, object&amp;gt; { { _chartTradeElement, t }, }))))
                                  .Apply();

                    _strategyFirst.ProcessStateChanged += s =&amp;gt;
                                  {
                                      TradingBtn.Content = s.ProcessState == ProcessStates.Started
                                                                             ? &amp;quot;Cтоп&amp;quot;
                                                                             : &amp;quot;Старт&amp;quot;;
                                  };

                    _trader.RegisterMarketDepth(SelectedSecurity);

                    _logManager.Sources.Add(_strategyFirst);

                    _strategyFirst.Start();

                }
                else if (_strategyFirst.ProcessState == ProcessStates.Stopping ||
                             _strategyFirst.ProcessState == ProcessStates.Stopped)
                {
                    // в ином случаем запускаем стратегию
                    _strategyFirst.Start();
                }
                else
                {
                    //или останавливаем
                    if (_strategyFirst.Position != 0)
                        _strategyFirst.ClosePosition();
                    _strategyFirst.Stop();
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.ToString());
            }
        }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Код стратегии&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_9e1be1a65cf04134a3e7c4322a28286f');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_9e1be1a65cf04134a3e7c4322a28286f' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
using System;
using System.Windows;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Strategies;
using StockSharp.Logging;

namespace MARKET_SUCCESS_ALFA
{
    class StrategyFirst : Strategy
    {
        private readonly CandleSeries _candleSeries;

        public StrategyFirst(CandleSeries series)
        {
            _candleSeries = series;
        }

        protected override void OnStarted()
        {
            try
            {
                _candleSeries.ProcessCandle += candle =&amp;gt;
                    {
                        if (candle.State != CandleStates.Finished) return;
                        //Получаем последнюю свечу
                        Candle candleLastFinish = _candleSeries.GetCandle&amp;lt;TimeFrameCandle&amp;gt;(0);
                        //Получаем предпослежнюю свечу
                        Candle candlePenultFinish = _candleSeries.GetCandle&amp;lt;TimeFrameCandle&amp;gt;(1);

                        //Сигнал на покупку
                        bool signalBuy = candleLastFinish.OpenPrice &amp;lt;
                                         candleLastFinish.ClosePrice;
                        signalBuy = signalBuy &amp;amp;&amp;amp;
                                    candlePenultFinish.OpenPrice &amp;lt;
                                    candlePenultFinish.ClosePrice;
                        signalBuy = signalBuy &amp;amp;&amp;amp; Position == 0;

                        //Сигнал на закрытие длинной позиции
                        bool signalStopBuy = Position &amp;gt; 0;
                        signalStopBuy = signalStopBuy &amp;amp;&amp;amp;
                                        candleLastFinish.OpenPrice &amp;gt;
                                        candleLastFinish.ClosePrice;

                        //Сигнал на продажу
                        bool signalSell = candleLastFinish.OpenPrice &amp;gt;
                                          candleLastFinish.ClosePrice;
                        signalSell = signalSell &amp;amp;&amp;amp;
                                     candlePenultFinish.OpenPrice &amp;gt;
                                     candlePenultFinish.ClosePrice;
                        signalSell = signalSell &amp;amp;&amp;amp; Position == 0;

                        //Сигнал на закрытие короткой позиции
                        bool signalStopSell = Position &amp;lt; 0;
                        signalStopSell = signalStopSell &amp;amp;&amp;amp;
                                         candleLastFinish.OpenPrice &amp;lt;
                                         candleLastFinish.ClosePrice;
                        //Реагируем на сигнал покупки
                        if (signalBuy)
                        {
                            //RegisterOrder(this.BuyAtLimit(Security.MaxPrice));
                            this.AddInfoLog(&amp;quot;ОТКРЫВАЕМ ДЛИННУЮ позицию {0}.&amp;quot;, candleLastFinish.CloseTime);
                        }
                        //Реагируем на сигнал закрытия позиции
                        if (signalStopBuy)
                        {
                            //RegisterOrder(this.SellAtLimit(Security.MinPrice));
                            this.AddInfoLog(&amp;quot;ЗАКРЫВАЕМ ДЛИННУЮ позицию {0}.&amp;quot;, candleLastFinish.CloseTime);
                        }
                        //Реагируем на сигнал продажи
                        if (signalSell)
                        {
                            //RegisterOrder(this.SellAtLimit(Security.MinPrice));
                            this.AddInfoLog(&amp;quot;ОТКРЫВАЕМ КОРОТКУЮ позицию {0}.&amp;quot;, candleLastFinish.CloseTime);
                        }
                        //Реагируем на сигнал закрытия позиции
                        if (signalStopSell)
                        {
                            //RegisterOrder(this.BuyAtLimit(Security.MaxPrice));
                            this.AddInfoLog(&amp;quot;ЗАКРЫВАЕМ КОРОТКУЮ позицию {0}.&amp;quot;, candleLastFinish.CloseTime);
                        }
                    };
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.ToString());  
            }
        }

        protected override void OnStopped()
        {

        }
    }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вывод в debug</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26399/</id>
    <title type="text">Изменил немного код вывода значений индикатора, картинка без изменений... IIndicator.IsFormed провер...</title>
    <published>2013-06-21T06:40:58Z</published>
    <updated>2013-06-21T06:40:58Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26390/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Изменил немного код вывода значений индикатора, картинка без изменений...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;IIndicator.IsFormed проверяется?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26390/</id>
    <title type="text">Изменил немного код вывода значений индикатора, картинка без изменений... _series.ProcessCandle += c...</title>
    <published>2013-06-20T11:09:26Z</published>
    <updated>2013-06-20T11:11:44Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Изменил немного код вывода значений индикатора, картинка без изменений...&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_38c769fae2694111b5f38069cf1a132a');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_38c769fae2694111b5f38069cf1a132a' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
_series.ProcessCandle += candle =&amp;gt;
                            {
                                try
                                {
                                    if (candle.State == CandleStates.Finished)
                                    {
                                        var valueBb = _chartBollingerElement.Indicator.Process(new CandleIndicatorValue(candle) { IsFinal = true });
                                        this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                    {
                                                        {_candlesElem, candle},
                                                        {_chartBollingerElement, new ChartIndicatorValue(_chartBollingerElement.Indicator, valueBb)},
                                                    }));
                                    }
                                    else
                                    {
                                        this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessCandle(_candlesElem, candle));
                                    }
                                }
                                catch (Exception exc)
                                {
                                    MessageBox.Show(exc.ToString());
                                }
                            };&lt;/pre&gt;
&lt;/div&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/26388/</id>
    <title type="text">Благодарю, реальные свечи выводятся корректно. Красота. Вот только значения индикатора BollingerBand...</title>
    <published>2013-06-20T09:45:34Z</published>
    <updated>2013-06-20T09:48:45Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Благодарю, реальные свечи выводятся корректно. Красота. Вот только значения индикатора BollingerBands выводятся странно.&lt;br /&gt;Это мой код&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_5e7f0943295047619cf7591cbdf0e6e0');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_5e7f0943295047619cf7591cbdf0e6e0' style='display:none'&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 ShowChartClick(object sender, RoutedEventArgs e)
        {
            try
            {
                var security = SelectedSecurity;
                
                var timeFrame = (AlfaTimeFrames)((ComboBoxItem)HistoryInterval.SelectedItem).Tag;
                
                if (From.Value != null)
                {
                    var from = From.Value.Value;
                    if (To.Value != null)
                    {
                        var to = To.Value.Value;
                
                        if (@from &amp;gt; to)
                        {
                            return;
                        }
                
                        var candles = _trader.GetHistoryData(security, timeFrame, new Range&amp;lt;DateTime&amp;gt;(@from, to));
                        
                        _chartWindow = new ChartWindow
                        {
                            Title = &amp;quot;{0}, {1}, {2} - {3}&amp;quot;.Put(security.Code,
                                                              ((ComboBoxItem)HistoryInterval.SelectedItem).Content,
                                                              @from.ToString(CultureInfo.InvariantCulture), to.ToString(CultureInfo.InvariantCulture))
                        };
                
                        var area = new ChartArea();
                        _chartWindow.Chart.ChartTheme = &amp;quot;ExpressionDark&amp;quot;;
                        _chartWindow.Chart.IsAutoScroll = true;
                        _chartWindow.Chart.Areas.Add(area);
                
                        _candlesElem = new ChartCandleElement
                        {
                            Antialiasinig = false,
                            UpBodyColor = Colors.Chartreuse,
                            UpWickColor = Colors.Chartreuse,
                            DownBodyColor = Colors.Red,
                            DownWickColor = Colors.Red,
                            IsLegend = true,
                        };
                
                        _chartBollingerElement = new ChartIndicatorElement
                        {
                            Antialiasinig = false,
                            Color = Colors.DeepSkyBlue,
                            IsLegend = true,
                            Indicator = new BollingerBands
                            {
                                Length = 20,
                                Width = 2
                            },
                            Title = &amp;quot;Bollinger Bands&amp;quot;,
                            DrawStyle = ChartIndicatorDrawStyles.Line,
                        };
                        _chartBollingerElement.DrawTemplate.VisualTree.SetValue(Shape.FillProperty, new SolidColorBrush(Colors.DeepSkyBlue));
                
                        area.Elements.Add(_candlesElem);
                        area.Elements.Add(_chartBollingerElement);

                        this.GuiAsync(() =&amp;gt;
                            {
                                foreach (var candle in candles)
                                    _chartWindow.Chart.ProcessCandle(_candlesElem, candle);
                            });
                                                        
                        _candleManager = new CandleManager(_trader);
                        
                        _series = new CandleSeries(typeof(TimeFrameCandle), security, (TimeSpan)AlfaTimeFrames.Minute10);
                        
                        _series.ProcessCandle += candle =&amp;gt;
                            {
                                if (candle.State == CandleStates.Finished || candle.State == CandleStates.Changed)
                                {
                                    var final = candle.State == CandleStates.Finished;
                                    
                                    var val = _chartBollingerElement.Indicator.Process(new DecimalIndicatorValue(candle.ClosePrice) { IsFinal = final });
                                    var bollingerValue = new ChartIndicatorValue(_chartBollingerElement.Indicator, val);

                                        this.GuiAsync(() =&amp;gt; _chartWindow.Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                                                                                          {
                                                                                              {_candlesElem, candle},
                                                                                              {_chartBollingerElement, bollingerValue},
                                                                                          }));
                                }
                            };
                        
                        _candleManager.Start(_series);
                
                        _chartWindow.Show();
                    }
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.ToString());
            }
        }&lt;/pre&gt;
&lt;/div&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/26386/</id>
    <title type="text">Ошибка найдена и поправлена. Я постучался в скайп. Давайте проведем тестирование, может там еще что-...</title>
    <published>2013-06-20T08:40:01Z</published>
    <updated>2013-06-20T08:40:01Z</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>
  <entry>
    <id>https://stocksharp.com/posts/m/26385/</id>
    <title type="text">--------------------------- --------------------------- System.InvalidCastException: Не удалось прив...</title>
    <published>2013-06-20T08:24:26Z</published>
    <updated>2013-06-20T08:28:17Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;---------------------------&lt;br /&gt;&lt;br /&gt;---------------------------&lt;br /&gt;System.InvalidCastException: Не удалось привести тип объекта &amp;quot;StockSharp.Algo.Candles.TimeFrameCandle[]&amp;quot; к типу &amp;quot;System.Collections.Generic.List`1[StockSharp.Algo.Candles.Candle]&amp;quot;.&lt;br /&gt;&lt;br /&gt;   в StockSharp.AlfaDirect.AlfaTrader.#=qNmkP6QzBPHM7MSi3K7zNb8hpEPmvaemYv5w1q7pSlzs=(CandleSeries #=qw2Ij9lcQ52_YjUxYlygqJQ==, AlfaTimeFrames #=qmt9jajmekZJ3lvX4EWDlsw==, Range`1 #=qUa$g1WHcmZt7GKP9MHGYdQ==, Boolean #=qyMqxPE6iw9OG3w187t$YJg==, #=qrYpFuQVysBZ8IKEVqMgJNeOJnek4Tqt17H5Lhdsr7oOl5WXmF$V4OcRiLRkcvZGh&amp;amp; #=qdyEgQw5_gfsmxp61TgMHpQ==)&lt;br /&gt;&lt;br /&gt;   в StockSharp.AlfaDirect.AlfaTrader.SubscribeHistoricalCandles(CandleSeries series, DateTime from, DateTime to)&lt;br /&gt;&lt;br /&gt;   в StockSharp.Algo.Candles.CandleManager.#=qMxwX6RCGPPukCh3ls8RxBpA7IM61KWm0NtodaOEzPbw=.#=q6S9eoetqGa49tVuWloNQCnRypxcDn7PYNPl2C$RaYnkKcnu1wUHa2NHB6vFg6y0WaNoYZQe4eQyVPI8HWrXBIyz4LMDluX5GlBYwdeY220k=(CandleSeries #=q1SVIqTyklP0v2Vmdbxf5pQ==, DateTime #=qv2yp$YhyUweWh$XfcRdgUw==, DateTime #=qHyx5tP4ns5E8bwaA97HB6A==)&lt;br /&gt;&lt;br /&gt;   в #=qX3OhqnqEph0ylOwbVoprdaRyUdFykOOlTJqNaUikiywB2d5GxCHY1J7pgbbIcyah1whRfbIIDuqG1CROSXDxrw==.#=qXRmgGHeIzniBfKG_gUxziw==()&lt;br /&gt;&lt;br /&gt;   в StockSharp.Algo.Candles.CandleManager.Start(CandleSeries series, DateTime from, DateTime to)&lt;br /&gt;&lt;br /&gt;   в StockSharp.Algo.Candles.CandleHelper.Start(ICandleManager manager, CandleSeries series)&lt;br /&gt;&lt;br /&gt;   в MARKET_SUCCESS_ALFA.MainWindow.ShowChartClick(Object sender, RoutedEventArgs e) в c:\Users\UsilaDobry\Documents\Visual Studio 2012\Projects\MARKET SUCCESS ALFA\MainWindow.xaml.cs:строка 241&lt;br /&gt;---------------------------&lt;br /&gt;ОК   &lt;br /&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/26384/</id>
    <title type="text">Приведите пожалуйста StackTrace. Картинки с ошибками и сам код не несут практически никакой полезной...</title>
    <published>2013-06-20T08:04:59Z</published>
    <updated>2013-06-20T08:04:59Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.com/posts/m/26383/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/26382/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Приведите пожалуйста StackTrace. Картинки с ошибками и сам код не несут практически никакой полезной информации.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;StackTrace? Это трассировка исключения?&lt;br /&gt;Не знаю правильно ли я понял, Вы имеете ввиду вот эту информацию? &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Да это. А теперь нажмите на это окно Ctrl+C и вставьте сообщение как текст на форум. Спасибо.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26383/</id>
    <title type="text">Приведите пожалуйста StackTrace. Картинки с ошибками и сам код не несут практически никакой полезной...</title>
    <published>2013-06-20T07:50:24Z</published>
    <updated>2013-06-20T07:50:24Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.com/users/28825/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/26382/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Приведите пожалуйста StackTrace. Картинки с ошибками и сам код не несут практически никакой полезной информации.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;StackTrace? Это трассировка исключения?&lt;br /&gt;Не знаю правильно ли я понял, Вы имеете ввиду вот эту информацию? </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26382/</id>
    <title type="text">Приведите пожалуйста StackTrace. Картинки с ошибками и сам код не несут практически никакой полезной...</title>
    <published>2013-06-20T07:25:50Z</published>
    <updated>2013-06-20T07:25:50Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Приведите пожалуйста StackTrace. Картинки с ошибками и сам код не несут практически никакой полезной информации.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>