﻿<?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">Возможно, проблема с SMA. Прошу меня проверить</title>
  <id>~/topic/2029/vozmozhno-problema-s-sma_-proshu-menya-proverit/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T22:41:17Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2029" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/12522/</id>
    <title type="text">Да, теперь разобрался. Спасибо за помощь!</title>
    <published>2011-10-19T11:28:24Z</published>
    <updated>2011-10-19T11:28:24Z</updated>
    <author>
      <name>Daenur</name>
      <uri>https://stocksharp.com/users/28118/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Да, теперь разобрался. Спасибо за помощь!</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/12504/</id>
    <title type="text">void candleManager_NewCandles(CandleToken candleToken, IEnumerable candles) Событие не то. Это появл...</title>
    <published>2011-10-18T22:52:17Z</published>
    <updated>2011-10-18T22:52:17Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Daenur &lt;a href="https://stocksharp.com/posts/m/12478/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;void candleManager_NewCandles(CandleToken candleToken, IEnumerable&amp;lt;Candle&amp;gt; candles)&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/12478/</id>
    <title type="text">Не понял вопроса. В КВИКе открываю &amp;quot;график цены и объема&amp;quot; для RIZ1, ставлю интервал минута. Потом за...</title>
    <published>2011-10-18T13:38:57Z</published>
    <updated>2011-10-18T13:38:57Z</updated>
    <author>
      <name>Daenur</name>
      <uri>https://stocksharp.com/users/28118/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Не понял вопроса.&lt;br /&gt;&lt;br /&gt;В КВИКе открываю &amp;quot;график цены и объема&amp;quot; для RIZ1, ставлю интервал минута. Потом запускаю S# и на событии&lt;br /&gt;void candleManager_NewCandles(CandleToken candleToken, IEnumerable&amp;lt;Candle&amp;gt; candles)&lt;br /&gt;смотрю, что пришло в candles (это очередная порция данных при первоначальной подгрузке)&lt;br /&gt;&lt;br /&gt;Вижу, что последний бар, пришедший по событию, не совпадает с тем, что в КВИКе. Дожидаюсь следующей порции баров, первый бар идет действительно следующим за последним из прошлой серии (т.е. их время не совпадает - был последний в 11.10, первый в новой порции - в 11.11)&lt;br /&gt;Теперь снова нахожу тот последний неправильный бар в candleManager - теперь он изменился и совпадает с КВИКом.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/12473/</id>
    <title type="text"> Обнаружилось несоответствие между данными КВИКа и барами, формируемыми StockSharp. См. рисунок. К п...</title>
    <published>2011-10-18T12:07:17Z</published>
    <updated>2011-10-18T12:07:17Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Daenur &lt;a href="https://stocksharp.com/posts/m/12467/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Обнаружилось несоответствие между данными КВИКа и барами, формируемыми StockSharp. См. рисунок. К примеру, бар 18.10.2011 в 13.10 на минутном графике RIZ1 не совпадает.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В Квике свечки строятся как? Как в S# или как в Финам?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/12467/</id>
    <title type="text">Насчет SMA ошибался, провел тесты - все корректно считает. Проблема оказалась в изменении бара. Т.к....</title>
    <published>2011-10-18T11:15:19Z</published>
    <updated>2011-10-18T11:35:40Z</updated>
    <author>
      <name>Daenur</name>
      <uri>https://stocksharp.com/users/28118/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Насчет SMA ошибался, провел тесты - все корректно считает. Проблема оказалась в изменении бара. Т.к. бары приходят порциями, то SMA так же считалась для всех пришедших баров, в т.ч. и для последнего, который я сохранял и с которым потом сравнивал значения. Оказалось, что после прихода новой порции баров последний из предыдущей порции менял свои значения. Почему - пока вопрос.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;upd.&lt;/b&gt;&lt;br /&gt;Обнаружилось несоответствие между данными КВИКа и барами, формируемыми StockSharp. См. рисунок. К примеру, бар 18.10.2011 в 13.10 на минутном графике RIZ1 не совпадает.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/12445/</id>
    <title type="text">Начал разбираться с проектом, немного переделываю примеры под свои задачи. Для начала решил разобрат...</title>
    <published>2011-10-17T19:46:43Z</published>
    <updated>2011-10-17T19:46:43Z</updated>
    <author>
      <name>Daenur</name>
      <uri>https://stocksharp.com/users/28118/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Начал разбираться с проектом, немного переделываю примеры под свои задачи. Для начала решил разобраться с индикаторами и их отрисовкой и столкнулся с проблемой - короткую SMA взял с периодом 1, на последнем баре ее значение иногда не совпадает с ценой закрытия бара. Подключение - к боевому серверу, данные за день приходят небольшими порциями, бары отрисовываются сразу по их приходу. После прихода нескольких порций данных нажимаю кнопку &amp;quot;Старт&amp;quot;, которая в будущем будем запускать стратегию, а пока что просто отрисовывает скользящие средние.&lt;br /&gt;&lt;br /&gt;Вот код:&lt;br /&gt;&lt;br /&gt;private void btnRunStrategy_Click(object sender, RoutedEventArgs e)&lt;br /&gt;		{&lt;br /&gt;			// Создаем торговую стратегию, скользящие средние&lt;br /&gt;			this.currentStrategy = new SmaStrategy(candleManager, new SimpleMovingAverage(20), new SimpleMovingAverage(1), this.currentTimeFrame, this.candleToken)&lt;br /&gt;			{&lt;br /&gt;				Volume = 1,&lt;br /&gt;				Security = this.SelectedSecurity,&lt;br /&gt;				Portfolio = (Portfolio)this.cbPortfolios.SelectedItem,&lt;br /&gt;				Trader = this.trader,&lt;br /&gt;			};&lt;br /&gt;&lt;br /&gt;			currentStrategy.Log += OnLog;&lt;br /&gt;			currentStrategy.NewOrder += new Action&amp;lt;Order&amp;gt;(currentStrategy_NewOrder);&lt;br /&gt;			currentStrategy.PropertyChanged += new PropertyChangedEventHandler(currentStrategy_PropertyChanged);&lt;br /&gt;&lt;br /&gt;			int index = 0;&lt;br /&gt;			IEnumerable&amp;lt;Candle&amp;gt; tmpCandles = candleManager.GetCandles(this.candleToken);&lt;br /&gt;&lt;br /&gt;			// начинаем вычислять скользящие средние&lt;br /&gt;			foreach (Candle candle in tmpCandles)&lt;br /&gt;			{&lt;br /&gt;				currentStrategy.LongSma.Add(candle.ClosePrice);&lt;br /&gt;				currentStrategy.ShortSma.Add(candle.ClosePrice);&lt;br /&gt;&lt;br /&gt;				// если все скользящие сформировались, то начинаем их отрисовывать&lt;br /&gt;				if (index &amp;gt;= currentStrategy.LongSma.Length)&lt;br /&gt;					DrawSmaLines(candle.Time);&lt;br /&gt;&lt;br /&gt;				index++;&lt;br /&gt;&lt;br /&gt;				if (currentStrategy.ShortSma.Values[currentStrategy.ShortSma.Values.Count - 1] != candle.ClosePrice)&lt;br /&gt;					MessageBox.Show(this, &amp;quot;@@@1&amp;quot;);&lt;br /&gt;&lt;br /&gt;				lastCandleTime = candle.Time;&lt;br /&gt;				lastCandle = candle;&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;На данном этапе все ок, последнее значение ShortSma равно цене закрытия бара. Но на графике потом иногда можно видеть, что последнее значение ShortSma уже не равно цене закрытия соответствующего бара, условие (currentStrategy.ShortSma.Values[currentStrategy.ShortSma.Values.Count - 1] != candle.ClosePrice) начинает выполняться.&lt;br /&gt;&lt;br /&gt;Больше нигде в коде данные в ShortSma не добавляются и не изменяются те, что ранее были добавлены.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>