﻿<?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">[Bug] запаздывание обновления Strategy.MyTrades</title>
  <id>~/topic/1789/bug-zapazdyvanie-obnovleniya-strategy_mytrades/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-01T17:34:51Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1789" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/14184/</id>
    <title type="text">Такая же - это какая? Если про несколько раз изменяется после Done - да, такое может быть. Пример дл...</title>
    <published>2011-12-02T08:07:42Z</published>
    <updated>2011-12-02T08:07:42Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Такая же - это какая?&lt;br /&gt;Если про несколько раз изменяется после Done - да, такое может быть.&lt;br /&gt;&lt;br /&gt;Пример для плазы2:&lt;br /&gt;1) вам приходит событие об исполнении ордера по ответу на транзакцию.&lt;br /&gt;2) Далее - вы получаете событие об изменении вашего ордера по ордер логу.&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/14183/</id>
    <title type="text">У нас такая же проблема - найдено ли решение?</title>
    <published>2011-12-02T07:59:39Z</published>
    <updated>2011-12-02T07:59:39Z</updated>
    <author>
      <name>MSH</name>
      <uri>https://stocksharp.com/users/465/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">У нас такая же проблема - найдено ли решение?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/10141/</id>
    <title type="text">Скажите, может ли оредер изменятся, после того, как он был исполнен? У меня поулчается что метод выз...</title>
    <published>2011-08-03T08:57:50Z</published>
    <updated>2011-08-03T09:09:22Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.com/users/28223/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Скажите, может ли оредер изменятся, после того, как он был исполнен?&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;

void OnOrderChanged(Order obj)
		{
			if(obj.IsMatched()) {
				_listOfIdOrders.Add(obj.Id);
			}
		}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Как этого избежать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/10139/</id>
    <title type="text">Какой именно ордер передается в void OnOrderChanged(Order obj) ? тот у которого что-то изменилось</title>
    <published>2011-08-03T08:15:28Z</published>
    <updated>2011-08-03T08:15:28Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.com/users/510/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vader &lt;a href="https://stocksharp.com/posts/m/10138/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Какой именно ордер передается в void OnOrderChanged(Order obj)  ?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;тот у которого что-то изменилось</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/10138/</id>
    <title type="text">Какой именно ордер передается в void OnOrderChanged(Order obj) ?</title>
    <published>2011-08-03T07:47:26Z</published>
    <updated>2011-08-03T07:47:26Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.com/users/28223/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Какой именно ордер передается в void OnOrderChanged(Order obj)  ?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/10116/</id>
    <title type="text">1. в событие NewMyTrades должны передаваться трейды - у вас же в RegisterNext ничего не передается. ...</title>
    <published>2011-08-02T14:48:18Z</published>
    <updated>2011-08-02T14:48:18Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.com/users/510/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">1.&lt;br /&gt;в событие NewMyTrades должны передаваться трейды - у вас же в RegisterNext ничего не передается.&lt;br /&gt;Не знаю как эту конструкцию описать через .When.Do&lt;br /&gt;я делаю по старинке:&lt;br /&gt;в конструкторе стратегии: this.NewMyTrades += new Action&amp;lt;IEnumerable&amp;lt;MyTrade&amp;gt;&amp;gt;(OnNewMyTrades);&lt;br /&gt;&lt;br /&gt;		void OnNewMyTrades(IEnumerable&amp;lt;MyTrade&amp;gt; myTrades)&lt;br /&gt;		{&lt;br /&gt;			foreach (MyTrade myTrade in myTrades)&lt;br /&gt;			{&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;вам судя по вашему примеру нужны не сами трейды, а изменение состояния ордера - а тогда вы можете ловить именно это событие&lt;br /&gt;			this.OrderChanged += new Action&amp;lt;Order&amp;gt;(OnOrderChanged);&lt;br /&gt;		void OnOrderChanged(Order obj)&lt;br /&gt;		{&lt;br /&gt;if(obj.IsMatched()) { ....&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/10105/</id>
    <title type="text">Обнаружил что, MyTrades хоть и является синхоронизированной, но обновляется с опозданием. у меня стр...</title>
    <published>2011-08-02T08:59:26Z</published>
    <updated>2011-08-02T08:59:26Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.com/users/28223/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Обнаружил что, MyTrades хоть и является синхоронизированной, но обновляется с опозданием.&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
				.When(StrategyRuleConditionHelper.StrategyNewMyTrades(this) )
				.Do(RegisterNext);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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 RegisterNext()
		{
			if(TraderHelper.IsMatched(this.MyTrades[this.MyTrades.Count-1].Order)){
				_curLotBuySellNow += this.MyTrades[this.MyTrades.Count-1].Order.Volume;
&lt;/pre&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>
</feed>