﻿<?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/2934/zapazdyvanie-formirovaniya-svechei/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-11T02:31:05Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2934" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/20812/</id>
    <title type="text">Алгоритм формирования свечей не зависит от шлюза. </title>
    <published>2012-08-14T03:14:34Z</published>
    <updated>2012-08-14T03:14:34Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.com/users/5990/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&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/20806/</id>
    <title type="text">Я уже думал об этом. Знал бы однозначно правильный ответ - конечно бы подсказал. Первое что приходит...</title>
    <published>2012-08-13T17:32:16Z</published>
    <updated>2012-08-13T17:32:16Z</updated>
    <author>
      <name>Memory</name>
      <uri>https://stocksharp.com/users/6063/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Я уже думал об этом. Знал бы однозначно правильный ответ - конечно бы подсказал. Первое что приходит в голову, финалить свечу по изменению времени в трейдере. Но, понятно что информация о сделках могут появится и позже. Для себя я скорее всего так и сделаю. Возможно буду смотреть на время сделки в парной бумаге. Или через таймаут. Я там еще спрашивал на предмет одинаковости алгоритмов для других провайдеров. SmartCom основные свечные интервалы сам формирует. Это как-то учитывается или тоже свеча финалится по приходу первой сделки за пределами таймфрейма?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20805/</id>
    <title type="text">Свеча считается сформированной только тогда, когда пришел первый тик следующей свечи. Таймауты пока ...</title>
    <published>2012-08-13T17:16:56Z</published>
    <updated>2012-08-13T17:18:47Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.com/users/5990/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;ol&gt;
&lt;li&gt;Свеча считается сформированной только тогда, когда пришел первый тик следующей свечи.&lt;/li&gt;
&lt;li&gt;Таймауты пока еще не работают.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Как это можно обойти не заморачиваясь с собственным формированием свечей?
А как вы предлагаете определять, что свеча сформирована полностью?&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20804/</id>
    <title type="text">Не помогло [sad]Да и по первому логу видно, там куда больше 10% Вот так пробовал _CandleManager.Sour...</title>
    <published>2012-08-13T17:09:56Z</published>
    <updated>2012-08-13T17:11:16Z</updated>
    <author>
      <name>Memory</name>
      <uri>https://stocksharp.com/users/6063/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Не помогло [sad]Да и по первому логу видно, там куда больше 10%&lt;/p&gt;
