﻿<?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/1062/nepravilnoe-formirovanie-svechek-neskolko-tf-mnogo-strategii/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-04T08:31:30Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1062" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/3865/</id>
    <title type="text">Надо. Иначе будет исключение. Специально сделал чтобы ловили с своих роботах код, который норовит за...</title>
    <published>2010-08-25T02:36:00Z</published>
    <updated>2010-08-25T02:36:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Надо. Иначе будет исключение. Специально сделал чтобы ловили с своих&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/3864/</id>
    <title type="text">Михаил, задам вопрос тут, дабы не плодить множество тем - надо ли дополнительно проверять IsTimeFram...</title>
    <published>2010-08-25T01:40:00Z</published>
    <updated>2010-08-25T01:40:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Михаил, задам вопрос тут, дабы не плодить множество тем - надо ли&lt;br /&gt;дополнительно проверять IsTimeFrameCandlesRegistered перед&lt;br /&gt;регистрацией таймфрейма или это уже запрятано внутрь&lt;br /&gt;RegisterTimeFrameCandles и повторной регистрации не произойдёт в любом&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/3863/</id>
    <title type="text">Чтобы закрыть эту тему - реализовал именно таким образом сейчас, завтра протестирую </title>
    <published>2010-08-25T00:55:00Z</published>
    <updated>2010-08-25T00:55:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Чтобы закрыть эту тему - реализовал именно таким образом сейчас,&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/3415/</id>
    <title type="text">Я правильно понимаю что для каждого QuikTrader надо создать свой CandleManager и регистрировать необ...</title>
    <published>2010-08-24T21:20:00Z</published>
    <updated>2010-08-24T21:20:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Я правильно понимаю что для каждого QuikTrader надо создать свой&lt;br /&gt;CandleManager и регистрировать необходимые ТФ?&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/3414/</id>
    <title type="text">Хм, а вот тут не все так просто. Я пока даже предствить себе не могу, как это фиксить. Алгоритм свеч...</title>
    <published>2010-08-24T20:16:00Z</published>
    <updated>2010-08-24T20:16:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Хм, а вот тут не все так просто. Я пока даже предствить себе не могу,&lt;br /&gt;как это фиксить. Алгоритм свечной не поддерживает такое поведение...&lt;br /&gt;Может быть формировать свечки по конретным QuikTrader?&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/3413/</id>
    <title type="text">Понял, похоже на мои предположения. Буду ждать фикса тогда, сейчас с несколькими квиками не получает...</title>
    <published>2010-08-24T19:57:00Z</published>
    <updated>2010-08-24T19:57:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Понял, похоже на мои предположения. Буду ждать фикса тогда, сейчас с&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/3412/</id>
    <title type="text">Ха, я кажется понял в чем фишка. Один Квик строит свечки последовательно, по сделкам. 6 квиков посыл...</title>
    <published>2010-08-24T16:11:00Z</published>
    <updated>2010-08-24T16:11:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Ха, я кажется понял в чем фишка. Один Квик строит свечки&lt;br /&gt;последовательно, по сделкам. 6 квиков посылают сделки параллельно. Как&lt;br /&gt;следствие, неправильные свечки. Алго построения свечек основан на том,&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/3411/</id>
    <title type="text">Да, на сервере 6 квиков, на локальной машине - 1 квик. И там и там идёт работа через MultiTrader, пр...</title>
    <published>2010-08-24T15:33:00Z</published>
    <updated>2010-08-24T15:33:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Да, на сервере 6 квиков, на локальной машине - 1 квик. И там и там&lt;br /&gt;идёт работа через MultiTrader, программа-робот одна и таже.&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/3410/</id>
    <title type="text">Чем проще цикл, тем меньше ошибок... Так что насчет разницы между тачками? </title>
    <published>2010-08-24T15:08:00Z</published>
    <updated>2010-08-24T15:08:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Чем проще цикл, тем меньше ошибок... Так что насчет разницы между&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/3409/</id>
    <title type="text">У меня просто там много дополнительных условий в цикле, наверное на foreach не получится так просто ...</title>
    <published>2010-08-24T14:29:00Z</published>
    <updated>2010-08-24T14:29:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">У меня просто там много дополнительных условий в цикле, наверное на&lt;br /&gt;foreach не получится так просто заменить. Попробую в любом случае =)&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/3408/</id>
    <title type="text">Так, разница между тачками все-таки есть - 1 квик и несколько? </title>
    <published>2010-08-24T14:28:00Z</published>
    <updated>2010-08-24T14:28:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Так, разница между тачками все-таки есть - 1 квик и несколько?&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/3407/</id>
    <title type="text">Ух, так и правда проще, спасибо. Нет, не менялись - начиная с первой новой свечки (которая формирует...</title>
    <published>2010-08-24T14:25:00Z</published>
    <updated>2010-08-24T14:25:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Ух, так и правда проще, спасибо.&lt;br /&gt;Нет, не менялись - начиная с первой новой свечки (которая формируется&lt;br /&gt;по ходу стратегии, а не до запуска) - неправильные значения.&lt;br /&gt;На локальном компьютере с 1м квиком - всё нормально&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/3406/</id>
    <title type="text">Ок... Еще по логу можете посмотреть, менялись ли старые свечки? Или на всех итерациях неправильное з...</title>
    <published>2010-08-24T14:19:00Z</published>
    <updated>2010-08-24T14:19:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Ок... Еще по логу можете посмотреть, менялись ли старые свечки? Или на&lt;br /&gt;всех итерациях неправильное значение?&lt;br /&gt;&lt;br /&gt;Просто поправка по коду. Как то сложно пишите. Может вот так?&lt;br /&gt;&lt;br /&gt;foreach (var localCandle in oldCandles.OrderByDescending(c =&amp;gt; c.Time))&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/3405/</id>
    <title type="text">Да, свечки получаются через var oldCandles = _candleManager.GetTimeFrameCandles(Security, TimeFrame,...</title>
    <published>2010-08-24T14:01:00Z</published>
    <updated>2010-08-24T14:01:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Да, свечки получаются через&lt;br /&gt;         var oldCandles = _candleManager.GetTimeFrameCandles(Security,&lt;br /&gt;TimeFrame, new Range&amp;lt;DateTime&amp;gt;(firstTime, Trader.MarketTime));&lt;br /&gt;&lt;br /&gt;Но дальше я ведь пробегаю по всем этим свечкам в цикле и печатаю.&lt;br /&gt;Печатаются из цикла неверные значения для всех (!) свечек, не только&lt;br /&gt;для последней (последнюю я как раз и не смотрю) - для всех от 10:20 до&lt;br /&gt;10:45.&lt;br /&gt;Печать, которую дал в первом посте была сделана в 10:50:01, просто&lt;br /&gt;убрал это из сообщения.&lt;br /&gt;&lt;br /&gt;Если убрать всё ненужное, то вот печать:&lt;br /&gt;&lt;br /&gt;                          var oldCandCount = oldCandles.Count();&lt;br /&gt;                            while (it &amp;lt;= oldCandCount)&lt;br /&gt;                            {&lt;br /&gt;                                localCandle =&lt;br /&gt;oldCandles.ElementAt(oldCandCount - it);&lt;br /&gt;                                if (localCandle != null)&lt;br /&gt;                                {&lt;br /&gt;                                    AddLog(StrategyErrorStates.None,&lt;br /&gt;&amp;quot;localCandle: time({0}), open({1}), close({2}), high({3}), low({4}); &amp;quot;&lt;br /&gt;+&lt;br /&gt;&lt;br /&gt;&amp;quot;TimeFrame: {5}, TotalVolume({6}), TotalPrice({7})&amp;quot;,&lt;br /&gt;                                           new object[]&lt;br /&gt;                                   {&lt;br /&gt;                                       localCandle.Time.TimeOfDay,&lt;br /&gt;                                       localCandle.OpenPrice,&lt;br /&gt;localCandle.ClosePrice, localCandle.HighPrice,&lt;br /&gt;                                       localCandle.LowPrice,&lt;br /&gt;                                       localCandle.TimeFrame,&lt;br /&gt;                                       localCandle.TotalVolume,&lt;br /&gt;                                       localCandle.TotalPrice&lt;br /&gt;                                   });&lt;br /&gt;                                }&lt;br /&gt;                                it++;&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/3404/</id>
    <title type="text">Так Вы же пишите, что включения робота свечки верные. Первые потому, что они полностью сформированы,...</title>
    <published>2010-08-24T13:52:00Z</published>
    <updated>2010-08-24T13:52:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Так Вы же пишите, что включения робота свечки верные. Первые потому,&lt;br /&gt;что они полностью сформированы, и трюк к запросом всех свечек по&lt;br /&gt;текущее время прокатит. А у Вас наверное запрос свечек идет в&lt;br /&gt;OnProcess. И на каждой итерации будет захватываться еще не&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/3403/</id>
    <title type="text">Нет, не это. Все остальные свечки после включения роботов (в 10:18) тоже кривые, всё они неверные - ...</title>
    <published>2010-08-24T13:29:00Z</published>
    <updated>2010-08-24T13:29:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Нет, не это. Все остальные свечки после включения роботов (в 10:18)&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/3402/</id>
    <title type="text">Если запрашивать через диапазон new Range(firstTime, marketTime), то можно захватить еще не сформиро...</title>
    <published>2010-08-24T13:23:00Z</published>
    <updated>2010-08-24T13:23:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Если запрашивать через диапазон new Range&amp;lt;DateTime&amp;gt;(firstTime,&lt;br /&gt;marketTime), то можно захватить еще не сформированную текущую свечку.&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/3401/</id>
    <title type="text">1) свечка в 10:45 должна быть: открытие 139920 макс 139965 мин 139870 закрытие 139800 объём 6957 (ни...</title>
    <published>2010-08-24T13:16:00Z</published>
    <updated>2010-08-24T13:16:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">1) свечка в 10:45 должна быть:&lt;br /&gt;открытие 139920&lt;br /&gt;макс 139965&lt;br /&gt;мин 139870&lt;br /&gt;закрытие 139800&lt;br /&gt;объём 6957 (никак не 474 по логу (объём дописал потом))&lt;br /&gt;&lt;br /&gt;т.е. совсем другие данные&lt;br /&gt;&lt;br /&gt;2) Никакой разницы нет,время синхронизировано с сервером и стоит одна&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/3400/</id>
    <title type="text">1. На счет объема не понял - он в лог не выводится... А в чем кривость свечек то? 2. А в чем разница...</title>
    <published>2010-08-24T13:10:00Z</published>
    <updated>2010-08-24T13:10:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">1. На счет объема не понял - он в лог не выводится... А в чем кривость&lt;br /&gt;свечек то?&lt;br /&gt;2. А в чем разница между локальным компьютером и том, на котором лог&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/3399/</id>
    <title type="text">Запущено 10 стратегий, для CandleManager регистрируются 2 ТФ: 1- минутки и 5-минутки. Пытаюсь получа...</title>
    <published>2010-08-24T11:01:00Z</published>
    <updated>2010-08-24T11:01:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Запущено 10 стратегий, для CandleManager регистрируются 2 ТФ: 1-&lt;br /&gt;минутки и 5-минутки.&lt;br /&gt;Пытаюсь получать свечки внутри стратегии, вот их распечатка:&lt;br /&gt;&lt;br /&gt;localCandle: time(10:45:00), open(139880), close(139800),&lt;br /&gt;high(139945), low(139775); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:40:00), open(139965), close(139910),&lt;br /&gt;high(140145), low(139875); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:35:00), open(140335), close(139985),&lt;br /&gt;high(140335), low(139950); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:30:00), open(140250), close(140355),&lt;br /&gt;high(140395), low(140110); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:25:00), open(140330), close(140250),&lt;br /&gt;high(140335), low(140235); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:20:00), open(140240), close(140325),&lt;br /&gt;high(140340), low(140195); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:15:00), open(140250), close(140185),&lt;br /&gt;high(140325), low(140110); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:10:00), open(140150), close(140225),&lt;br /&gt;high(140385), low(140125); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:05:00), open(140375), close(140150),&lt;br /&gt;high(140375), low(140140); TimeFrame: 00:05:00&lt;br /&gt;localCandle: time(10:00:00), open(140770), close(140370),&lt;br /&gt;high(140770), low(140255); TimeFrame: 00:05:00&lt;br /&gt;&lt;br /&gt;Стратегия запущена была в 10:18, до этого времени свечки как раз&lt;br /&gt;верные, после - совсем не то.&lt;br /&gt;Это фьючерс на индекс РТС - как видно свечки кривые как раз после&lt;br /&gt;запуска.&lt;br /&gt;Объём свечек тоже неверный, объём свечки в 10:45 - 474, в 10:40 -&lt;br /&gt;217...&lt;br /&gt;&lt;br /&gt;Свечки получаю через:&lt;br /&gt;var oldCandles = _candleManager.GetTimeFrameCandles(Security,&lt;br /&gt;TimeFrame, new Range&amp;lt;DateTime&amp;gt;(firstTime, marketTime)); //firstTime -&lt;br /&gt;10.00, marketTime - текущее время, TimeFrame - 5 минут&lt;br /&gt;&lt;br /&gt;Самое интересное - на локальном компьютере, где запущены всего 3&lt;br /&gt;стратегии и 1 квик - всё нормально. &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>