﻿<?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">Урок 5. Алготрейдинг и программирование</title>
  <id>~/topic/3718/urok-5_-algotreiding-i-programmirovanie/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-30T15:10:11Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3718" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/26061/</id>
    <title type="text">Видео-урок Программируем стратегию BollingerBands http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=16747...</title>
    <published>2013-05-25T02:33:09Z</published>
    <updated>2016-08-16T00:13:33Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;b&gt;&lt;span style="font-size:120%"&gt;Видео-урок&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Программируем стратегию BollingerBands&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470173&amp;amp;hash=62ad29fe5712f0aa&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Темы занятия:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Стратегия проверенная на истор. данных&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Определяем алгоритм торговли&lt;br /&gt;&lt;li&gt;Реализация стратегии&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Полезные ссылки:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://stocksharp.com/forum/337/Torghovaia-sistiema-na-osnovie-linii-bollindzhiera/" title="http://stocksharp.com/forum/337/Torghovaia-sistiema-na-osnovie-linii-bollindzhiera/"&gt;Алгоритм стратегии&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Индикатор &amp;quot;Rate Of Change&amp;quot; (ROC) в &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Algo_Indicators_Oscillator_RateOfChange.htm" title="http://stocksharp.com/doc/html/T_StockSharp_Algo_Indicators_Oscillator_RateOfChange.htm"&gt;S# документации&lt;/a&gt;, &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAEaGmvoumqQV_3sIYeBdThYsD1oiuIli87Mns2dDNxwL3NxBNlm10JkewFAO2K0NjZ-2GbuGScP0bG3NVa1j9IE5-M9sHi-iDJ9ZHiSO472v6oNY88iR97e1tThYnJrvNY3vySaD8LPqd80yMCHodk" title="http://ru.wikipedia.org/wiki/%25D0%259C%25D0%25BE%25D0%25BC%25D0%25B5%25D0%25BD%25D1%2582%25D1%2583%25D0%25BC"&gt;википедия&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Индикатор &amp;quot;Экспоненциальная скользящая средняя&amp;quot; в &lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Algo_Indicators_Trend_ExponentialMovingAverage.htm" title="http://stocksharp.com/doc/html/T_StockSharp_Algo_Indicators_Trend_ExponentialMovingAverage.htm"&gt;S# документации&lt;/a&gt;, &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAEaGmvoumqQV_3sIYeBdThYsD1oiuIli87Mns2dDNxwC93s_7EogVobS7Uozu_f61nqBA95cR8cowOpcfE92EUG3xWedUZH3rCKH_Mx9Wzmwaq6S1Aeb-IsXEC99_6j57oCUD5V74_ZbglH9aHIRW9R9OItbZoiXRJ6hauLqS_csDBymXIGEQzhjSk5eCzw_KeQu2AOs8jB8dZm4_W6OJsNuTg_mkCPCEROmAjmojaPUsTOCRZnz0mR2MPbF67uF0S5faItnvSPuKGqTxG5Tvd" title="http://ru.wikipedia.org/wiki/%25D0%25A1%25D0%25BA%25D0%25BE%25D0%25BB%25D1%258C%25D0%25B7%25D1%258F%25D1%2589%25D0%25B0%25D1%258F_%25D1%2581%25D1%2580%25D0%25B5%25D0%25B4%25D0%25BD%25D1%258F%25D1%258F"&gt;википедия&lt;/a&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Вложения:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rc9GNm78BSRg5Z4VassvwQDkRd2Zr9oYK0Wxc0eTuVnw" title="http://vk.com/docs?oid=-66650972"&gt;Скачать проекты&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Изменения в проектах:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_e3d0750946564c67ab360edeb6826942');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_e3d0750946564c67ab360edeb6826942' style='display:none'&gt;&lt;br /&gt;Проект BollingerBandsRobot&lt;br /&gt;Файл MainWindow.cs&lt;br /&gt;&lt;br /&gt;Начиная с версии S# 4.1.19.1 статус подключения коннектора вынесен в специальное свойство ConnectionState, которое может принимать следующие значения:&lt;br /&gt;Disconnected - Не активно,&lt;br /&gt;Disconnecting - В процессе отключения,&lt;br /&gt;Connected - В процессе подключения,&lt;br /&gt;Connecting - Подключение активно,&lt;br /&gt;Failed - Ошибка подключения&lt;br /&gt;&lt;br /&gt;Таким образом, теперь нет свойства IsConnected, а наличие статуса подключения мы можем получать от свойства ConnectionState.&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;

        /// &amp;lt;summary&amp;gt;
        /// Обработчик события закрытия окна
        /// &amp;lt;/summary&amp;gt;
        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            if (Connection.SafeConnection.Trader != null &amp;amp;&amp;amp; Connection.SafeConnection.Trader.IsConnected)
            {
                Connection.SafeConnection.Trader.Dispose();
            }
            Thread.CurrentThread.Abort();
            base.OnClosing(e);
        }
