﻿<?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">Запаздывание формирования свечей</title>
  <id>~/topic/2934/zapazdyvanie-formirovaniya-svechei/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T01:58:17Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2934" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/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.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Алгоритм формирования свечей не зависит от шлюза.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/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.ru/users/6063/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Я уже думал об этом. Знал бы однозначно правильный ответ - конечно бы подсказал. Первое что приходит в голову, финалить свечу по изменению времени в трейдере. Но, понятно что информация о сделках могут появится и позже. Для себя я скорее всего так и сделаю. Возможно буду смотреть на время сделки в парной бумаге. Или через таймаут. Я там еще спрашивал на предмет одинаковости алгоритмов для других провайдеров. SmartCom основные свечные интервалы сам формирует. Это как-то учитывается или тоже свеча финалится по приходу первой сделки за пределами таймфрейма?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20805/</id>
    <title type="text">1. Свеча считается сформированной только тогда, когда пришел первый тик следующей свечи. 2. Таймауты...</title>
    <published>2012-08-13T17:16:56Z</published>
    <updated>2012-08-13T17:18:47Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">1. Свеча считается сформированной только тогда, когда пришел первый тик следующей свечи.&lt;br /&gt;2. Таймауты пока еще не работают.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;2. Как это можно обойти не заморачиваясь с собственным формированием свечей?&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/20804/</id>
    <title type="text">Не помогло Да и по первому логу видно, там куда больше 10% Вот так пробовал _CandleManager.Sources.O...</title>
    <published>2012-08-13T17:09:56Z</published>
    <updated>2012-08-13T17:11:16Z</updated>
    <author>
      <name>Memory</name>
      <uri>https://stocksharp.ru/users/6063/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Не помогло [sad]Да и по первому логу видно, там куда больше 10%&lt;br /&gt;&lt;br /&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.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout = 1;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;результат&lt;br /&gt;&lt;br /&gt;Candle RIU2 time 13.08.2012 20:17:00 volume 1534 local time 13.08.2012 20:17:08&lt;br /&gt;Candle RIZ2 time 13.08.2012 20:17:00 volume 1 local time 13.08.2012 20:17:08&lt;br /&gt;Candle RIU2 time 13.08.2012 20:18:00 volume 410 local time 13.08.2012 20:17:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:19:00 volume 99 local time 13.08.2012 20:18:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:20:00 volume 465 local time 13.08.2012 20:19:54&lt;br /&gt;Candle RIU2 time 13.08.2012 20:21:00 volume 663 local time 13.08.2012 20:20:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:22:00 volume 386 local time 13.08.2012 20:21:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:23:00 volume 222 local time 13.08.2012 20:22:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:24:00 volume 389 local time 13.08.2012 20:23:52&lt;br /&gt;Candle RIU2 time 13.08.2012 20:25:00 volume 525 local time 13.08.2012 20:24:51&lt;br /&gt;&lt;span class="highlight"&gt;Candle RIZ2 time 13.08.2012 20:18:00 volume 3 local time 13.08.2012 20:25:07&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&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.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout.Value=1;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Candle RIU2 time 13.08.2012 20:44:00 volume 484 local time 13.08.2012 20:43:55&lt;br /&gt;Candle RIU2 time 13.08.2012 20:45:00 volume 147 local time 13.08.2012 20:44:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:46:00 volume 264 local time 13.08.2012 20:45:52&lt;br /&gt;Candle RIU2 time 13.08.2012 20:47:00 volume 242 local time 13.08.2012 20:46:55&lt;br /&gt;&lt;span class="highlight"&gt;Candle RIZ2 time 13.08.2012 20:44:00 volume 1 local time 13.08.2012 20:47:04&lt;/span&gt;&lt;br /&gt;Candle RIU2 time 13.08.2012 20:48:00 volume 150 local time 13.08.2012 20:47:58&lt;br /&gt;Candle RIZ2 time 13.08.2012 20:48:00 volume 1 local time 13.08.2012 20:48:09&lt;br /&gt;Candle RIU2 time 13.08.2012 20:49:00 volume 1057 local time 13.08.2012 20:48:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:50:00 volume 503 local time 13.08.2012 20:49:53&lt;br /&gt;&lt;span class="highlight"&gt;Candle RIZ2 time 13.08.2012 20:49:00 volume 3 local time 13.08.2012 20:50:17&lt;/span&gt;&lt;br /&gt;Candle RIU2 time 13.08.2012 20:51:00 volume 2188 local time 13.08.2012 20:50:51&lt;br /&gt;Candle RIZ2 time 13.08.2012 20:51:00 volume 3 local time 13.08.2012 20:51:32&lt;br /&gt;Candle RIU2 time 13.08.2012 20:52:00 volume 1402 local time 13.08.2012 20:51:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:53:00 volume 1342 local time 13.08.2012 20:52:51&lt;br /&gt;Candle RIU2 time 13.08.2012 20:54:00 volume 1222 local time 13.08.2012 20:53:52&lt;br /&gt;Candle RIU2 time 13.08.2012 20:55:00 volume 460 local time 13.08.2012 20:54:51&lt;br /&gt;&lt;span class="highlight"&gt;Candle RIZ2 time 13.08.2012 20:52:00 volume 2 local time 13.08.2012 20:55:09&lt;/span&gt;&lt;br /&gt;Candle RIU2 time 13.08.2012 20:56:00 volume 1886 local time 13.08.2012 20:55:52&lt;br /&gt;Candle RIU2 time 13.08.2012 20:57:00 volume 621 local time 13.08.2012 20:56:52&lt;br /&gt;&lt;br /&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.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout = new Unit(1,UnitTypes.Percent);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;словил исключение - &lt;br /&gt;Проценты нельзя сравнивать с не процентами 1% и 0.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;StackTrace&lt;/b&gt;&lt;br /&gt;   at StockSharp.BusinessEntities.Unit.op_GreaterThan(Unit u1, Unit u2)&lt;br /&gt;   at StockSharp.BusinessEntities.Unit.op_LessThan(Unit u1, Unit u2)&lt;br /&gt;   at StockSharp.Algo.Candles.Compression.TimeFrameCandleBuilder.set_Timeout(Unit value)&lt;br /&gt;   at ArbirageStat.Form1.OnStartButton(Object sender, EventArgs e)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/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.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Попробуйте изменить TimeOut у TimeFrameCandleBuilder&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.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Timeout
&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.ru/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.ru/users/6063/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Столкнулся со следующей проблемой. Через QuikTrader тяну TimeFrame свечи на сентябрьский индекс РТС и декабрьский Сбер. Таймфрейм 1 минута.&lt;br /&gt;Обнаружил что свечи по декабрьскому контракту формируются с очень большим опозданием.&lt;br /&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;

        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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&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;

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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Сильно похоже на то, что свечя финишируется не по завершению временного интервала а по приходу новой сделки, лежащей за пределами таймфрейма свечи. Вопроса собственно 2:&lt;br /&gt;1. Такой алгоритм формирования сечи общий для всех провайдеров?&lt;br /&gt;2. Как это можно обойти не заморачиваясь с собственным формированием свечей?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>