﻿<?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">возможно некорректная работа SampleSMA v.4.1.6</title>
  <id>~/topic/3191/vozmozhno-nekorrektnaya-rabota-samplesma-v_4_1_6/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-22T22:29:28Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3191" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/22976/</id>
    <title type="text">Играясь с индикаторами и примером SampleCandles, обнаружил, следующее: Если в методе DrawCandle обра...</title>
    <published>2012-12-16T07:58:54Z</published>
    <updated>2012-12-16T07:58:54Z</updated>
    <author>
      <name>Algonavt</name>
      <uri>https://stocksharp.com/users/639/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Играясь с индикаторами и примером SampleCandles, обнаружил, следующее:&lt;br /&gt;Если в методе DrawCandle обработку делать следующим образом, то средняя просто соединяет цены закрытия свечей:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
this.GuiAsync(() =&amp;gt;
               {

                   var wnd = _chartWindows.TryGetValue(series);

                   var bollingerValue = candle.State == CandleStates.Finished
                       ? new ChartIndicatorValue(_bollingerElement.Indicator, _bollingerElement.Indicator.Process(candle))
                       : null;

                   wnd.Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                    {
                        { _candlesElement, candle },
                        { _bollingerElement, bollingerValue }
                    });
               });&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;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
var wnd = _chartWindows.TryGetValue(series);

            var bollingerValue = candle.State == CandleStates.Finished
            ? new ChartIndicatorValue(_bollingerElement.Indicator, _bollingerElement.Indicator.Process(candle))
            : null;

            this.GuiAsync(() =&amp;gt; wnd.Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                    {
                        { _candlesElement, candle },
                        { _bollingerElement, bollingerValue }
                    }));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;С чем это может быть связано? Вроде как проблему решил, но всё равно хочется разобраться, почему проблема возникла.&lt;br /&gt;&lt;br /&gt;PS: в аттаче работающий проект.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22748/</id>
    <title type="text">Спасибо доктор, помогло:)</title>
    <published>2012-11-30T17:53:52Z</published>
    <updated>2012-11-30T17:53:52Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.com/users/6533/</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/22737/</id>
    <title type="text">1. Он и должен быть protected. 2. LastValue уже давно нет, смотрите последние версии индикаторов.</title>
    <published>2012-11-30T13:56:59Z</published>
    <updated>2012-11-30T13:56:59Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.com/users/5990/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">1. Он и должен быть protected.&lt;br /&gt;2. LastValue уже давно нет, смотрите последние версии индикаторов.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22736/</id>
    <title type="text">Спасибо! Но вопрос по Аллигатору по-прежнему остался. Попробовал свой индикатор написать аналогичный...</title>
    <published>2012-11-30T13:28:01Z</published>
    <updated>2012-11-30T13:28:01Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.com/users/6533/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Спасибо! Но вопрос по Аллигатору по-прежнему остался.&lt;br /&gt;Попробовал свой индикатор написать аналогичный аллигатору, но при переопределении метода OnProcess&lt;br /&gt;вот так: &lt;br /&gt;&lt;span class="highlight"&gt;&lt;br /&gt;public  override decimal OnProcess(IIndicatorValue input)&lt;br /&gt;        {&lt;br /&gt;            //если кол-во в буфере больше Shift, то первое значение отдали в прошлый раз, удалим его.&lt;br /&gt;            if (Buffer.Count &amp;gt; Shift)&lt;br /&gt;                Buffer.RemoveAt(0);&lt;br /&gt;&lt;br /&gt;            var smaResult = _sma.Process(_medianPrice.Process(input));&lt;br /&gt;            if (_sma.IsFormed)&lt;br /&gt;                Buffer.Add(smaResult.GetValue&amp;lt;decimal&amp;gt;());&lt;br /&gt;&lt;br /&gt;            return Buffer.Count &amp;gt; Shift ? Buffer[0] : LastValue;&lt;br /&gt;        }&lt;/span&gt;&lt;br /&gt;получаю ошибку &amp;lt;Ошибка	1&amp;quot;SampleSMA.WildersAlligator.OnProcess(StockSharp.Algo.Indicators.IIndicatorValue)&amp;quot;: невозможно изменить модификаторы доступа при переопределении унаследованного из &amp;quot;protected&amp;quot; члена &amp;quot;StockSharp.Algo.Indicators.BaseIndicator&amp;lt;decimal&amp;gt;.OnProcess(StockSharp.Algo.Indicators.IIndicatorValue)&amp;quot;&amp;gt;.&lt;br /&gt;При попытке смены модификатора на &amp;quot;protected&amp;quot; получаю &lt;br /&gt;&amp;lt;Ошибка	1:Имя &amp;quot;LastValue&amp;quot; отсутствует в текущем контексте&amp;gt;. Если закрыть &amp;quot;LastValue&amp;quot;, то компилится, но работать правильно естественно не будет.&lt;br /&gt;Прям замкнутый круг какой-то.[confused] &lt;br /&gt;Подскажите как правильно переопределить OnProcess, чтоб на Public не ругался и &amp;quot;LastValue&amp;quot; увидел???</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22733/</id>
    <title type="text">Поправил на кодеплексе.</title>
    <published>2012-11-30T06:40:36Z</published>
    <updated>2012-11-30T06:40:36Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.com/users/5990/</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/22731/</id>
    <title type="text">Кладу рисунки повторно, что-то загрузились с ошибкой.</title>
    <published>2012-11-29T22:13:35Z</published>
    <updated>2012-11-29T22:13:35Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.com/users/6533/</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/22730/</id>
    <title type="text">В хелпе код вывода написан и он работает, а схема вывода, представленная в примере SampleSMA работае...</title>
    <published>2012-11-29T22:09:00Z</published>
    <updated>2012-11-29T22:09:00Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.com/users/6533/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В хелпе код вывода написан и он работает, а схема вывода, представленная в примере SampleSMA работает неправильно на реале.&lt;br /&gt;А причина полагаю в том, что переменная series объявлена как локальная в private void StartClick(object sender, RoutedEventArgs e).&lt;br /&gt;Надобно её в private класса MainWindow записать. С этим вроде всё.&lt;br /&gt;Вот ещё попутно вопрос-заметка. Похоже индикатор Аллигатор считается неверно. На графике (на одних и тех же данных) в визуале (рисунок 1) он один, а &lt;br /&gt;на графике в квике (рисунок 2) он совсем другой. Причем график квик совпадает с графиком в AmiBrocker.&lt;br /&gt;Ошибка в построении (а возможно и в вычислении) следующая:&lt;br /&gt;Челюсть аллигатора не может отображаться с 6-й свечи. Ей для расчета нужно 13 и сдвинуть её надо на 8.&lt;br /&gt;Следовательно, отражаться она будет только с 22 свечи. Аналогично для зубов и губ. На картинке из квика аллигатор такой потому что данные идут с 4-х утра.&lt;br /&gt;И ещё вопрос. Какой способ расчета скользящих средних применяется в Аллигаторе в стокшарпе: простая, сглаженная, экспоненциальная или по уайлдерсу??</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22728/</id>
    <title type="text">Значения индикатор высчитывает, но как-то странно. Например для первой поступившей свечки 80-ти пери...</title>
    <published>2012-11-29T19:52:16Z</published>
    <updated>2012-11-29T19:52:16Z</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;Semen7 &lt;a href="https://stocksharp.com/posts/m/22726/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Значения индикатор высчитывает, но как-то странно. Например для первой поступившей свечки 80-ти периодное скользящее среднее&lt;br /&gt;выдает значение для вывода на график. Но как?&lt;br /&gt;&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/22726/</id>
    <title type="text">Значения индикатор высчитывает, но как-то странно. Например для первой поступившей свечки 80-ти пери...</title>
    <published>2012-11-29T19:17:54Z</published>
    <updated>2012-11-29T19:17:54Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.com/users/6533/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Значения индикатор высчитывает, но как-то странно. Например для первой поступившей свечки 80-ти периодное скользящее среднее&lt;br /&gt;выдает значение для вывода на график. Но как? Если ему минимум надо 80 свечек для вычисления первого значения.&lt;br /&gt;Вычисленное значение совпадает с ценой закрытия свечки. И так для все остальных свечек. Такое ощущение, что все уже сформированные свечки,&lt;br /&gt;которые индикатор проглотил, он не воспринимает,а считает только по текущей.&lt;br /&gt;Может важно, свойство индикатора IsFormed после вычисления всегда == false. &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/22723/</id>
    <title type="text">Эксепшены вроде не появлялись, а что именно в отладчике смотреть? Реальные значения индикаторов, что...</title>
    <published>2012-11-29T16:20:48Z</published>
    <updated>2012-11-29T16:20:48Z</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;Semen7 &lt;a href="https://stocksharp.com/posts/m/22717/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Эксепшены вроде не появлялись, а что именно в отладчике смотреть?&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/22717/</id>
    <title type="text">Когда отключаешь код загрузки истории, получается тоже самое. На всякий случай привожу отключаемый к...</title>
    <published>2012-11-29T10:42:41Z</published>
    <updated>2012-11-29T10:42:41Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.com/users/6533/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Когда отключаешь код загрузки истории, получается тоже самое. На всякий случай привожу отключаемый код (вдруш чаво лишнего закоментил).&lt;br /&gt;/*IEnumerable&amp;lt;Candle&amp;gt; candles = CultureInfo.InvariantCulture.DoInCulture(() =&amp;gt; File.ReadAllLines(&amp;quot;LKOH_history.txt&amp;quot;).Select(line =&amp;gt;&lt;br /&gt;				{&lt;br /&gt;					var parts = line.Split(&amp;#39;,&amp;#39;);&lt;br /&gt;					var time = (parts[0] + parts[1]).ToDateTime(&amp;quot;yyyyMMddHHmmss&amp;quot;);&lt;br /&gt;					return (Candle)new TimeFrameCandle&lt;br /&gt;					{&lt;br /&gt;						OpenPrice = parts[2].To&amp;lt;decimal&amp;gt;(),&lt;br /&gt;						HighPrice = parts[3].To&amp;lt;decimal&amp;gt;(),&lt;br /&gt;						LowPrice = parts[4].To&amp;lt;decimal&amp;gt;(),&lt;br /&gt;						ClosePrice = parts[5].To&amp;lt;decimal&amp;gt;(),&lt;br /&gt;						TimeFrame = _timeFrame,&lt;br /&gt;						OpenTime = time,&lt;br /&gt;						CloseTime = time + _timeFrame,&lt;br /&gt;						TotalVolume = parts[6].To&amp;lt;decimal&amp;gt;(),&lt;br /&gt;						Security = _lkoh,&lt;br /&gt;						State = CandleStates.Finished,&lt;br /&gt;					};&lt;br /&gt;				}).ToArray());&lt;br /&gt;&lt;br /&gt;				var lastCandleTime = default(DateTime);&lt;br /&gt;&lt;br /&gt;				// начинаем вычислять скользящие средние&lt;br /&gt;				foreach (var candle in candles)&lt;br /&gt;				{&lt;br /&gt;					ProcessCandle(candle);&lt;br /&gt;					lastCandleTime = candle.OpenTime;&lt;br /&gt;				}&lt;a href='httpsnull' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://null" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;*/&lt;br /&gt;/*var bounds = _timeFrame.GetCandleBounds(series.Security);&lt;br /&gt;&lt;br /&gt;				candles = _candleManager.Container.GetCandles(series, new Range&amp;lt;DateTime&amp;gt;(lastCandleTime + _timeFrame, bounds.Min));&lt;br /&gt;&lt;br /&gt;				foreach (var candle in candles)&lt;br /&gt;				{&lt;br /&gt;					ProcessCandle(candle);&lt;br /&gt;				}*/&lt;br /&gt;На рисунке пример того, что получается при отключении истории. Вроде бы он должен рисовать две скользящие средние&lt;br /&gt;с длиной 80 и 10 для реальных данных. А на деле получается рисует непонятно чего.&lt;br /&gt;Эксепшены вроде не появлялись, а что именно в отладчике смотреть?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22715/</id>
    <title type="text">Вчера на примере SampleSMA получил то же самое. Интересно узнать мнение разработчиков по этому повод...</title>
    <published>2012-11-29T09:39:44Z</published>
    <updated>2012-11-29T09:39:44Z</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;Algonavt &lt;a href="https://stocksharp.com/posts/m/22710/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Вчера на примере SampleSMA получил то же самое. Интересно узнать мнение разработчиков по этому поводу - бага это или где-то в самом примере недоработка.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Может потому что разница м/у историей и реалом 3 месяца? А что отладчик говорит? Или пример тоже обфусцирован?[cool] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22710/</id>
    <title type="text">Вчера на примере SampleSMA получил то же самое. Интересно узнать мнение разработчиков по этому повод...</title>
    <published>2012-11-29T07:51:48Z</published>
    <updated>2012-11-29T07:51:48Z</updated>
    <author>
      <name>Algonavt</name>
      <uri>https://stocksharp.com/users/639/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Вчера на примере SampleSMA получил то же самое. Интересно узнать мнение разработчиков по этому поводу - бага это или где-то в самом примере недоработка.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22701/</id>
    <title type="text">Всем здравствуйте! Только начинаю разбираться в stockslash и столкнулся со следующим. Пример SampleS...</title>
    <published>2012-11-28T12:39:40Z</published>
    <updated>2012-11-28T12:39:40Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.com/users/6533/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Всем здравствуйте!&lt;br /&gt;Только начинаю разбираться в stockslash и столкнулся со следующим. &lt;br /&gt;Пример SampleSMA в версии 4.1.6 то-ли некорректно работает, то-ли ...&lt;br /&gt;Чудесно компилируется, запускается, отрисовывает исторические данные по &amp;quot;LKOH&amp;quot; (которые идут в комплекте вместе с данным примером)&lt;br /&gt;и скользящие средние для них. Но как только переходит на реальное время, все скользящие средние начинают вычисляться некорректно,&lt;br /&gt;становятся фактически одной линией, которая проходит по закрытию свечей. Причём на изменение параметров &lt;br /&gt;скользящей средней при отрисовке реальных данных не реагирует, что Length = 10, что 30, разницы никакой. Может подскажет кто, в чём дело?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>