﻿<?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/4475/v-behktestinge-ne-prihodyat-sobytiya-ob-izmeneniyah-statusov-orderov/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-17T04:26:49Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4475" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/30348/</id>
    <title type="text">Поставил работать простую стратегию (SMA) и ставим обработчик ордеров: this.OrderChanged += myOrder ...</title>
    <published>2014-04-17T09:20:10Z</published>
    <updated>2014-04-17T09:20:10Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.com/users/50604/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Поставил работать простую стратегию (SMA) и ставим обработчик ордеров:&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;

this.OrderChanged += myOrder =&amp;gt;
            {
                if (myOrder == entryOrder)
                {
                    if (entryOrder.State == OrderStates.Done)
                        entryOrderFlag = false;
                }                
            };
&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;

this.WhenOrderChanged()
                .Do(OrderHandler)
                .Apply();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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 OrderHandler(Order myOrder)
        {
            if (myOrder == entryOrder)
            {
                if (entryOrder.State == OrderStates.Done)
                    entryOrderFlag = false;
            }            
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ордер на покупку соответственно называем EntryOrder. &lt;br /&gt;&lt;br /&gt;Так вот, часть ордеров не попадают в эти методы - робот спокойно набирает позицию, я вижу по логам, что ордера отрабатываются (т.е. их статус меняется от Active -&amp;gt; Done), но эти методы не получают на обработку часть ордеров. Т.е. какие-то ордера приходят, а какие-то нет</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>