&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;

        /// &amp;lt;summary&amp;gt;
        /// Обработчик события закрытия окна
        /// &amp;lt;/summary&amp;gt;
        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            if (Connection.SafeConnection.Trader != null &amp;amp;&amp;amp; Connection.SafeConnection.Trader.ConnectionState == 

ConnectionStates.Connected)
            {
                Connection.SafeConnection.Trader.Dispose();
            }
            Thread.CurrentThread.Abort();
            base.OnClosing(e);
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26603/</id>
    <title type="text">Добрый день. У меня такой вопрос. Немного изменил эту стратегию, логика работы таже, за исключением ...</title>
    <published>2013-07-05T12:18:54Z</published>
    <updated>2013-07-05T12:18:54Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pft_man &lt;a href="https://stocksharp.ru/posts/m/26394/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Добрый день. У меня такой вопрос. Немного изменил эту стратегию, логика работы таже, за исключением того, что расчёты происходят не по событию окончания свечки, а по событию изменения свечки. Как только цена достигает определённого уровня, регистрируется и отправляется ордер. С тестовым квиком всё работает, но с боевым квиком как только исполняется ордер (заключается сделка), сразу всё падает, появляется новое окно No Source Available и появляется вот такая ошибка. Причём ни на какую-то конкретную строку в коде она не указывает. Никак не могу разобраться, с чем это связано?&lt;/div&gt;&lt;/div&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.AddInfoLog(&amp;quot;trailing-stop = {0}, current step = {1}, level = {3}&amp;quot;,
                                 trailingStop.ToString(), currentStep.ToString(), level.ToString());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Ошибка, о которой Вы пишите возникает из за того, что не найдено значение {3} для строки форматирования. Т.е. у Вас три аргумента передается:&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;

trailingStop.ToString(), currentStep.ToString(), level.ToString()
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;а в строке форматирования требуется и четвертый элемент (индекс 3).&lt;br /&gt;&lt;br /&gt;Чтобы код работал, нужно исправить строку форматирования (видимо, по ошибке вклинился индекс 3 в место 2), правильно так:&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.AddInfoLog(&amp;quot;trailing-stop = {0}, current step = {1}, level = {2}&amp;quot;,
                                 trailingStop.ToString(), currentStep.ToString(), level.ToString());
