﻿<?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">4.2.2.25: Indicators. Метод OnProcess возвращает IIndicatorValue.</title>
  <id>~/topic/4748/4_2_2_25-indicators_-metod-onprocess-vozvrashshaet-iindicatorvalue_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-10T09:08:38Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4748" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/31807/</id>
    <title type="text">Ап! Камрады, плз, не останьтесь безучастными к проблемам собрата! class ExtraDummyMultiIndicator : B...</title>
    <published>2014-10-03T09:09:21Z</published>
    <updated>2014-10-03T09:09:21Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.com/users/28840/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Andrii &lt;a href="https://stocksharp.com/posts/m/31806/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Rebelion &lt;a href="https://stocksharp.com/posts/m/31805/" 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;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
class ExtraDummyMultiIndicator : BaseComplexIndicator
        {
            protected override ComplexIndicatorValue OnProcess(IIndicatorValue input)
            {
                return base.OnProcess(input);
            }
        }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&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;
SingleIndicatorValue&amp;lt;decimal []&amp;gt;&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.com/posts/m/31806/</id>
    <title type="text">Ап! Камрады, плз, не останьтесь безучастными к проблемам собрата! class ExtraDummyMultiIndicator : B...</title>
    <published>2014-10-03T07:00:59Z</published>
    <updated>2014-10-03T07:00:59Z</updated>
    <author>
      <name>Andrii</name>
      <uri>https://stocksharp.com/users/27996/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Rebelion &lt;a href="https://stocksharp.com/posts/m/31805/" 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;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
class ExtraDummyMultiIndicator : BaseComplexIndicator
        {
            protected override ComplexIndicatorValue OnProcess(IIndicatorValue input)
            {
                return base.OnProcess(input);
            }
        }&lt;/pre&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/31805/</id>
    <title type="text">Ап! Камрады, плз, не останьтесь безучастными к проблемам собрата!</title>
    <published>2014-10-02T21:55:46Z</published>
    <updated>2014-10-02T22:47:12Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.com/users/28840/</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/31787/</id>
    <title type="text">Работало, чесслово. Использовал BaseIndicator. теперь же, видимо, придётся переделывать код - разбир...</title>
    <published>2014-10-02T10:12:02Z</published>
    <updated>2014-10-02T12:32:56Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.com/users/28840/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Работало, чесслово. Использовал BaseIndicator&amp;lt;decimal []&amp;gt;.&lt;br /&gt;теперь же, видимо, придётся переделывать код - разбираться в ComplexIndicatorValue или делать какие-либо собственные обёртки...&lt;br /&gt;Да, если будет возможность, пожалуйста, какой-нибудь dummy код приведите с использованием ComplexIndicatorValue. Заранее пасиба!</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/31781/</id>
    <title type="text"> Коллега, а выложите чат для тех, кто данной инфой не обладает... protected override IIndicatorValue...</title>
    <published>2014-10-02T05:36:28Z</published>
    <updated>2014-10-02T05:36:28Z</updated>
    <author>
      <name>Andrii</name>
      <uri>https://stocksharp.com/users/27996/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Rebelion &lt;a href="https://stocksharp.com/posts/m/31780/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.com/posts/m/31761/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Rebelion &lt;a href="https://stocksharp.com/posts/m/31760/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Коллега, а выложите чат для тех, кто данной инфой не обладает...&lt;/div&gt;&lt;/div&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;

protected override IIndicatorValue OnProcess(IIndicatorValue input)
  {
   var newValue = input.GetValue&amp;lt;decimal&amp;gt;();

   if (input.IsFinal)
   {
    Buffer.Add(newValue);
    
    if ((Buffer.Count - 1) &amp;gt; Length)
     Buffer.RemoveAt(o);
   }

   if (Buffer.Count == 0)
    return new DecimalIndicatorValue();

   return (DecimalIndicatorValue)(newValue - Buffer[0]);
  }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Теперь вопрос.&lt;br /&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;
