﻿<?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">Изменение Order.StopCondition.Parameters в стоп-заявке, после Order.State == Done</title>
  <id>~/topic/2417/izmenenie-order_stopcondition_parameters-v-stop-zayavke-posle-order_state--done/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-21T15:52:48Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2417" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/16563/</id>
    <title type="text">Maxim: Сенкс. Сори, а как редактировать документацию? Открыть в любом текстовом редакторе aml файл в...</title>
    <published>2012-02-17T11:11:16Z</published>
    <updated>2012-02-17T11:11:16Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16562)" rel="nofollow" target="_blank"&gt;Maxim&lt;/a&gt;:&lt;/strong&gt;
Сенкс.&lt;/p&gt;
&lt;p&gt;Сори, а как редактировать документацию?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Открыть в любом текстовом редакторе aml файл в папке Topics.
Более правильно и структурно - через программу &lt;a href="http://sandcastle.codeplex.com/" rel="nofollow" target="_blank"&gt;SandCastle&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16562/</id>
    <title type="text">Сенкс. Сори, а как редактировать документацию? </title>
    <published>2012-02-17T11:08:26Z</published>
    <updated>2012-02-17T11:08:26Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Сенкс.&lt;/p&gt;
&lt;p&gt;Сори, а как редактировать документацию?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16559/</id>
    <title type="text">Maxim: Ник goricap добавил </title>
    <published>2012-02-17T09:38:03Z</published>
    <updated>2012-02-17T09:38:03Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16557)" rel="nofollow" target="_blank"&gt;Maxim&lt;/a&gt;:&lt;/strong&gt;
Ник goricap&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;добавил&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16557/</id>
    <title type="text">Ник goricap </title>
    <published>2012-02-17T08:48:31Z</published>
    <updated>2012-02-17T08:48:31Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Ник goricap&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16555/</id>
    <title type="text">Maxim: Доступа на кодплекс нет. Насчет дебагера, не совсем представляю как ловить изменение Order.St...</title>
    <published>2012-02-17T08:31:32Z</published>
    <updated>2012-02-17T08:31:32Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16554)" rel="nofollow" target="_blank"&gt;Maxim&lt;/a&gt;:&lt;/strong&gt;
Доступа на кодплекс нет.&lt;/p&gt;
&lt;p&gt;Насчет дебагера, не совсем представляю как ловить изменение Order.StopCondition.Parameters, не имея сорсов стокшарпа.
Со своей стороны кода я этого не словлю.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Какой ник на codeplex? Если нет - надо зарегаться и написать мне ник&lt;/p&gt;
&lt;p&gt;Отследить по order.Changed
Сорсы S# в данном случае никак не помогут :)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16554/</id>
    <title type="text">Доступа на кодплекс нет. Насчет дебагера, не совсем представляю как ловить изменение Order.StopCondi...</title>
    <published>2012-02-17T08:29:20Z</published>
    <updated>2012-02-17T08:29:20Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Доступа на кодплекс нет.&lt;/p&gt;
&lt;p&gt;Насчет дебагера, не совсем представляю как ловить изменение Order.StopCondition.Parameters, не имея сорсов стокшарпа.
Со своей стороны кода я этого не словлю.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16553/</id>
    <title type="text">Maxim: Тогда надо исправить документацию. В ней написано следующее: «Done - заявка более не активна ...</title>
    <published>2012-02-17T08:18:05Z</published>
    <updated>2012-02-17T08:18:05Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16550)" rel="nofollow" target="_blank"&gt;Maxim&lt;/a&gt;:&lt;/strong&gt;
Тогда надо исправить документацию. В ней написано следующее:
«Done - заявка более не активна на бирже, и по ней не может прийти ни одно изменение.»&lt;/p&gt;
&lt;p&gt;Касательно моего вопроса. А что может измениться в Order.StopCondition.Parameters?
Там же вроде данные, которые не меняются после создания заявки.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Поправите доку? Если нет доступа на codeplex - дам.&lt;/p&gt;
&lt;p&gt;По вашему вопросу - проще под дебагером посмотреть что конкретно там меняется.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16550/</id>
    <title type="text">Тогда надо исправить документацию. В ней написано следующее: «Done - заявка более не активна на бирж...</title>
    <published>2012-02-17T07:49:22Z</published>
    <updated>2012-02-17T07:49:22Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Тогда надо исправить документацию. В ней написано следующее:
