﻿<?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/1498/obedinenie-istoricheskih-i-tekushshih-svechek/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-07-07T23:29:20Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1498" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/15443/</id>
    <title type="text">Спасибо, буду разбираться. Со Смартом вообще довольно много проблем, но нужно под него сделать. :( </title>
    <published>2012-01-06T17:35:27Z</published>
    <updated>2012-01-06T17:35:27Z</updated>
    <author>
      <name>Daenur</name>
      <uri>https://stocksharp.com/users/28118/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Спасибо, буду разбираться.&lt;/p&gt;
&lt;p&gt;Со Смартом вообще довольно много проблем, но нужно под него сделать. :(&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/15389/</id>
    <title type="text">Если последняя версия S#, то там сейчас есть SmartCandleSource для удобной работы с CandleManager. Э...</title>
    <published>2012-01-04T11:09:20Z</published>
    <updated>2012-01-04T11:09:20Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Если последняя версия S#, то там сейчас есть SmartCandleSource для удобной работы с CandleManager. Это во-первых. А во-вторых, история у СмартКом не важнецкая. Лучше искать альтернативные источники.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/15387/</id>
    <title type="text">Возрожу эту тему. Объединяю историю с реалтаймом. // Подписка на события ((SmartTrader)this.trader)....</title>
    <published>2012-01-04T10:05:52Z</published>
    <updated>2012-01-04T11:07:13Z</updated>
    <author>
      <name>Daenur</name>
      <uri>https://stocksharp.com/users/28118/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Возрожу эту тему.&lt;/p&gt;
&lt;p&gt;Объединяю историю с реалтаймом.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;// Подписка на события
((SmartTrader)this.trader).NewHistoryCandles += (token, candles) =&amp;gt; this.historyCandles.SyncDo(col =&amp;gt;
{
	// Сохраняем исторические бары
	this.historyCandles.AddRange(candles);
	// Отрисовываем исторические бары
	chartWindow.DrawCandles(token, candles);
});

candleManager.CandlesStarted += DrawRealTimeCandles;
candleManager.CandlesChanged += DrawRealTimeCandles;
candleManager.CandlesFinished += DrawRealTimeCandles;

// Собственно забираю историю
TimeSpan ts = new TimeSpan(currentTimeFrame.Hours * 100, currentTimeFrame.Minutes * 100, currentTimeFrame.Seconds * 100);
Range&amp;lt;DateTime&amp;gt; range = new Range&amp;lt;DateTime&amp;gt;((DateTime.Now - ts), DateTime.Now);
((SmartTrader)trader).RegisterHistoryCandles(this.SelectedSecurity, this.currentTimeFrame, range);
this.lastHistoryCandle = this.currentTimeFrame.GetCandleBounds(this.trader).Min;

// Дальнейшая отрисовка реал-тайм
public void DrawRealTimeCandles(CandleToken token, IEnumerable&amp;lt;Candle&amp;gt; candles)
{
	this.GuiAsync(() =&amp;gt;
	{
		IEnumerable&amp;lt;Candle&amp;gt; realTimeCandles = candles;

		// Для SmartCOM выводим только те свечки, которые не были отрисованы как исторические
		if (this.rbSmart.IsChecked == true)
			realTimeCandles = candles.Where(c =&amp;gt; c.Time &amp;gt; this.lastHistoryCandle);

		chartWindow.DrawCandles(token, realTimeCandles);
	});
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;История забирается нормально, реалтайм тоже без проблем идет. Единственная и довольно неприятная проблема - бар, на котором происходит соединение. Он, вроде как и из истории не берется полноценным, и из реалтайма. В результате бар, на котором произошло подключение, не совпадает с реальностью. Есть какие-нибудь способы получить его правильно, чтобы как в КВИКе было, где все нормально? Кто как решает эту проблему?&lt;/p&gt;
&lt;p&gt;ЗЫ. Самое интересное, что похожей проблемой грешат RightEdge и OpenQuant на разных источниках данных. Но тут-то у нас все в руках, вопрос только - как? &lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7334/</id>
    <title type="text">morincer: Приветствую! Долго пытался разобраться самостоятельно, но так и не нашел ответов. Задача с...</title>
    <published>2011-04-07T10:25:42Z</published>
    <updated>2011-04-07T10:25:42Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(7330)" rel="nofollow" target="_blank"&gt;morincer&lt;/a&gt;:&lt;/strong&gt;
Приветствую!&lt;/p&gt;
&lt;p&gt;Долго пытался разобраться самостоятельно, но так и не нашел ответов.
Задача состоит в следующем: необходимо получить &amp;quot;ленту&amp;quot; пятимянутных свечек - от текущего момента (после подключения) до, допустим, минус две недели назад.
Собственно, вопросы:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Если вызвать RegisterHistoryData и слушать NewHistoryCandle - как узнать, что я получил все свечки в заданном диапазоне?&lt;/li&gt;
&lt;li&gt;В документации сказано, что RegisterHistoryData получает свечки за &lt;strong&gt;предыдущие&lt;/strong&gt; торговые сессии. Как тогда получить данные за текущую сессию (предполагаю, что подключился в середине торгового дня и нужно получить свечки более ранние)?&lt;/li&gt;
&lt;li&gt;И последнее, но не в последнюю очередь - адаптация решения первых двух вопросов к тестированию на исторических данных - как?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Зараннее спасибо!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Эфристически.&lt;/li&gt;
&lt;li&gt;Попробуйте за текущую сессию.&lt;/li&gt;
&lt;li&gt;Тестирование идет на основе тиковых данных.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7330/</id>
    <title type="text">Приветствую! Долго пытался разобраться самостоятельно, но так и не нашел ответов. Задача состоит в с...</title>
    <published>2011-04-07T09:47:14Z</published>
    <updated>2011-04-07T09:47:14Z</updated>
    <author>
      <name>morincer</name>
      <uri>https://stocksharp.com/users/28225/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Приветствую!&lt;/p&gt;
&lt;p&gt;Долго пытался разобраться самостоятельно, но так и не нашел ответов.
Задача состоит в следующем: необходимо получить &amp;quot;ленту&amp;quot; пятимянутных свечек - от текущего момента (после подключения) до, допустим, минус две недели назад.
Собственно, вопросы:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Если вызвать RegisterHistoryData и слушать NewHistoryCandle - как узнать, что я получил все свечки в заданном диапазоне?&lt;/li&gt;
&lt;li&gt;В документации сказано, что RegisterHistoryData получает свечки за &lt;strong&gt;предыдущие&lt;/strong&gt; торговые сессии. Как тогда получить данные за текущую сессию (предполагаю, что подключился в середине торгового дня и нужно получить свечки более ранние)?&lt;/li&gt;
&lt;li&gt;И последнее, но не в последнюю очередь - адаптация решения первых двух вопросов к тестированию на исторических данных - как?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Зараннее спасибо!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>