&lt;p&gt;Вот так пробовал&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
_CandleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout = 1;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;результат&lt;/p&gt;
&lt;p&gt;Candle RIU2 time 13.08.2012 20:17:00 volume 1534 local time 13.08.2012 20:17:08
Candle RIZ2 time 13.08.2012 20:17:00 volume 1 local time 13.08.2012 20:17:08
Candle RIU2 time 13.08.2012 20:18:00 volume 410 local time 13.08.2012 20:17:51
Candle RIU2 time 13.08.2012 20:19:00 volume 99 local time 13.08.2012 20:18:51
Candle RIU2 time 13.08.2012 20:20:00 volume 465 local time 13.08.2012 20:19:54
Candle RIU2 time 13.08.2012 20:21:00 volume 663 local time 13.08.2012 20:20:51
Candle RIU2 time 13.08.2012 20:22:00 volume 386 local time 13.08.2012 20:21:51
Candle RIU2 time 13.08.2012 20:23:00 volume 222 local time 13.08.2012 20:22:51
Candle RIU2 time 13.08.2012 20:24:00 volume 389 local time 13.08.2012 20:23:52
Candle RIU2 time 13.08.2012 20:25:00 volume 525 local time 13.08.2012 20:24:51
&lt;mark&gt;Candle RIZ2 time 13.08.2012 20:18:00 volume 3 local time 13.08.2012 20:25:07&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;и вот так&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
_CandleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout.Value=1;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Candle RIU2 time 13.08.2012 20:44:00 volume 484 local time 13.08.2012 20:43:55
Candle RIU2 time 13.08.2012 20:45:00 volume 147 local time 13.08.2012 20:44:51
Candle RIU2 time 13.08.2012 20:46:00 volume 264 local time 13.08.2012 20:45:52
Candle RIU2 time 13.08.2012 20:47:00 volume 242 local time 13.08.2012 20:46:55
&lt;mark&gt;Candle RIZ2 time 13.08.2012 20:44:00 volume 1 local time 13.08.2012 20:47:04&lt;/mark&gt;
Candle RIU2 time 13.08.2012 20:48:00 volume 150 local time 13.08.2012 20:47:58
Candle RIZ2 time 13.08.2012 20:48:00 volume 1 local time 13.08.2012 20:48:09
Candle RIU2 time 13.08.2012 20:49:00 volume 1057 local time 13.08.2012 20:48:51
Candle RIU2 time 13.08.2012 20:50:00 volume 503 local time 13.08.2012 20:49:53
&lt;mark&gt;Candle RIZ2 time 13.08.2012 20:49:00 volume 3 local time 13.08.2012 20:50:17&lt;/mark&gt;
Candle RIU2 time 13.08.2012 20:51:00 volume 2188 local time 13.08.2012 20:50:51
Candle RIZ2 time 13.08.2012 20:51:00 volume 3 local time 13.08.2012 20:51:32
Candle RIU2 time 13.08.2012 20:52:00 volume 1402 local time 13.08.2012 20:51:51
Candle RIU2 time 13.08.2012 20:53:00 volume 1342 local time 13.08.2012 20:52:51
Candle RIU2 time 13.08.2012 20:54:00 volume 1222 local time 13.08.2012 20:53:52
Candle RIU2 time 13.08.2012 20:55:00 volume 460 local time 13.08.2012 20:54:51
&lt;mark&gt;Candle RIZ2 time 13.08.2012 20:52:00 volume 2 local time 13.08.2012 20:55:09&lt;/mark&gt;
Candle RIU2 time 13.08.2012 20:56:00 volume 1886 local time 13.08.2012 20:55:52
Candle RIU2 time 13.08.2012 20:57:00 volume 621 local time 13.08.2012 20:56:52&lt;/p&gt;
&lt;p&gt;Пытался сделать вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
_CandleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout = new Unit(1,UnitTypes.Percent);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;словил исключение -
Проценты нельзя сравнивать с не процентами 1% и 0.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;StackTrace&lt;/strong&gt;
at StockSharp.BusinessEntities.Unit.op_GreaterThan(Unit u1, Unit u2)
at StockSharp.BusinessEntities.Unit.op_LessThan(Unit u1, Unit u2)
at StockSharp.Algo.Candles.Compression.TimeFrameCandleBuilder.set_Timeout(Unit value)
at ArbirageStat.Form1.OnStartButton(Object sender, EventArgs e)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20802/</id>
    <title type="text">Попробуйте изменить TimeOut у TimeFrameCandleBuilder _candleManager.Sources.OfType().Single().Timeou...</title>
    <published>2012-08-13T15:57:17Z</published>
    <updated>2012-08-13T15:57:17Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Попробуйте изменить TimeOut у TimeFrameCandleBuilder&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
_candleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20801/</id>
    <title type="text">Столкнулся со следующей проблемой. Через QuikTrader тяну TimeFrame свечи на сентябрьский индекс РТС ...</title>
    <published>2012-08-13T13:19:58Z</published>
    <updated>2012-08-13T13:19:58Z</updated>
    <author>
      <name>Memory</name>
      <uri>https://stocksharp.com/users/6063/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Столкнулся со следующей проблемой. Через QuikTrader тяну TimeFrame свечи на сентябрьский индекс РТС и декабрьский Сбер. Таймфрейм 1 минута.