&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.ru/posts/m/26394/</id>
    <title type="text">Добрый день. У меня такой вопрос. Немного изменил эту стратегию, логика работы таже, за исключением ...</title>
    <published>2013-06-20T17:33:41Z</published>
    <updated>2013-06-20T17:33:41Z</updated>
    <author>
      <name>pft_man</name>
      <uri>https://stocksharp.ru/users/28735/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день. У меня такой вопрос. Немного изменил эту стратегию, логика работы таже, за исключением того, что расчёты происходят не по событию окончания свечки, а по событию изменения свечки. Как только цена достигает определённого уровня, регистрируется и отправляется ордер. С тестовым квиком всё работает, но с боевым квиком как только исполняется ордер (заключается сделка), сразу всё падает, появляется новое окно No Source Available и появляется вот такая ошибка. Причём ни на какую-то конкретную строку в коде она не указывает. Никак не могу разобраться, с чем это связано?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/26137/</id>
    <title type="text"> в таком случае надо создавать два экземпляра серии свечей, с разными таймфреймами. А так можно сдел...</title>
    <published>2013-05-29T05:51:51Z</published>
    <updated>2013-05-29T05:51:51Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.ru/posts/m/26129/" 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;IvanB &lt;a href="https://stocksharp.ru/posts/m/26081/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;в таком случае надо создавать два экземпляра серии свечей, с разными таймфреймами.&lt;br /&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;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.ru/posts/m/26129/" 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='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_01a507ff630b4fbd952731e497aca8e6');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_01a507ff630b4fbd952731e497aca8e6' style='display:none'&gt;  &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

                        var timeFrame1 = TimeSpan.FromMinutes(1);
                        var timeFrame2 = TimeSpan.FromMinutes(30);
                        
                        _candleManager1 = new CandleManager(ConnectionInterface.SafeConnection.Trader);
                        _candleManager2 = new CandleManager(ConnectionInterface.SafeConnection.Trader);
                        
                        var security = ConnectionInterface.SelectedSecurity;

                        var series1 = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame1);
                        var series2 = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame2);
                        
                        _candleManager1.Start(series1);
                        _candleManager2.Start(series2);

                        _breakdownLevelStrategy = new BreakdownLevelStrategy(series1, series2)
                        {
                            Volume = int.Parse(VolumeTextBox3.Text)
                        };&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Но в стратегии мы обрабатываем одну серию в реальном времени&lt;br /&gt;                  &lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_7fd2967f6fe643289960f51a02328874');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_7fd2967f6fe643289960f51a02328874' style='display:none'&gt; &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
 _candleSeries1.ProcessCandle += candle =&amp;gt;
                    {
                       
                       var timeFrame = (TimeSpan) candle.Arg; 
                       var time = timeFrame.GetCandleBounds(Security).Min - timeFrame; 
                       
                        if (candle.OpenTime &amp;gt;= time &amp;amp;&amp;amp; candle.State == CandleStates.Finished)
                        {
                            ....какой-то код алгоритма...
                        }
                    };&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Или можем подписаться также на обработку свечей второй серии&lt;br /&gt;     &lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_4e68aaea57764462a96f437d140362a0');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_4e68aaea57764462a96f437d140362a0' style='display:none'&gt; &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
 _candleSeries2.ProcessCandle += candle =&amp;gt;
                    {
                       
                       var timeFrame = (TimeSpan) candle.Arg; 
                       var time = timeFrame.GetCandleBounds(Security).Min - timeFrame; 
                       
                        if (candle.OpenTime &amp;gt;= time &amp;amp;&amp;amp; candle.State == CandleStates.Finished)
                        {
                            ....какой-то код алгоритма...
                        }
                    };&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&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.ru/posts/m/26129/</id>
    <title type="text"> в таком случае надо создавать два экземпляра серии свечей, с разными таймфреймами. А так можно сдел...</title>
    <published>2013-05-28T15:02:18Z</published>
    <updated>2013-05-28T15:02:18Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;IvanB &lt;a href="https://stocksharp.ru/posts/m/26081/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&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="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

                        var timeFrame1 = TimeSpan.FromMinutes(1);
                        var timeFrame2 = TimeSpan.FromMinutes(30);
                        
                        _candleManager1 = new CandleManager(ConnectionInterface.SafeConnection.Trader);
                        _candleManager2 = new CandleManager(ConnectionInterface.SafeConnection.Trader);
                        
                        var security = ConnectionInterface.SelectedSecurity;

                        var series1 = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame1);
                        var series2 = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame2);
                        
                        _candleManager1.Start(series1);
                        _candleManager2.Start(series2);

                        _breakdownLevelStrategy = new BreakdownLevelStrategy(series1, series2)
                        {
                            Volume = int.Parse(VolumeTextBox3.Text)
                        };&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;
 _candleSeries1.ProcessCandle += candle =&amp;gt;
                    {
                       
                       var timeFrame = (TimeSpan) candle.Arg; 
                       var time = timeFrame.GetCandleBounds(Security).Min - timeFrame; 
                       
                        if (candle.OpenTime &amp;gt;= time &amp;amp;&amp;amp; candle.State == CandleStates.Finished)
                        {
                            ....какой-то код алгоритма...
                        }
                    };&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;
 _candleSeries2.ProcessCandle += candle =&amp;gt;
                    {
                       
                       var timeFrame = (TimeSpan) candle.Arg; 
                       var time = timeFrame.GetCandleBounds(Security).Min - timeFrame; 
                       
                        if (candle.OpenTime &amp;gt;= time &amp;amp;&amp;amp; candle.State == CandleStates.Finished)
                        {
                            ....какой-то код алгоритма...
                        }
                    };&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/26081/</id>
    <title type="text"> Доброго дня Иван. ... Так передать значение индикатора не получается var bollinger = new BollingerB...</title>
    <published>2013-05-27T07:17:38Z</published>
    <updated>2013-05-27T07:17:38Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.ru/posts/m/26075/" 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;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
var bollinger = new BollingerBands{Length = 20, Width = 2};
series.ProcessCandle += candle =&amp;gt;
                            {
                                if (candle.State != CandleStates.Finished)
                                    return;
                                var bollingerValue = bollinger.Process((DecimalIndicatorValue)candle.ClosePrice;
                            };
var bs = new BollingerStrategy(bollingerValue, _series)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Что можно еще придумать?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Здравствуйте.&lt;br /&gt;Единственная ошибка, которую вижу в Вашем коде, это то, что переменные bollinger и bs объявлены как локальные, их нужно объявить на уровне класса, и тогда этот код должен работать.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;UsilaDobry &lt;a href="https://stocksharp.ru/posts/m/26075/" 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;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
var bs = new BollingerStrategy((BollingerBands) _bollingerElem.Indicator, _series)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В таком случае стратегия зависит от графика, например запущу вывод на график 30-минутные свечи, а стратегию запущу на минутных свечах, в этом случае она работать не будет.&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.ru/posts/m/26075/</id>
    <title type="text">Доброго дня Иван. Во всех примерах со стратегиями значения индикатора передаются в стратегию в виде ...</title>
    <published>2013-05-26T15:20:47Z</published>
    <updated>2013-05-26T15:21:20Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Доброго дня Иван.&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;
var bs = new BollingerStrategy((BollingerBands) _bollingerElem.Indicator, _series)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В таком случае стратегия зависит от графика, например запущу вывод на график 30-минутные свечи, а стратегию запущу на минутных свечах, в этом случае она работать не будет.&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;
var bollinger = new BollingerBands{Length = 20, Width = 2};
series.ProcessCandle += candle =&amp;gt;
                            {
                                if (candle.State != CandleStates.Finished)
                                    return;
                                var bollingerValue = bollinger.Process((DecimalIndicatorValue)candle.ClosePrice;
                            };
var bs = new BollingerStrategy(bollingerValue, _series)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Что можно еще придумать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>