﻿<?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">Исторические свечки в 4.1</title>
  <id>~/topic/2919/istoricheskie-svechki-v-4_1/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-04T07:24:14Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2919" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/20694/</id>
    <title type="text">Можно попробовать найти в таком случае ответ здесь.</title>
    <published>2012-08-06T13:09:18Z</published>
    <updated>2016-08-16T00:08:31Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Можно попробовать найти в таком случае ответ &lt;a href="http://stocksharp.com/forum/2149/Novaia-uslugha---platnaia-poddierzhka-pol-zovatieliei/" title="http://stocksharp.com/forum/2149/Novaia-uslugha---platnaia-poddierzhka-pol-zovatieliei/"&gt;здесь&lt;/a&gt;.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20712/</id>
    <title type="text">Можно еще через правила, в 4.1.3 их можно использовать не только в стратегии. private CandleSeries _...</title>
    <published>2012-08-07T09:24:56Z</published>
    <updated>2012-08-07T09:24:56Z</updated>
    <author>
      <name>Андрей Александрович</name>
      <uri>https://stocksharp.com/users/255/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.com/posts/m/20711/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Можно еще через правила, в 4.1.3 их можно использовать не только в стратегии.&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 CandleSeries _series;

...

_series
	.WhenCandlesFinished()
	.Do(() =&amp;gt; {...})
	.Apply();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вот это наверно самый удобный способ. Пришлось скопировать код и добавить решарпером сборку чтобы у _series появилось это поле. В исходном варианте его нет. Надеюсь тема станет полезной не только мне. Всем ответившим спасибо за поддержку.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20711/</id>
    <title type="text">Можно еще через правила, в 4.1.3 их можно использовать не только в стратегии. private CandleSeries _...</title>
    <published>2012-08-07T09:13:55Z</published>
    <updated>2012-08-07T09:13:55Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Можно еще через правила, в 4.1.3 их можно использовать не только в стратегии.&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 CandleSeries _series;

...

_series
	.WhenCandlesFinished()
	.Do(() =&amp;gt; {...})
	.Apply();
&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/20710/</id>
    <title type="text">_candleManager.Processing += (s, candle) =&amp;gt; { if(cande.State == CandleStates.Finished) { _strategy.L...</title>
    <published>2012-08-07T09:12:45Z</published>
    <updated>2012-08-07T09:12:45Z</updated>
    <author>
      <name>Андрей Александрович</name>
      <uri>https://stocksharp.com/users/255/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;OvcharenkoVI &lt;a href="https://stocksharp.com/posts/m/20709/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;_candleManager.Processing += (s, candle) =&amp;gt; &lt;br /&gt;{&lt;br /&gt;if(cande.State == CandleStates.Finished)&lt;br /&gt;{&lt;br /&gt;    _strategy.LongSma.Process((DecimalIndicatorValue)c.ClosePrice);&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;То есть проверяем, если пришла законченная свечка, то обрабатываем ее&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/20709/</id>
    <title type="text">_candleManager.Processing += (s, candle) =&amp;gt; { if(cande.State == CandleStates.Finished) { _strategy.L...</title>
    <published>2012-08-07T09:05:59Z</published>
    <updated>2012-08-07T09:05:59Z</updated>
    <author>
      <name>OvcharenkoVI</name>
      <uri>https://stocksharp.com/users/390/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">_candleManager.Processing += (s, candle) =&amp;gt; &lt;br /&gt;{&lt;br /&gt;if(cande.State == CandleStates.Finished)&lt;br /&gt;{&lt;br /&gt;    _strategy.LongSma.Process((DecimalIndicatorValue)c.ClosePrice);&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/20708/</id>
    <title type="text">С выгрузкой истории я разобрался, остается неясным что делать с CandleFinished... неужели в новой ве...</title>
    <published>2012-08-07T08:57:51Z</published>
    <updated>2012-08-07T08:57:51Z</updated>
    <author>
      <name>Андрей Александрович</name>
      <uri>https://stocksharp.com/users/255/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">С выгрузкой истории я разобрался, остается неясным что делать с CandleFinished... неужели в новой версии не предусмотрено ничего проще чем способ описанный в примерах??? (мне не требуется потиковая отрисовка, нужен только _strategy.LongSma.Process((DecimalIndicatorValue)c.ClosePrice); &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;
_candleManager.Processing += (s, candle) =&amp;gt;
						{
							// выводим только те свечки, которые не были отрисованы как исторические
							if (candle.OpenTime &amp;gt; _lastHistoryCandle)
								DrawCandles(new[]{ candle });

							// нас не интересует текущая свечка, так как она еще не сформировалась
							// и из нее нельзя брать цену закрытия

							// вычисляем временные отрезки текущей свечки
							var bounds = _timeFrame.GetCandleBounds(_trader);

							// если появились новые полностью сформированные свечки
							if ((_lastCandleTime + _timeFrame) &amp;lt; bounds.Min)
							{
								// отступ с конца интервала, чтобы не захватить текущую свечку.
								var endOffset = TimeSpan.FromSeconds(1);

								bounds = new Range&amp;lt;DateTime&amp;gt;(_lastCandleTime + _timeFrame, bounds.Min - endOffset);

								// получаем эти свечки
								var candles = _candleManager.Container.GetCandles(s, bounds);

								if (!candles.IsEmpty())
								{
								    foreach (var c in candles)
								    {
								        // добавляем новую свечку
								        _strategy.LongSma.Process((DecimalIndicatorValue)c.ClosePrice);
								        _strategy.ShortSma.Process((DecimalIndicatorValue)c.ClosePrice);
								    }

								    // получаем время самой последней свечки и запоминаем его как новое начало
									_lastCandleTime = candles.Max(c =&amp;gt; c.OpenTime);

								    this.GuiSync(() =&amp;gt; DrawMaLines(bounds.Min));
								}
							}
						};&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/20693/</id>
    <title type="text">В предыдущей версии библиотеки я использовал для выгрузки свечек из истории метод RegisterHistoryCan...</title>
    <published>2012-08-06T13:00:08Z</published>
    <updated>2012-08-06T13:00:08Z</updated>
    <author>
      <name>Андрей Александрович</name>
      <uri>https://stocksharp.com/users/255/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В предыдущей версии библиотеки я использовал для выгрузки свечек из истории метод RegisterHistoryCandles(int count, SmartHistoryDirections.Backward) а теперь не могу разобраться как мне выгрузить скажем 100 последних свечек из истории и склеить их с текущими. В документации ответа не нашёл. Также интересует как обрабатывать свечки по событию которым раньше было CandleFinished.(series.ProcessCandle как я понял работает при каждом изменении цены и т.п. а мне это не нужно)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>