﻿<?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/3548/indikator-on-lain/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T09:53:25Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3548" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/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.com/users/374/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Здесь проблема в другом -&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt; if (input.IsFinal)

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;поэтому этот способ не проходит, но все равно спасибо.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Если еще не разобрался, берем SampleSma под Quik и правим в MainWindow.Xaml.cs строчки&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;CandleStates.Finished 
```на ```csharp
CandleStates.Changed
```, всего три раза встречаются. 

А в SmaStrategy.cs меняем ```csharp
.WhenCandlesFinished()
``` на ```csharp
.WhenCandlesChanged()
```.
Энджой, свечи  и индикаторы пляшут. 
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/374/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В ссылках речь уже идет о стратегиях, а до этого пока далеко.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В индикаторе ничего менять не надо. Надо прочитать это &lt;a href="http://stocksharp.com/doc/?topic=html/a8159c99-256b-46e4-80fe-7cf92944b4c9.htm"&gt;http://stocksharp.com/doc/?topic=html/a8159c99-256b-46e4-80fe-7cf92944b4c9.htm&lt;/a&gt; и это &lt;a href="http://stocksharp.com/doc/?topic=html/97cf7a9c-8b3d-4791-9306-275d55d4cf36.htm"&gt;http://stocksharp.com/doc/?topic=html/97cf7a9c-8b3d-4791-9306-275d55d4cf36.htm&lt;/a&gt; .&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/374/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Что изменить в индикаторе, чтобы он рассчитывался в режиме реального времени, а не по факту начала формирования следующей свечи?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-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;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>