﻿<?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">Использование MarketRuleHelper.SuspendRules при формировании правил в разных методах</title>
  <id>~/topic/2974/ispolzovanie-marketrulehelper_suspendrules-pri-formirovanii-pravil-v-raznyh-metodah/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-27T17:04:29Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2974" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/21162/</id>
    <title type="text">Использую код: Rules.Where(rule =&amp;gt; rule.SyncToken == syncToken &amp;amp;&amp;amp; rule.IsSuspended).ToArray().ForEac...</title>
    <published>2012-09-03T14:58:07Z</published>
    <updated>2012-09-03T14:58:07Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.com/users/5990/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;PavelAd &lt;a href="https://stocksharp.com/posts/m/21159/" 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;
Rules.Where(rule =&amp;gt; rule.SyncToken == syncToken &amp;amp;&amp;amp; rule.IsSuspended).ToArray().ForEach(rule =&amp;gt; rule.Suspend(false));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;для возобновления правил - как рекомендовали&lt;br /&gt;Не часто, но при каких-то не совсем понятных условиях вылетает исключение, что коллекция была изменена.&lt;br /&gt;Я думал объект Rules синхронизированный.&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;
Rules.SyncGet&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/21159/</id>
    <title type="text">Использую код: Rules.Where(rule =&amp;gt; rule.SyncToken == syncToken &amp;amp;&amp;amp; rule.IsSuspended).ToArray().ForEac...</title>
    <published>2012-09-03T10:03:15Z</published>
    <updated>2012-09-03T10:03:15Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.com/users/6072/</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;
Rules.Where(rule =&amp;gt; rule.SyncToken == syncToken &amp;amp;&amp;amp; rule.IsSuspended).ToArray().ForEach(rule =&amp;gt; rule.Suspend(false));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;для возобновления правил - как рекомендовали&lt;br /&gt;Не часто, но при каких-то не совсем понятных условиях вылетает исключение, что коллекция была изменена.&lt;br /&gt;Я думал объект Rules синхронизированный.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/21066/</id>
    <title type="text"> SuspendRules(); ResumeRules(); Кажется так. для Strategy - да, но если для Order - такого нет. По р...</title>
    <published>2012-08-28T09:45:33Z</published>
    <updated>2012-08-28T09:45:33Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.com/users/16581/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;PavelAd &lt;a href="https://stocksharp.com/posts/m/21063/" 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;ra81 &lt;a href="https://stocksharp.com/posts/m/21062/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;SuspendRules();&lt;br /&gt;ResumeRules();&lt;br /&gt;Кажется так.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;для Strategy - да, но если для Order - такого нет.&lt;br /&gt;По разным методам разнесены правила для Order, и запустить одновременно нужно их&lt;br /&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.com/posts/m/21065/</id>
    <title type="text">По разным методам разнесены правила для Order, и запустить одновременно нужно их При создании правил...</title>
    <published>2012-08-28T08:15:27Z</published>
    <updated>2012-08-28T08:15:27Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;По разным методам разнесены правила для Order, и запустить одновременно нужно их&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;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

		private Order _order;

		private void Method1()
		{
			_order
				.WhenRegistered()
				.Do(() =&amp;gt; { })
				.Suspend(true)
				.Apply();
		}

		private void Method2()
		{
			_order
				.WhenCanceled()
				.Do(() =&amp;gt; { })
				.Suspend(true)
				.Apply();
		}

		private void Method3()
		{
			foreach (var rule in Rules.Where(rule =&amp;gt; rule.IsSuspended))
			{
				rule.Suspend(false);
			}
		}
&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/21063/</id>
    <title type="text"> SuspendRules(); ResumeRules(); Кажется так. для Strategy - да, но если для Order - такого нет. По р...</title>
    <published>2012-08-28T05:52:28Z</published>
    <updated>2012-08-28T05:52:28Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.com/users/6072/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;ra81 &lt;a href="https://stocksharp.com/posts/m/21062/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;SuspendRules();&lt;br /&gt;ResumeRules();&lt;br /&gt;Кажется так.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;для Strategy - да, но если для Order - такого нет.&lt;br /&gt;По разным методам разнесены правила для Order, и запустить одновременно нужно их&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/21062/</id>
    <title type="text">Подскажите пожалуйста, как-то можно установить одновременно несколько правил, чтобы каждое из них бы...</title>
    <published>2012-08-28T03:13:47Z</published>
    <updated>2012-08-28T03:13:47Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.com/users/16581/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;PavelAd &lt;a href="https://stocksharp.com/posts/m/21061/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Подскажите пожалуйста, как-то можно установить одновременно несколько правил, чтобы каждое из них было активно только тогда, когда завершено формирование всех этих правил при условии что формирование правил делается в разных методах кода. &lt;br /&gt;В документации есть пример MarketRuleHelper.SuspendRules(Action), но его использовать можно когда все правила создаются в одном методе. &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;SuspendRules();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ResumeRules();&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/21061/</id>
    <title type="text">Подскажите пожалуйста, как-то можно установить одновременно несколько правил, чтобы каждое из них бы...</title>
    <published>2012-08-28T02:26:37Z</published>
    <updated>2012-08-28T02:26:37Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.com/users/6072/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Подскажите пожалуйста, как-то можно установить одновременно несколько правил, чтобы каждое из них было активно только тогда, когда завершено формирование всех этих правил при условии что формирование правил делается в разных методах кода. &lt;br /&gt;В документации есть пример MarketRuleHelper.SuspendRules(Action), но его использовать можно когда все правила создаются в одном методе. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>