﻿<?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">Exception при попытке расчитать ATR</title>
  <id>~/topic/2093/exception-pri-popytke-raschitat-atr/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-02T17:02:01Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2093" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/13959/</id>
    <title type="text">По поводу ATR, он работает без фиксов, если его инициализировать вот так: IndicatorManager.RegisterI...</title>
    <published>2011-11-25T10:50:15Z</published>
    <updated>2011-11-25T10:50:15Z</updated>
    <author>
      <name>Dmitriy Klimov</name>
      <uri>https://stocksharp.com/users/27862/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;danl &lt;a href="https://stocksharp.com/posts/m/13355/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;По поводу ATR, он работает без фиксов, если его инициализировать вот так:&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;
IndicatorManager.RegisterIndicator(new AverageTrueRange(), new CandleTokenIndicatorSource(candleToken, BaseCandleIndicatorSource.ByClose));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;То что там используется BaseCandleIndicatorSource.ByClose реального значения не имеет, так как исходный индикатор будет получать свечу целиком, но источник будет передавать в индикатор класс CandlePartIndicatorValue, который поддерживает тип decimal.&lt;br /&gt;&lt;br /&gt;Наверное это не очень красиво, но работает. По поводу правильного решения, может следует сделать реализацию IIndicatorValue подобную той, которая в тесте, что бы она могла содержать любые значения и обучить текущие реализации содавать такие классы? Тогда выходные значения полностью развяжутся с входными, что, как мне кажется, логично. На эту тему нужно еще подумать.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Добрый день.&lt;br /&gt;&lt;br /&gt;Создаю индикатор на базе ATR. Столкнулся с описанной выше проблемой: генерируется исключение при отправке свечки в индикатор. Я так понимаю, рекомендуется использовать IndicatorManager для наполнения индикаторов данными. Но тогда, получается, мне придется при создании индикатора отправлять ему данные об IndicatorManager и CandleTokenIndicatorSource. Получается сильная зависимость индикаторов от других классов, хотя, вроде бы, особой необходимости в этом нет.&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/13677/</id>
    <title type="text"> Я так понял был еще и коммит. Не плохо бы отписывать в таких случаях. Ок. Почему в SetValue null не...</title>
    <published>2011-11-16T16:08:45Z</published>
    <updated>2011-11-16T16:08:45Z</updated>
    <author>
      <name>danl</name>
      <uri>https://stocksharp.com/users/27736/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/13611/" 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;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/13611/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Почему в SetValue null не является ошибочной ситуацией? Мне кажется это всегда ошибка. Нельзя передавать Candle == null.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В данный момент получается, что SetValue, по сути, является методом, который создает, а не устанавливает значение. Так как были введены пустые значения (свойство IsEmpty), то нужен способ создавать и пустые значения, вот SetValue(null) и создает пустое значение. Можно сделать отдельный метод, который бедт создавать пустое значение, но тогда придется править индикаторы, что бы они null туда никогда не передавали, в принципе большой сложности не предстваляет. Кроме того, нужно что бы в тестовом проекте, то же происходило падение, при вызове SetValue(null), а то в тесте работает,  а жизни нет (я в основном из-за этого сделал, что бы индикаторы не падали).&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13611/</id>
    <title type="text">Наверное это не очень красиво, но работает. По поводу правильного решения, может следует сделать реа...</title>
    <published>2011-11-15T15:03:52Z</published>
    <updated>2011-11-15T15:03:52Z</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;danl &lt;a href="https://stocksharp.com/posts/m/13355/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Наверное это не очень красиво, но работает. По поводу правильного решения, может следует сделать реализацию IIndicatorValue подобную той, которая в тесте, что бы она могла содержать любые значения и обучить текущие реализации содавать такие классы? Тогда выходные значения полностью развяжутся с входными, что, как мне кажется, логично. На эту тему нужно еще подумать.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я так понял был еще и коммит. Не плохо бы отписывать в таких случаях. Я сделал небольшой фикс на коммит. Но не могу понять следующую ситуацию. Почему в SetValue null не является ошибочной ситуацией? Мне кажется это всегда ошибка. Нельзя передавать Candle == null.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13497/</id>
    <title type="text"> Если на входе свеча, а на выходе число, то там используется CandlePartIndicatorValue, а не CandleIn...</title>
    <published>2011-11-13T20:26:16Z</published>
    <updated>2011-11-13T20:26:16Z</updated>
    <author>
      <name>Sergey Masyura</name>
      <uri>https://stocksharp.com/users/701/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;russ &lt;a href="https://stocksharp.com/posts/m/13493/" 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;sergey.masyura &lt;a href="https://stocksharp.com/posts/m/13487/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Если на входе свеча, а на выходе число, то там используется CandlePartIndicatorValue, а не CandleIndicatorValue. Весь исходный код индикаторов открыт, так что если есть возможность посмотреть самому - вполне логично этой возможностью воспользоваться.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Я честно уже долго сижу разбираюсь, не получается [confused] &lt;br /&gt;И как CandlePartIndicatorValue на вход подать вместо CandleIndicatorValue ума не приложу.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Никак. Но если возникла такая необходимость, то можно отнаследоваться от BaseCandleIndicatorSource и вызывать у него NewCandles(candles)&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;internal class MyIndicatorSource : BaseCandleIndicatorSource&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;public MyIndicatorSource () : base(BaseCandleIndicatorSource.ByClose)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&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/13493/</id>
    <title type="text"> Если на входе свеча, а на выходе число, то там используется CandlePartIndicatorValue, а не CandleIn...</title>
    <published>2011-11-13T20:11:00Z</published>
    <updated>2011-11-13T20:11:00Z</updated>
    <author>
      <name>russ</name>
      <uri>https://stocksharp.com/users/567/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergey.masyura &lt;a href="https://stocksharp.com/posts/m/13487/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Если на входе свеча, а на выходе число, то там используется CandlePartIndicatorValue, а не CandleIndicatorValue. Весь исходный код индикаторов открыт, так что если есть возможность посмотреть самому - вполне логично этой возможностью воспользоваться.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Я честно уже долго сижу разбираюсь, не получается [confused] &lt;br /&gt;И как CandlePartIndicatorValue на вход подать вместо CandleIndicatorValue ума не приложу.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13487/</id>
    <title type="text"> _strategy.FractalsValues.Process((CandleIndicatorValue)candle); Это ваш код, следовательно, ошибка ...</title>
    <published>2011-11-13T18:53:54Z</published>
    <updated>2011-11-13T18:53:54Z</updated>
    <author>
      <name>Sergey Masyura</name>
      <uri>https://stocksharp.com/users/701/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;russ &lt;a href="https://stocksharp.com/posts/m/13486/" 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;Alexander Mukhanchikov &lt;a href="https://stocksharp.com/posts/m/13482/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;_strategy.FractalsValues.Process((CandleIndicatorValue)candle);&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это ваш код, следовательно, ошибка у вас, а не в S#.&lt;br /&gt;Вы приводите Int32 к CandleIndicatorValue, а не S#, разве нет?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Да, это мой код, но candle у меня это объект типа TimeFrameCandle.&lt;br /&gt;Если посмотреть OnProcess индикатора фракталов, который идет в библиотеке индикаторов, то:&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 override ComplexIndicatorValue OnProcess(IIndicatorValue input)
{
    var candle = input.GetValue&amp;lt;Candle&amp;gt;();
    ....
}&lt;/pre&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;
input.GetValue&amp;lt;Candle&amp;gt;();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;
_strategy.FractalsValues.Process((CandleIndicatorValue)candle);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;а ошибка происходит в том же OnProcess в строке&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;
return base.OnProcess(new ShiftedIndicatorValue(0, input.SetValue(0)));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;и ошибка понятна, потому-что input у нас типа Candle а мы задаем ему Int32.&lt;br /&gt;Поэтому тут два варианта, либо на вход нужно подавать не свечу, а что-то другое, либо в input.SetValue(0) задавать не 0, а какую-то свечу.&lt;br /&gt;Я только начал разбираться, поэтому еще не до конца понял логику этих индикаторов, подскажите плз.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если на входе свеча, а на выходе число, то там используется CandlePartIndicatorValue, а не CandleIndicatorValue. Весь исходный код индикаторов открыт, так что если есть возможность посмотреть самому - вполне логично этой возможностью воспользоваться.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13486/</id>
    <title type="text"> _strategy.FractalsValues.Process((CandleIndicatorValue)candle); Это ваш код, следовательно, ошибка ...</title>
    <published>2011-11-13T18:47:42Z</published>
    <updated>2011-11-13T18:50:08Z</updated>
    <author>
      <name>russ</name>
      <uri>https://stocksharp.com/users/567/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.com/posts/m/13482/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;_strategy.FractalsValues.Process((CandleIndicatorValue)candle);&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это ваш код, следовательно, ошибка у вас, а не в S#.&lt;br /&gt;Вы приводите Int32 к CandleIndicatorValue, а не S#, разве нет?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Да, это мой код, но candle у меня это объект типа TimeFrameCandle.&lt;br /&gt;Если посмотреть OnProcess индикатора фракталов, который идет в библиотеке индикаторов, то:&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 override ComplexIndicatorValue OnProcess(IIndicatorValue input)
{
    var candle = input.GetValue&amp;lt;Candle&amp;gt;();
    ....
}&lt;/pre&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;
input.GetValue&amp;lt;Candle&amp;gt;();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;
_strategy.FractalsValues.Process((CandleIndicatorValue)candle);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;а ошибка происходит в том же OnProcess в строке&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;
return base.OnProcess(new ShiftedIndicatorValue(0, input.SetValue(0)));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;и ошибка понятна, потому-что input у нас типа Candle а мы задаем ему Int32.&lt;br /&gt;Поэтому тут два варианта, либо на вход нужно подавать не свечу, а что-то другое, либо в input.SetValue(0) задавать не 0, а какую-то свечу.&lt;br /&gt;Я только начал разбираться, поэтому еще не до конца понял логику этих индикаторов, подскажите плз.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13482/</id>
    <title type="text">Аналогичная проблема, борюсь с фракталами try { _strategy.FractalsValues.Process((CandleIndicatorVal...</title>
    <published>2011-11-13T17:41:37Z</published>
    <updated>2011-11-13T17:41:37Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;russ &lt;a href="https://stocksharp.com/posts/m/13481/" 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;Alexander Mukhanchikov &lt;a href="https://stocksharp.com/posts/m/13442/" 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;russ &lt;a href="https://stocksharp.com/posts/m/13438/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&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;
[left]try
                    {
                        _strategy.FractalsValues.Process((CandleIndicatorValue)candle);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }[/left]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Выдает ошибку&lt;br /&gt;&lt;br /&gt;Недопустимое приведение &amp;quot;System.Int32&amp;quot; к &amp;quot;StockSharp.Algo.Candles.Candle&amp;quot;.&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;
public override ComplexIndicatorValue OnProcess(IIndicatorValue input)&lt;/pre&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;
return base.OnProcess(new ShiftedIndicatorValue(0, input.SetValue(0)));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ну видимо candle у вас Int32, а вы пытаетесь не к тому типу привести.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Да, ошибку я понял, но я пользуюсь индикаторами, которые идут в S#, получается они могут не работать?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;_strategy.FractalsValues.Process((CandleIndicatorValue)candle);&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это ваш код, следовательно, ошибка у вас, а не в S#.&lt;br /&gt;Вы приводите Int32 к CandleIndicatorValue, а не S#, разве нет?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13481/</id>
    <title type="text">Аналогичная проблема, борюсь с фракталами try { _strategy.FractalsValues.Process((CandleIndicatorVal...</title>
    <published>2011-11-13T17:38:30Z</published>
    <updated>2011-11-13T17:38:30Z</updated>
    <author>
      <name>russ</name>
      <uri>https://stocksharp.com/users/567/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.com/posts/m/13442/" 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;russ &lt;a href="https://stocksharp.com/posts/m/13438/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&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;
[left]try
                    {
                        _strategy.FractalsValues.Process((CandleIndicatorValue)candle);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }[/left]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Выдает ошибку&lt;br /&gt;&lt;br /&gt;Недопустимое приведение &amp;quot;System.Int32&amp;quot; к &amp;quot;StockSharp.Algo.Candles.Candle&amp;quot;.&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;
public override ComplexIndicatorValue OnProcess(IIndicatorValue input)&lt;/pre&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;
return base.OnProcess(new ShiftedIndicatorValue(0, input.SetValue(0)));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ну видимо candle у вас Int32, а вы пытаетесь не к тому типу привести.&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/13442/</id>
    <title type="text">Аналогичная проблема, борюсь с фракталами try { _strategy.FractalsValues.Process((CandleIndicatorVal...</title>
    <published>2011-11-13T11:05:55Z</published>
    <updated>2011-11-13T11:05:55Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;russ &lt;a href="https://stocksharp.com/posts/m/13438/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&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;
[left]try
                    {
                        _strategy.FractalsValues.Process((CandleIndicatorValue)candle);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }[/left]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Выдает ошибку&lt;br /&gt;&lt;br /&gt;Недопустимое приведение &amp;quot;System.Int32&amp;quot; к &amp;quot;StockSharp.Algo.Candles.Candle&amp;quot;.&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;
public override ComplexIndicatorValue OnProcess(IIndicatorValue input)&lt;/pre&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;
return base.OnProcess(new ShiftedIndicatorValue(0, input.SetValue(0)));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ну видимо candle у вас Int32, а вы пытаетесь не к тому типу привести.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13438/</id>
    <title type="text">Аналогичная проблема, борюсь с фракталами try { _strategy.FractalsValues.Process((CandleIndicatorVal...</title>
    <published>2011-11-13T06:43:40Z</published>
    <updated>2011-11-13T06:46:00Z</updated>
    <author>
      <name>russ</name>
      <uri>https://stocksharp.com/users/567/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Аналогичная проблема, борюсь с фракталами&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;
[left]try
                    {
                        _strategy.FractalsValues.Process((CandleIndicatorValue)candle);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }[/left]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Выдает ошибку&lt;br /&gt;&lt;br /&gt;Недопустимое приведение &amp;quot;System.Int32&amp;quot; к &amp;quot;StockSharp.Algo.Candles.Candle&amp;quot;.&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;
public override ComplexIndicatorValue OnProcess(IIndicatorValue input)&lt;/pre&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;
return base.OnProcess(new ShiftedIndicatorValue(0, input.SetValue(0)));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13368/</id>
    <title type="text">Спасибо, буду знать что можно так инициализировать.</title>
    <published>2011-11-10T23:25:54Z</published>
    <updated>2011-11-10T23:25:54Z</updated>
    <author>
      <name>kenota</name>
      <uri>https://stocksharp.com/users/28502/</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/13355/</id>
    <title type="text">По поводу ATR, он работает без фиксов, если его инициализировать вот так: IndicatorManager.RegisterI...</title>
    <published>2011-11-10T20:41:41Z</published>
    <updated>2011-11-10T20:41:41Z</updated>
    <author>
      <name>danl</name>
      <uri>https://stocksharp.com/users/27736/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">По поводу ATR, он работает без фиксов, если его инициализировать вот так:&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;
IndicatorManager.RegisterIndicator(new AverageTrueRange(), new CandleTokenIndicatorSource(candleToken, BaseCandleIndicatorSource.ByClose));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;То что там используется BaseCandleIndicatorSource.ByClose реального значения не имеет, так как исходный индикатор будет получать свечу целиком, но источник будет передавать в индикатор класс CandlePartIndicatorValue, который поддерживает тип decimal.&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/13228/</id>
    <title type="text">Значит так, я нашел две проблемы и сделал хотфиксы, однако мне нужен ревью от кого нибудь кто больше...</title>
    <published>2011-11-10T01:20:03Z</published>
    <updated>2011-11-10T01:20:03Z</updated>
    <author>
      <name>kenota</name>
      <uri>https://stocksharp.com/users/28502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Значит так, я нашел две проблемы и сделал хотфиксы, однако мне нужен ревью от кого нибудь кто больше понимает в проекте.&lt;br /&gt;&lt;br /&gt;Проблема №1. Если использовать индикатор AverageTrueRange через IndicatorManager то он никогда не расчитывается. Проблема в файле AverageTrueRange.cs строчка 92:&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;

/// &amp;lt;summary&amp;gt;
/// Возможно ли обработать входное значение.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;param name=&amp;quot;input&amp;quot;&amp;gt;Входное значение.&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;True, если возможно, иначе, false.&amp;lt;/returns&amp;gt;
public override bool CanProcess(IIndicatorValue input)
{
            return TrueRange.CanProcess(input) &amp;amp;&amp;amp; MovingAverage.CanProcess(input);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Тут проверяется может ли индикатор обработать входящее значение. ATR построили как комбинацию TrueRange (который принимает параметр Candle а результатом вычисления является double) и SMA (вход double и выход double). Вообщем это условие будет всегда ложно, т.к. в функцию передается свечка а MA ее не может обработать. Поэтому просто меняем ее на:&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;

return TrueRange.CanProcess(input);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Проблема №2.&lt;br /&gt;После этого изменения у нас будет опять выбрасываться старый эксепшн, из-за которого я открыл этот топик. Ищем откуда растут ноги, смотрим на файл BaseIndicator.cs в районе строки 129 функция Process:&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 virtual IIndicatorValue Process(IIndicatorValue input)	
{
	var value = OnProcess(input);

	this.LastValue = value;

	var result = value as IIndicatorValue ?? input.SetValue(value);

	if (IsFormed &amp;amp;&amp;amp; !result.IsEmpty)
		RaiseChangedEvent(input, result);

	return result;
}
&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 result = value as IIndicatorValue ?? input.SetValue(value);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Пытаемся понять что тут происходит. Ага, получается так: мы вычисляем значение индикатор через своего потомка (нас ведь создадут наследовав от BaseIndicator), но вот незадача: что бы быть type safe нам нужно вернуть значение IIndicatorValue, а что может вернуть наша текущая реализация мы не знаем. &lt;br /&gt;Поэтому мы смотрим: если то что вернул process является IIndicatorValue то, возвращаем его, иначе, мы считаем что значение должно быть того же типа что было входящее! &lt;br /&gt;&lt;br /&gt;Вот тут то и приходит пушной зверек сверкая глазками. Дело в том что TrueRange принимает на вход Candle а возвращает Double. Здесь и происходит класс каст эксепшн.&lt;br /&gt;&lt;br /&gt;К сожалению, я пока еще не знаю всю структуру проекта, поэтому не придумал ничего лучшего как сделать такой хотфикс, который поидее ничего не должен сломать, но починить этот эксепшн. Заменяем строку 135 на:&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 result = value is decimal ? new DecimalIndicatorValue(value.To&amp;lt;decimal&amp;gt;()) :  value as IIndicatorValue ?? input.SetValue(value);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;После этого atr начинает работать :)&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/13226/</id>
    <title type="text">Подтверждаю тоже самое что говорит pehas: обновил стокшарп до последней версии. Создаю indicatorMana...</title>
    <published>2011-11-10T00:06:14Z</published>
    <updated>2011-11-10T00:06:14Z</updated>
    <author>
      <name>kenota</name>
      <uri>https://stocksharp.com/users/28502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Подтверждаю тоже самое что говорит &lt;b&gt;pehas&lt;/b&gt;: обновил стокшарп до последней версии. Создаю indicatorManager однако индикатор никогда не строится. isFormed всегда false  + IndicatorToken.Indicator.OnChanged ни разу не вызывается.&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/13189/</id>
    <title type="text"> Используйте IndicatorManager. Индикаторы как раз под него заточены, а не для того, чтобы самому све...</title>
    <published>2011-11-09T13:55:06Z</published>
    <updated>2011-11-09T14:02:10Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.com/users/340/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/13167/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Используйте IndicatorManager. Индикаторы как раз под него заточены, а не для того, чтобы самому свечки из CandleToken в Indicator перекладывать.&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 candleToken = this._cm.RegisterTimeFrameCandles(security, this._timeFrame);
            var ATRToken = indicatorManager.RegisterIndicator(new AverageTrueRange{Length = 2}, new CandleTokenIndicatorSource(candleToken));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Значение &amp;quot;((AverageTrueRange)ATRToken.Indicator).isFormed&amp;quot; всегда false&lt;br /&gt;Как правильно инициализировать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13167/</id>
    <title type="text"> Соответственно, пытаюсь его рассчитать: var atr = new AverageTrueRange { Length = 15 }; ... TimeFra...</title>
    <published>2011-11-08T22:03:41Z</published>
    <updated>2011-11-08T22:03:41Z</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;kenota &lt;a href="https://stocksharp.com/posts/m/13018/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&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 atr = new AverageTrueRange { Length = 15 };
            ...
         
            TimeFrameCandle cdl = _candleManager.GetTimeFrameCandle(_candleToken, 1);

            try {
                atr.Process((CandleIndicatorValue)cdl);
            } catch (Exception ex) {
                Error(ex.Message + &amp;quot; stacktrace: &amp;quot; + ex.StackTrace);
            }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Используйте IndicatorManager. Индикаторы как раз под него заточены, а не для того, чтобы самому свечки из CandleToken в Indicator перекладывать.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13019/</id>
    <title type="text">Тест для ATR валится с такой же ошибкой: Test method IndicatorsTest.Tests.AtrTest.Atr threw exceptio...</title>
    <published>2011-11-07T02:55:17Z</published>
    <updated>2011-11-07T02:55:17Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.com/users/5990/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Тест для ATR валится с такой же ошибкой:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;Test method IndicatorsTest.Tests.AtrTest.Atr threw exception: &lt;br /&gt;System.InvalidCastException: Invalid cast from &amp;#39;System.Decimal&amp;#39; to &amp;#39;StockSharp.Algo.Candles.Candle&amp;#39;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Иными словами, руки до этого индикатора пока не дошли[smile] Есть желание помочь?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/13018/</id>
    <title type="text">Привет, осваиваю Stocksharp, очень нравится :) Нужно использовать индикатор ATR, нигде примеров не н...</title>
    <published>2011-11-07T01:17:45Z</published>
    <updated>2011-11-07T01:30:35Z</updated>
    <author>
      <name>kenota</name>
      <uri>https://stocksharp.com/users/28502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Привет, &lt;br /&gt;&lt;br /&gt;осваиваю Stocksharp, очень нравится :)&lt;br /&gt;&lt;br /&gt;Нужно использовать индикатор ATR, нигде примеров не нашел, только на  кодеплексе &lt;a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-5KHyW8ZN6xcH4iJyKFKwUQgjwasowjZHTe_leX0HSMG-ZeS6x-YeyBkOa5Ou9u45WW9FPHHYZ5JJ2Iug-NHPEw" title="http://stocksharp.codeplex.com/SourceControl/changeset/view/11313#69791"&gt;в тест кейсе&lt;/a&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 atr = new AverageTrueRange { Length = 15 };
            ...
         
            TimeFrameCandle cdl = _candleManager.GetTimeFrameCandle(_candleToken, 1);

            try {
                atr.Process((CandleIndicatorValue)cdl);
            } catch (Exception ex) {
                Error(ex.Message + &amp;quot; stacktrace: &amp;quot; + ex.StackTrace);
            }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В результате на строке atr.Process происходит следующее исключение:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;

Invalid cast from &amp;#39;System.Decimal&amp;#39; to &amp;#39;StockSharp.Algo.Candles.Candle&amp;#39;.
 stacktrace:    at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
   at System.Decimal.System.IConvertible.ToType(Type type, IFormatProvider provider)
   at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   at Ecng.Common.Converter.To(Object value, Type destinationType)
   at Ecng.Common.Converter.To[T](Object value)
   at StockSharp.Algo.Indicators.CandleIndicatorValue.SetValue[T](T value)
   at StockSharp.Algo.Indicators.BaseIndicator`1.Process(IIndicatorValue input)
   at StockSharp.Algo.Indicators.Oscillator.AverageTrueRange.OnProcess(IIndicatorValue input)
   at StockSharp.Algo.Indicators.BaseIndicator`1.Process(IIndicatorValue input)
   at test.stocksharp.IndicatorTest.newCandle()
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Версия стокшарпа: 4.0.3.&lt;br /&gt;&lt;br /&gt;Подскажите куда копать, как побороть? В тесте вроде тоже производится просто каст свечи к CandleIndicatorValue</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>