«Done - заявка более не активна на бирже, и по ней не может прийти ни одно изменение.»&lt;/p&gt;
&lt;p&gt;Касательно моего вопроса. А что может измениться в Order.StopCondition.Parameters?
Там же вроде данные, которые не меняются после создания заявки.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16549/</id>
    <title type="text">Есть несколько таблиц, которые выводятся по DDE. И по которым можно понять что заявка перешла в сост...</title>
    <published>2012-02-17T07:45:14Z</published>
    <updated>2012-02-17T07:45:14Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Есть несколько таблиц, которые выводятся по DDE. И по которым можно понять что заявка перешла в состояние Done.
Меняем на Done по той, по которой данные пришли первой. Затем по другой, к примеру, узнаём о времени исполнения - заполняем его.&lt;/p&gt;
&lt;p&gt;Так что всё возможно с квиком.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16548/</id>
    <title type="text">Добрый день. Я создаю стоп-завку StopLimit типа. В методе, который подписан к событию Quik.StopOrder...</title>
    <published>2012-02-17T07:25:37Z</published>
    <updated>2012-02-17T07:25:37Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день.
Я создаю стоп-завку StopLimit типа.
В методе, который подписан к событию Quik.StopOrdersChanged, я проверяю условие Order.State == OrderStates.Done.
Если это условие выполнилось, то я записываю ордер в SQL.
При формировании данных для SQL я пробегаю циклом foreach по словарю  Order.StopCondition.Parameters.
Но во время этого пробега, появляется ошибка «Collection was modified; enumeration operation may not execute.»
Правильно ли я понимаю, что после того, как заявка стала Done, в ней ничего уже не должно изменяться?&lt;/p&gt;
&lt;p&gt;Помогите, пожалуйста, разобраться это баг или фича?
Возможно я что-то понимаю и делаю не так?&lt;/p&gt;
&lt;p&gt;Код формирования стоп-заявки&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
Order _newOrder = new Order
{
	Type = OrderTypes.Conditional,
	Volume = __volume,
	Price =  Price,
	Security = paperSecurity,
	Direction = __direct,
	ExpiryDate = DateTime.MaxValue,
	Portfolio = PortfolioStock,
	StopCondition = new QuikStopCondition
	{
		Type = QuikStopConditionTypes.StopLimit,
		StopPrice = PriceHSignal,
		ActiveTime = null
	}
};

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Код записи заявки в SQL&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
private static void writeOrdersToSql(IEnumerable&amp;lt;Order&amp;gt; __orders)
{
	using (SqlConnection _sqlConn = new SqlConnection(SqlQuik.SqlConnStr))
	{
		_sqlConn.Open();

		foreach (Order _order in __orders)
			if (_order.State == OrderStates.Done)
			{
				// Узнаем условие стоп заявки, если это стоп заявка
				String _stopCondition = String.Empty;
				if (_order.StopCondition != null)                        
					foreach (var _param in _order.StopCondition.Parameters)
						if (_param.Value != null)
							_stopCondition += _param.Key + &amp;quot; : &amp;quot; + _param.Value.ToString() + &amp;quot;; &amp;quot;;

				if (_stopCondition == String.Empty)
					_stopCondition = &amp;quot;NULL&amp;quot;;
				else
					_stopCondition = &amp;quot;'&amp;quot; + _stopCondition + &amp;quot;'&amp;quot;;
				
			        // Формирование строки SQL и запись в SQL
			        // ..................................
			}
	}
} 

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Message&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
&amp;quot;Collection was modified; enumeration operation may not execute.&amp;quot;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;StackTrace&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
at FirmName.ProgrammName.SqlQuik.writeOrdersToSql(IEnumerable`1 __orders) in D:\C\FirmName\FirmNameSolution\ProgrammName\SqlQuik\SqlQuik.cs:line 376
at FirmName.ProgrammName.SqlQuik.&amp;lt;&amp;gt;c__DisplayClass8.&amp;lt;quik_OrdersChanged&amp;gt;b__7() in D:\C\FirmName\FirmNameSolution\ProgrammName\SqlQuik\SqlQuik.cs:line 335
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>