protected override decimal [] OnProcess(IIndicatorValue input)
{
     return new decimal[2] {1.0m, 1.0m};
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&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;
protected override IIndicatorValue [] OnProcess(IIndicatorValue input)
{
     new DecimalIndicatorValue[2] {(DecimalIndicatorValue)1.0m, (DecimalIndicatorValue)1.0m};
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;ругается, что возвращаемое значение должно быть IIndicatorValue. Внимание, вопрос - что делать? Теперь массив не передать?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Не уверен, что вообще когда-то можно было... походу если нужно вернуть несколько значений, то нужно сделать как у Bollinger-а BaseComplexIndicator&lt;br /&gt;или этот &lt;br /&gt;ComplexIndicatorValue&lt;br /&gt;	</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/31780/</id>
    <title type="text"> Коллега, а выложите чат для тех, кто данной инфой не обладает... protected override IIndicatorValue...</title>
    <published>2014-10-01T22:32:25Z</published>
    <updated>2014-10-01T22:32:25Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.com/users/28840/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.com/posts/m/31761/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Rebelion &lt;a href="https://stocksharp.com/posts/m/31760/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Коллега, а выложите чат для тех, кто данной инфой не обладает...&lt;/div&gt;&lt;/div&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;

protected override IIndicatorValue OnProcess(IIndicatorValue input)
  {
   var newValue = input.GetValue&amp;lt;decimal&amp;gt;();

   if (input.IsFinal)
   {
    Buffer.Add(newValue);
    
    if ((Buffer.Count - 1) &amp;gt; Length)
     Buffer.RemoveAt(o);
   }

   if (Buffer.Count == 0)
    return new DecimalIndicatorValue();

   return (DecimalIndicatorValue)(newValue - Buffer[0]);
  }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Теперь вопрос.&lt;br /&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;
protected override decimal [] OnProcess(IIndicatorValue input)
{
     return new decimal[2] {1.0m, 1.0m};
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&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;
protected override IIndicatorValue [] OnProcess(IIndicatorValue input)
{
     new DecimalIndicatorValue[2] {(DecimalIndicatorValue)1.0m, (DecimalIndicatorValue)1.0m};
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;ругается, что возвращаемое значение должно быть IIndicatorValue. Внимание, вопрос - что делать? Теперь массив не передать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/31761/</id>
    <title type="text"> Коллега, а выложите чат для тех, кто данной инфой не обладает... protected override IIndicatorValue...</title>
    <published>2014-09-30T06:00:00Z</published>
    <updated>2014-09-30T06:00:00Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.com/users/50604/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Rebelion &lt;a href="https://stocksharp.com/posts/m/31760/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Коллега, а выложите чат для тех, кто данной инфой не обладает...&lt;/div&gt;&lt;/div&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;

protected override IIndicatorValue OnProcess(IIndicatorValue input)
  {
   var newValue = input.GetValue&amp;lt;decimal&amp;gt;();

   if (input.IsFinal)
   {
    Buffer.Add(newValue);
    
    if ((Buffer.Count - 1) &amp;gt; Length)
     Buffer.RemoveAt(o);
   }

   if (Buffer.Count == 0)
    return new DecimalIndicatorValue();

   return (DecimalIndicatorValue)(newValue - Buffer[0]);
  }
&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.com/posts/m/31760/</id>
    <title type="text">Было в чате Я конечно порылся в чате и нашел. А вот что делать всем остальным пользователям, которые...</title>
    <published>2014-09-29T22:19:08Z</published>
    <updated>2014-09-29T22:19:08Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.com/users/28840/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.com/posts/m/31749/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/31745/" 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;Я конечно порылся в чате и нашел. А вот что делать всем остальным пользователям, которые не имеют эту историю? Мало того, что непонятно зачем поменяли тип данных, так еще и сделали это по-тихому вообще без какой-либо документации. Неужели сложно хоть пример использования составить? Я уже не говорю про какие-то новые фичи, которые вообще непонятно как использовать без документации.&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/31749/</id>
    <title type="text">Было в чате Я конечно порылся в чате и нашел. А вот что делать всем остальным пользователям, которые...</title>
    <published>2014-09-27T22:06:03Z</published>
    <updated>2014-09-27T22:06:03Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.com/users/50604/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/31745/" 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;Я конечно порылся в чате и нашел. А вот что делать всем остальным пользователям, которые не имеют эту историю? Мало того, что непонятно зачем поменяли тип данных, так еще и сделали это по-тихому вообще без какой-либо документации. Неужели сложно хоть пример использования составить? Я уже не говорю про какие-то новые фичи, которые вообще непонятно как использовать без документации.&lt;br /&gt;Я не первый про это пишу, но думаю, напомнить стоит.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/31745/</id>
    <title type="text">Было в чате</title>
    <published>2014-09-27T16:55:02Z</published>
    <updated>2014-09-27T16:55:02Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</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/31744/</id>
    <title type="text">У меня были написаны собственные индикаторы, возвращающие значения decimal. Как теперь нужно перепис...</title>
    <published>2014-09-27T12:57:21Z</published>
    <updated>2014-09-27T12:57:21Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.com/users/50604/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">У меня были написаны собственные индикаторы, возвращающие значения decimal. Как теперь нужно переписать код, чтобы возвращаемы значения были IIndicatorValue?&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;

public class Dummy : LengthIndicator&amp;lt;decimal&amp;gt;
    {
        protected override decimal OnProcess(IIndicatorValue input)
        {
            var i = input.GetValue&amp;lt;decimal&amp;gt;();
            return i+100;
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>