﻿<?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">Выполнение RegisterOrder в синхронном режиме</title>
  <id>~/topic/2644/vypolnenie-registerorder-v-sinhronnom-rezhime/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-04T14:07:29Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2644" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/18666/</id>
    <title type="text">trader.IsAsyncMode = false; Обработчик trader.NewStopOrders: private void trader_NewStopOrders(IEnum...</title>
    <published>2012-04-26T17:35:46Z</published>
    <updated>2012-04-26T17:35:46Z</updated>
    <author>
      <name>rtDen</name>
      <uri>https://stocksharp.com/users/733/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">trader.IsAsyncMode = false;&lt;br /&gt;&lt;br /&gt;Обработчик trader.NewStopOrders:&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 void trader_NewStopOrders(IEnumerable&amp;lt;Order&amp;gt; stopOrders)
{
	...
	AddLog(&amp;quot;New stop orders&amp;quot;, true);
	AddLog(&amp;quot;thread id: &amp;quot; + Thread.CurrentThread.ManagedThreadId.ToString() + &amp;quot; thread name: &amp;quot; + Thread.CurrentThread.Name, true);
	...
}&lt;/pre&gt;
&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;
private void button1_Click(object sender, EventArgs e)
{
	Order order = CreateStopLimit(1, 151500, 151500, workSecurity, OrderDirections.Sell);
	AddLog(&amp;quot;thread id: &amp;quot; + Thread.CurrentThread.ManagedThreadId.ToString() + &amp;quot; thread name: &amp;quot; + Thread.CurrentThread.Name, true);
	AddLog(&amp;quot;do: &amp;quot; + order.Id.ToString(), true);
	try
	{	
		trader.RegisterOrder(order);
	}
	catch
	{
	}
	AddLog(&amp;quot;posle: &amp;quot; + order.Id.ToString(), true);
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Лог:&lt;br /&gt;22:40:44:62 thread id: 10 thread name: &lt;br /&gt;22:40:44:62 do: 0&lt;br /&gt;22:40:44:320 New stop orders&lt;br /&gt;22:40:44:322 thread id: 10 thread name: &lt;br /&gt;22:40:44:327 posle: 1395021&lt;br /&gt;&lt;br /&gt;Т.е. в trader_NewStopOrders мы попадаем сразу из trader.RegisterOrder(order);&lt;br /&gt;&lt;br /&gt;При выполеннии следующего куска кода из метода, вызываемого из обработчика trader.NewMyTrades&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;
AddLog(&amp;quot;thread id: &amp;quot; + Thread.CurrentThread.ManagedThreadId.ToString() + &amp;quot; thread name: &amp;quot; + Thread.CurrentThread.Name, true);
AddLog(&amp;quot;do: &amp;quot; + order.Id.ToString(), true);
try
{
	trader.RegisterOrder(order);
}
	catch (Exception e)
{
	AddLog(&amp;quot;Ошибка: &amp;quot; + e.Message, true);
}
AddLog(&amp;quot;posle: &amp;quot; + order.Id.ToString(), true);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Имеем лог:&lt;br /&gt;&lt;br /&gt;22:39:09:809 thread id: 23 thread name: EventDispatcher thread #мои сделки&lt;br /&gt;22:39:09:809 do: 0&lt;br /&gt;22:39:10:193 posle: 1395020&lt;br /&gt;22:39:10:193 New stop orders&lt;br /&gt;22:39:10:193 thread id: 23 thread name: EventDispatcher thread #мои сделки&lt;br /&gt;&lt;br /&gt;Т.е. в trader_NewStopOrders мы попадаем уже после окончания метода.&lt;br /&gt;&lt;br /&gt;Хотелось бы узнать в каких случаях мы сразу попадем в trader_NewStopOrders, а в каких нет, всегда ли они будут выполняться в том же потоке что и trader.RegisterOrder(order); и т.д. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>