Обнаружил что свечи по декабрьскому контракту формируются с очень большим опозданием.&lt;/p&gt;
&lt;p&gt;В обработке свечей вставил следующий код:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        void CandleManager_Processing(CandleSeries Series, Candle Candle)
        {
             Console.WriteLine(&amp;quot;Candle &amp;quot; + Candle.Security.Code + &amp;quot; time &amp;quot; + Candle.CloseTime + &amp;quot; volume &amp;quot; + Candle.TotalVolume+&amp;quot; local time &amp;quot;+DateTime.Now);
            if (Candle.State == CandleStates.Finished)
            {
             Console.WriteLine(&amp;quot;Candle &amp;quot; + Candle.Security.Code + &amp;quot; time &amp;quot; + Candle.CloseTime + &amp;quot; volume &amp;quot; + Candle.TotalVolume+&amp;quot; local time &amp;quot;+DateTime.Now);
             ...
             ...
             ...
            }
         }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;получил следующий результат:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
Candle finished RIU2 time 13.08.2012 16:37:00 volume 1258 local time 13.08.2012 16:36:51
Candle finished RIU2 time 13.08.2012 16:38:00 volume 532 local time 13.08.2012 16:37:51
Candle finished RIU2 time 13.08.2012 16:39:00 volume 711 local time 13.08.2012 16:38:51
Candle finished SRZ2 time 13.08.2012 16:37:00 volume 1 local time 13.08.2012 16:39:03
Candle finished RIU2 time 13.08.2012 16:40:00 volume 1006 local time 13.08.2012 16:39:51
Candle finished RIU2 time 13.08.2012 16:41:00 volume 761 local time 13.08.2012 16:40:52
Candle finished RIU2 time 13.08.2012 16:42:00 volume 1170 local time 13.08.2012 16:41:51
Candle finished RIU2 time 13.08.2012 16:43:00 volume 886 local time 13.08.2012 16:42:51
Candle finished RIU2 time 13.08.2012 16:44:00 volume 425 local time 13.08.2012 16:43:51
Candle finished RIU2 time 13.08.2012 16:45:00 volume 583 local time 13.08.2012 16:44:51
Candle finished RIU2 time 13.08.2012 16:46:00 volume 929 local time 13.08.2012 16:45:51
Candle finished RIU2 time 13.08.2012 16:47:00 volume 1036 local time 13.08.2012 16:46:51
Candle finished RIU2 time 13.08.2012 16:48:00 volume 299 local time 13.08.2012 16:47:51
Candle finished RIU2 time 13.08.2012 16:49:00 volume 623 local time 13.08.2012 16:48:53
Candle finished RIU2 time 13.08.2012 16:50:00 volume 1249 local time 13.08.2012 16:49:51
Candle finished RIU2 time 13.08.2012 16:51:00 volume 735 local time 13.08.2012 16:50:51
Candle finished RIU2 time 13.08.2012 16:52:00 volume 368 local time 13.08.2012 16:51:51
Candle finished SRZ2 time 13.08.2012 16:40:00 volume 2 local time 13.08.2012 16:52:22
Candle finished RIU2 time 13.08.2012 16:53:00 volume 2071 local time 13.08.2012 16:52:51
Candle finished RIU2 time 13.08.2012 16:54:00 volume 3207 local time 13.08.2012 16:53:51
Candle finished SRZ2 time 13.08.2012 16:53:00 volume 3 local time 13.08.2012 16:53:52
Candle finished RIU2 time 13.08.2012 16:55:00 volume 3175 local time 13.08.2012 16:54:51
Candle finished RIU2 time 13.08.2012 16:56:00 volume 1876 local time 13.08.2012 16:55:51
Candle finished RIU2 time 13.08.2012 16:57:00 volume 844 local time 13.08.2012 16:56:51
Candle finished SRZ2 time 13.08.2012 16:55:00 volume 4 local time 13.08.2012 16:57:03
Candle finished RIU2 time 13.08.2012 16:58:00 volume 2532 local time 13.08.2012 16:57:51
Candle finished RIU2 time 13.08.2012 16:59:00 volume 2011 local time 13.08.2012 16:58:51
Candle finished RIU2 time 13.08.2012 17:00:00 volume 1555 local time 13.08.2012 16:59:51

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Сильно похоже на то, что свечя финишируется не по завершению временного интервала а по приходу новой сделки, лежащей за пределами таймфрейма свечи. Вопроса собственно 2:&lt;/p&gt;
&lt;ol&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>
</feed>