﻿<?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/2685/ne-sovsem-ponyatno-kak-v-strategii-sdelat-sobytie-na-izmenenie-indikatora/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T03:49:38Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2685" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/19030/</id>
    <title type="text">О! Спасибо! Как я много раз писал на форуме, я десятки лет был не в курсе ООП, и сейчас мне это прос...</title>
    <published>2012-05-14T14:44:16Z</published>
    <updated>2012-05-14T14:44:16Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Spiritschaser &lt;a href="https://stocksharp.ru/posts/m/19025/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;О! Спасибо!&lt;br /&gt;Как я много раз писал на форуме, я десятки лет был не в курсе ООП, и сейчас мне это просто рвёт мозг.&lt;br /&gt;&lt;br /&gt;Всё просто, достаточно объявить private индикатор - как у Вас объявлен Timer.&lt;br /&gt;Спасибо!&lt;br /&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/19025/</id>
    <title type="text">О! Спасибо! Как я много раз писал на форуме, я десятки лет был не в курсе ООП, и сейчас мне это прос...</title>
    <published>2012-05-14T12:16:37Z</published>
    <updated>2012-05-14T12:16:37Z</updated>
    <author>
      <name>Spiritschaser</name>
      <uri>https://stocksharp.ru/users/1927/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">О! Спасибо!&lt;br /&gt;Как я много раз писал на форуме, я десятки лет был не в курсе ООП, и сейчас мне это просто рвёт мозг.&lt;br /&gt;&lt;br /&gt;Всё просто, достаточно объявить private индикатор - как у Вас объявлен Timer.&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/19024/</id>
    <title type="text">Нижележащий код думаю прояснит что и как создается :). /// /// Правило на событие истечения временно...</title>
    <published>2012-05-14T11:32:32Z</published>
    <updated>2012-05-14T11:32:32Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Нижележащий код думаю прояснит что и как создается :).&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;see cref=&amp;quot;System.Timers.Timer&amp;quot;/&amp;gt;. 
        /// Срабатывает когда таймер &amp;lt;see cref=&amp;quot;System.Timers.Timer.Elapsed&amp;quot;/&amp;gt; срабатывает.
        /// &amp;lt;/summary&amp;gt;
        public sealed class TimerElapsedStrategyRule : StrategyRule&amp;lt;Timer&amp;gt;
        {
            private Timer Timer { get; set; }

            public TimerElapsedStrategyRule(Timer timer)
            {
                Timer = timer;
                Name = &amp;quot;Timer elapsed&amp;quot;;
                Timer.Elapsed += OnTimerElapsed;
            }

            private void OnTimerElapsed(object sender, ElapsedEventArgs elapsedEventArgs)
            {
                Activate(Timer);
            }

            protected override void DisposeManaged()
            {
                Timer.Elapsed -= OnTimerElapsed;
                base.DisposeManaged();
            }
        }
&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;
        /// &amp;lt;param name=&amp;quot;timer&amp;quot;&amp;gt; Таймер. &amp;lt;/param&amp;gt;
        /// &amp;lt;returns&amp;gt;Правило.&amp;lt;/returns&amp;gt;
        public static TimerElapsedStrategyRule TimerElapsed(this Timer timer)
        {
            if (timer == null)
                throw new ArgumentNullException(&amp;quot;timer&amp;quot;);

            return new TimerElapsedStrategyRule(timer);
        }
&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/19017/</id>
    <title type="text">Добрый день! Столкнулся с проблемой событийной модели: 1. У меня заполняются индикаторы по событию ф...</title>
    <published>2012-05-14T08:43:38Z</published>
    <updated>2012-05-14T08:43:38Z</updated>
    <author>
      <name>Spiritschaser</name>
      <uri>https://stocksharp.ru/users/1927/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день!&lt;br /&gt;&lt;br /&gt;Столкнулся с проблемой событийной модели:&lt;br /&gt;1. У меня заполняются индикаторы по событию формирования очередной свечки. &lt;br /&gt;2. В стратегии индикаторы обрабатываются ПОСЛЕ формирования следующей свечки (что логично), следовательно, в стратегии появляется лаг размером в свечку (что слишком много).&lt;br /&gt;3. Логичное решение - обработка индикаторов после появления очередного значения последнего индикатора.&lt;br /&gt;&lt;br /&gt;Попытался написать своё правило, но в примере правило создаётся ТОЛЬКО по событиям стратегии.&lt;br /&gt;Я правильно понимаю, что чтобы сделать правило для событийной модели, мне нужно сначала написать новое событие для класса стратегии, которое основано на событии обновления индикаторов, а затем уже создавать правило для стратегии?&lt;br /&gt;&lt;br /&gt;Или я что-то упустил?&lt;br /&gt;&lt;br /&gt;S# v. 4.0.23&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>