﻿<?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/3548/indikator-on-lain/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-14T11:25:44Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3548" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/25559/</id>
    <title type="text">Здесь проблема в другом - if (input.IsFinal) поэтому этот способ не проходит, но все равно спасибо.</title>
    <published>2013-04-23T12:29:57Z</published>
    <updated>2013-04-23T12:29:57Z</updated>
    <author>
      <name>Compressor</name>
      <uri>https://stocksharp.ru/users/374/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здесь проблема в другом -&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;
 if (input.IsFinal)
&lt;/pre&gt;
&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/25555/</id>
    <title type="text">Если еще не разобрался, берем SampleSma под Quik и правим в MainWindow.Xaml.cs строчки CandleStates....</title>
    <published>2013-04-23T08:25:01Z</published>
    <updated>2013-04-23T08:25:01Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.ru/users/6442/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Если еще не разобрался, берем SampleSma под Quik и правим в MainWindow.Xaml.cs строчки &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;
CandleStates.Finished &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;на &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
CandleStates.Changed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;, всего три раза встречаются. &lt;br /&gt;&lt;br /&gt;А в SmaStrategy.cs меняем &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
.WhenCandlesFinished()&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; на &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
.WhenCandlesChanged()&lt;/pre&gt;
&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/25149/</id>
    <title type="text">В ссылках речь уже идет о стратегиях, а до этого пока далеко.</title>
    <published>2013-04-04T01:20:42Z</published>
    <updated>2013-04-04T01:20:42Z</updated>
    <author>
      <name>Compressor</name>
      <uri>https://stocksharp.ru/users/374/</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/25132/</id>
    <title type="text">В индикаторе ничего менять не надо. Надо прочитать это http://stocksharp.com/doc/?topic=html/a8159c9...</title>
    <published>2013-04-03T19:09:10Z</published>
    <updated>2013-04-03T19:09:10Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.ru/users/6442/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">В индикаторе ничего менять не надо. Надо прочитать это &lt;a href="http://stocksharp.com/doc/?topic=html/a8159c99-256b-46e4-80fe-7cf92944b4c9.htm " title="http://stocksharp.com/doc/?topic=html/a8159c99-256b-46e4-80fe-7cf92944b4c9.htm "&gt;http://stocksharp.com/do...4-80fe-7cf92944b4c9.htm &lt;/a&gt;и это &lt;a href="http://stocksharp.com/doc/?topic=html/97cf7a9c-8b3d-4791-9306-275d55d4cf36.htm " title="http://stocksharp.com/doc/?topic=html/97cf7a9c-8b3d-4791-9306-275d55d4cf36.htm "&gt;http://stocksharp.com/do...1-9306-275d55d4cf36.htm &lt;/a&gt;. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25120/</id>
    <title type="text">Что изменить в индикаторе, чтобы он рассчитывался в режиме реального времени, а не по факту начала ф...</title>
    <published>2013-04-03T13:23:52Z</published>
    <updated>2013-04-03T13:23:52Z</updated>
    <author>
      <name>Compressor</name>
      <uri>https://stocksharp.ru/users/374/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Что изменить в индикаторе, чтобы он рассчитывался в режиме реального времени, а не по факту начала формирования следующей свечи?&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;
protected override decimal OnProcess(IIndicatorValue input)
        {
                var candle = input.GetValue&amp;lt;Candle&amp;gt;();
               
               if (input.IsFinal)
                {
                    _bufferh.Add(candle.HighPrice);
                    _bufferl.Add(candle.LowPrice);
                }



                _zigZagBuffer.Add(0);
                _bufferh1.Add(0);
                _bufferh2.Add(0);
                
                _bufferl1.Add(0);
                _bufferl2.Add(0);
                
                for (int i = 1; i &amp;lt; _bufferl.Count; i++)
                { 
                    if (_bufferh[i] &amp;gt; _bufferh[i - 1])
                    {
                        _bufferh1[i] = _bufferh[i];
                    }
                    else
                        _bufferh1[i] = _bufferh1[i - 1];

                    if (_bufferh1[i] &amp;gt; _bufferh1[i - 1])
                    {
                        _bufferh2[i] = _bufferh1[i];
                    }
                    else
                        _bufferh2[i] = _bufferh2[i - 1];

                    

                    
                    if (_bufferl[i] &amp;lt; _bufferl[i - 1])
                    {
                        _bufferl1[i] = _bufferl[i];
                    }
                    else
                        _bufferl1[i] = _bufferl1[i - 1];

                    if (_bufferl1[i] &amp;lt; _bufferl1[i - 1])
                    {
                        _bufferl2[i] = _bufferl1[i];
                    }
                    else
                        _bufferl2[i] = _bufferl2[i - 1];

                    
                        // zigzag
                        if (_bufferl2[i] != _bufferl2[i - 1])
                        {

                            _zigZagBuffer[i] = _bufferl2[i];
                            LastValue = _bufferl2[i];
                        }
                        else
                        {
                            if (_bufferh2[i] != _bufferh2[i - 1])
                            {

                                _zigZagBuffer[i] = _bufferh2[i];
                                LastValue = _bufferh2[i];
                            }
                            else
                            {

                                _zigZagBuffer[i] = _zigZagBuffer[i - 1];
                                LastValue = _zigZagBuffer[i];
                            }
                        }

                }
                if (candle.State == CandleStates.Finished || candle.State == CandleStates.Changed)

                {
                    if (_zigZagBuffer == _bufferl2 &amp;amp;&amp;amp; candle.LowPrice &amp;lt; LastValue)
                        CurrentValue = Math.Min(candle.LowPrice,LastValue);
                    else
                    {
                        if (_zigZagBuffer == _bufferh2 &amp;amp;&amp;amp; candle.HighPrice &amp;gt; LastValue)
                            CurrentValue = Math.Max(candle.HighPrice,LastValue);
                        else
                            CurrentValue = LastValue;
                    }
                }
                return CurrentValue;
                
         }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>