﻿<?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/2242/nevozmozhno-obrabotat-nachalnye-znacheniya-indikatora/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-04T06:15:37Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2242" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/16558/</id>
    <title type="text">...</title>
    <published>2012-02-17T09:00:59Z</published>
    <updated>2012-02-17T16:25:16Z</updated>
    <author>
      <name>russ</name>
      <uri>https://stocksharp.ru/users/567/</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/15504/</id>
    <title type="text">Может вам поможет: я соединяю исторические свечи из квика с текущими, а потом вызываю foreach (Candl...</title>
    <published>2012-01-09T22:47:27Z</published>
    <updated>2012-01-10T10:32:18Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.ru/users/340/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;freelancer &lt;a href="https://stocksharp.ru/posts/m/14994/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Может вам поможет:&lt;br /&gt;&lt;br /&gt;я соединяю исторические свечи из квика с текущими, а потом вызываю&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;
foreach (Candle c in _candles)
{
	Индикатор.Process(new StockSharp.Algo.Indicators.CandleIndicatorValue(c));
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;мне нужно вызвать Process у индикатора Highest. Указанный выше способ не работает в этом случае.&lt;br /&gt;Выползает ошибка &amp;quot;Объект должен реализовывать интерфейс IConvertible&amp;quot;&lt;br /&gt;Если делать так -&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;

Highest h = new Highest {Length = 20}
foreach (Candle c in _candles)
{
        
	h.Process(new StockSharp.Algo.Indicators.DecimalIndicatorValue(c));
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;то работает, но тогда вылетает с ошибкой такой код&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;

        h.Changed += (input, res) =&amp;gt;
        {
             MessageBox.Show(input.Time.ToString());
        }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;потому что инпут не свеча. &lt;br /&gt;&lt;br /&gt;Как получить input в виде свечи в данном случае?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15520/</id>
    <title type="text">Че то ты сам че то натворил и сам че то решил Если ты работаешь с DecimalIndicatorValue, то и входно...</title>
    <published>2012-01-10T08:34:08Z</published>
    <updated>2012-01-10T08:34:08Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.ru/users/340/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;OvcharenkoVI &lt;a href="https://stocksharp.ru/posts/m/15508/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Че то ты сам че то натворил и сам че то решил&lt;br /&gt;&lt;br /&gt;Если ты работаешь с DecimalIndicatorValue, то и входное значение изначально должно быть типа Decimal.&lt;br /&gt;&lt;br /&gt;Чем не устраивает: h.Process(new StockSharp.Algo.Indicators.DecimalIndicatorValue(c.HighPrice));&lt;br /&gt;&lt;br /&gt;И все сразу должно было работать&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Тем что мне нужно передать в событие Chanded индикатора свечу а не Decimal для дальнейшей работы. К примеру тебе надо в событии changed отрисовать значение индикатора или получить значение цены открытия входной свечи. С decimal ты ничего не сделаешь</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15508/</id>
    <title type="text">Че то ты сам че то натворил и сам че то решил Если ты работаешь с DecimalIndicatorValue, то и входно...</title>
    <published>2012-01-10T06:07:28Z</published>
    <updated>2012-01-10T06:07:28Z</updated>
    <author>
      <name>OvcharenkoVI</name>
      <uri>https://stocksharp.ru/users/390/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Че то ты сам че то натворил и сам че то решил&lt;br /&gt;&lt;br /&gt;Если ты работаешь с DecimalIndicatorValue, то и входное значение изначально должно быть типа Decimal.&lt;br /&gt;&lt;br /&gt;Чем не устраивает: h.Process(new StockSharp.Algo.Indicators.DecimalIndicatorValue(c.HighPrice));&lt;br /&gt;&lt;br /&gt;И все сразу должно было работать</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15505/</id>
    <title type="text">Кому интересно, проблема решилась так: Нашел в исходниках на codeplex закрытый класс CandlePartIndic...</title>
    <published>2012-01-10T00:25:31Z</published>
    <updated>2012-01-10T00:25:31Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.ru/users/340/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Кому интересно, проблема решилась так:&lt;br /&gt;Нашел в исходниках на codeplex закрытый класс CandlePartIndicatorValue и скопировал его реализацию в свой код&lt;br /&gt;Таким образом следующий код заработал без ошибок&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;

Highest h = new Highest {Length = 20}

h.Changed += (input, res) =&amp;gt;
{
    MessageBox.Show(input.Time.ToString());
}

foreach (Candle c in _candles)
{
    h.Process(new StockSharp.Algo.Indicators.CandlePartIndicatorValue (c, c.HighPrice));
}
&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/15004/</id>
    <title type="text">Может вам поможет: я соединяю исторические свечи из квика с текущими, а потом вызываю foreach (Candl...</title>
    <published>2011-12-20T23:30:36Z</published>
    <updated>2011-12-20T23:30:36Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.ru/users/340/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;freelancer &lt;a href="https://stocksharp.ru/posts/m/14994/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Может вам поможет:&lt;br /&gt;&lt;br /&gt;я соединяю исторические свечи из квика с текущими, а потом вызываю&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;
foreach (Candle c in _candles)
{
	Индикатор.Process(new StockSharp.Algo.Indicators.CandleIndicatorValue(c));
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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.ru/posts/m/14994/</id>
    <title type="text">Может вам поможет: я соединяю исторические свечи из квика с текущими, а потом вызываю foreach (Candl...</title>
    <published>2011-12-20T15:17:35Z</published>
    <updated>2011-12-20T15:17:35Z</updated>
    <author>
      <name>freelancer</name>
      <uri>https://stocksharp.ru/users/28572/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Может вам поможет:&lt;br /&gt;&lt;br /&gt;я соединяю исторические свечи из квика с текущими, а потом вызываю&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;
foreach (Candle c in _candles)
{
	Индикатор.Process(new StockSharp.Algo.Indicators.CandleIndicatorValue(c));
}&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.ru/posts/m/14993/</id>
    <title type="text">Я так понял, красиво эту задачу не решить? Я лично не понял ничего из сообщения.</title>
    <published>2011-12-20T15:16:44Z</published>
    <updated>2011-12-20T15:16:44Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pehas &lt;a href="https://stocksharp.ru/posts/m/14992/" 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.ru/posts/m/14992/</id>
    <title type="text">Я так понял, красиво эту задачу не решить? Кто-то вообще занимался отрисовкой индикаторов по прошлым...</title>
    <published>2011-12-20T15:10:39Z</published>
    <updated>2011-12-20T15:10:39Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.ru/users/340/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Я так понял, красиво эту задачу не решить?&lt;br /&gt;Кто-то вообще занимался отрисовкой индикаторов по прошлым трейдам, если бот запускается внутри дня? Поделитесь опытом&lt;br /&gt;&lt;br /&gt;В библиотеке S# есть пример SampleSMA - там рисуются индикаторы за предыдущие периоды, но только с помощью истории загруженной из файла. А по задаче нужно нарисовать используя только свечи CandleManager</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/14799/</id>
    <title type="text">Необходимо нарисовать все значения индикатора на графике. Проблема в том, что событие Changed индика...</title>
    <published>2011-12-18T21:29:31Z</published>
    <updated>2011-12-19T00:40:00Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.ru/users/340/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Необходимо нарисовать все значения индикатора на графике. Проблема в том, что событие Changed индикатора начинает работать не с начального значения. Соответственно, рисуются только последние значения. Происходит это потому, что делегат событию Changed присваивается уже после регистрации свечек. Соответственно, какие-то свечки уже обработаны перед определением Changed для индикатора.&lt;br /&gt;&lt;br /&gt;Запуск бота происходит в середине торговой сессии, т.е. уже есть какие-то трейды&lt;br /&gt;Последовательность запуска примерно такая&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;

this._trader = new QuikTrader(QuikTerminal.GetDefaultPath());
this._cm = new CandleManager(this._trader);
this._trader.Connect();
this._trader.StartExport();
this.security = this._trader.Securities.FirstOrDefault(s =&amp;gt; s.Code == this.SCode);
var candleToken = this._cm.RegisterTimeFrameCandles(security, this._timeFrame);
this.ATRToken = indicatorManager.RegisterIndicator(new AverageTrueRange { Length = 10 }, new CandleTokenIndicatorSource(candleToken, BaseCandleIndicatorSource.ByClose));
var ATR = this.ATRToken.Indicator as AverageTrueRange;
ATR.Changed += (input, res) =&amp;gt;
{
    var candle = this._cm.GetTimeFrameCandle(this.security, this._timeFrame, 1);
    var val = ATR.LastValue.GetValue&amp;lt;decimal&amp;gt;();
    this.GuiAsync(() =&amp;gt; this.chartWnd.ATR.Add(new DItem { date = candle.Time, value = val }));
};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Как сделать добавление события Changed до регистрации свечек, я так и не разобрался. Ведь я не могу определить его без токена. А токен можно получить только зарегистрировав свечи</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/14801/</id>
    <title type="text">Тема к квику, я так понял, не относится. Переношу в индикаторы.</title>
    <published>2011-12-18T21:43:05Z</published>
    <updated>2011-12-18T21:43:05Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Тема к квику, я так понял, не относится.&lt;br /&gt;Переношу в индикаторы.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>