﻿<?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">Проверка условий события через равные промежутки времени до первого выполнения условия</title>
  <id>~/topic/2512/proverka-uslovii-sobytiya-cherez-ravnye-promezhutki-vremeni-do-pervogo-vypolneniya-usloviya/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-18T23:16:02Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2512" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/17492/</id>
    <title type="text">Подумайте, может стоит сделать так? this.When(checkCondition, TimeSpan.FromSeconds(10)) .Do(DoWork) ...</title>
    <published>2012-03-21T10:05:55Z</published>
    <updated>2012-03-21T10:05:55Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.com/users/28223/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Подумайте, может стоит сделать так?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
this.When(checkCondition, TimeSpan.FromSeconds(10))
                .Do(DoWork)

bool checkCondition()
{

}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Эта конструкция будет с интервалом в 10 сек проверять условие checkCondition и вызывать метод DoWork, пока checkCondition возвращает true.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/17473/</id>
    <title type="text">Можно так bool flag; this .When(Rule1, TimeSpan.FromSeconds(10)) .Do(Calculate) .Periodical(() =&amp;gt; fl...</title>
    <published>2012-03-20T18:54:49Z</published>
    <updated>2012-03-20T18:54:49Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Можно так&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
bool flag;

this
 .When(Rule1, TimeSpan.FromSeconds(10))
 .Do(Calculate)
 .Periodical(() =&amp;gt; flag);

void Calculate()
{
  ...
  flag = true;
}

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/17472/</id>
    <title type="text">Alexander Mukhanchikov: Будет выполняться пока будет срабатывать условие в Periodical. Хм, возможно ...</title>
    <published>2012-03-20T18:52:57Z</published>
    <updated>2012-03-20T18:52:57Z</updated>
    <author>
      <name>Trev</name>
      <uri>https://stocksharp.com/users/28071/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(17469)" rel="nofollow" target="_blank"&gt;Alexander Mukhanchikov&lt;/a&gt;:&lt;/strong&gt;
Будет выполняться пока будет срабатывать условие в Periodical.
Хм, возможно я не правильно вопрос задал. Я хотел что бы проверка условия Rule1 происходила каждые 10 секунд до тех пор, пока условие Rule1 не выполнится или до тех пор пока не будет выполнено условие в Periodical.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/17469/</id>
    <title type="text">Будет выполняться пока будет срабатывать условие в Periodical. </title>
    <published>2012-03-20T17:55:54Z</published>
    <updated>2012-03-20T17:55:54Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Будет выполняться пока будет срабатывать условие в Periodical.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/17463/</id>
    <title type="text">Подскажите пожалуйста как задать событие, которое будет каждые 10 секунд проверять некое условие и п...</title>
    <published>2012-03-20T15:33:55Z</published>
    <updated>2012-03-20T15:35:11Z</updated>
    <author>
      <name>Trev</name>
      <uri>https://stocksharp.com/users/28071/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Подскажите пожалуйста как задать событие, которое будет каждые 10 секунд проверять некое условие и при наступлении этого условия проверка прекратиться ?
Я пытался сделать так&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;this
 .When(Rule1, TimeSpan.FromSeconds(10)) // будем проверять условие Rule1 с периодичностью 10 секунд
 .Do(Calculate)
 .Periodical(() =&amp;gt; DateTime.Now.Hour - startTime.Hour == 1); // выполняем до тех пор, пока текущий час не закончится. Сюда нужно добавить условие на завершение, но какое ?

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Заранее спасибо !&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>