﻿<?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">Правило помечено как Once, но иногда вызывается дважды</title>
  <id>~/topic/1846/pravilo-pomecheno-kak-once-no-inogda-vyzyvaetsya-dvazhdy/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-26T22:39:07Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1846" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/10667/</id>
    <title type="text">Пришлите минимальный проект, где это воспроизводится. </title>
    <published>2011-08-28T12:08:06Z</published>
    <updated>2011-08-28T12:08:06Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&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/10661/</id>
    <title type="text">Правило создается каждый раз при регистрации новой заявки. Зачем 2 раза free = false? - забыл удалит...</title>
    <published>2011-08-28T05:29:04Z</published>
    <updated>2011-08-28T05:29:04Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Правило создается каждый раз при регистрации новой заявки.
Зачем 2 раза free = false? - забыл удалить нижнию.&lt;/p&gt;
&lt;p&gt;Не вижу где здесь делается вывод того, что в первом сообщении. - происходит в методе ,вызываемом при исполнении правила - RecalculateVolume.
Также неясно что с 3.2.10 - Пока мало тестировал, определённо сказать не могу.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10655/</id>
    <title type="text">vader: ODE0� Не вижу где здесь делается вывод того, что в первом сообщении. Также неясно что с 3.2.1...</title>
    <published>2011-08-27T20:05:49Z</published>
    <updated>2011-08-27T20:05:49Z</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(10610)" rel="nofollow" target="_blank"&gt;vader&lt;/a&gt;:&lt;/strong&gt;
ODE0�&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Не вижу где здесь делается вывод того, что в первом сообщении.
Также неясно что с 3.2.10&lt;/p&gt;
&lt;p&gt;Зачем 2 раза free = false?
И сколько раз правило создаётся?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10610/</id>
    <title type="text"> if(_free){ _free = false; _order = new Order { Portfolio = this.Portfolio, Volume = vol, Price = pr...</title>
    <published>2011-08-25T08:56:23Z</published>
    <updated>2011-08-25T08:56:23Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;pre&gt;&lt;code class="language-csharp"&gt;
if(_free){
						_free = false;
						_order = new Order
						{
							Portfolio = this.Portfolio,
							Volume = vol,
							Price = price,
							Security = this.Security,
							Direction = OrderDirections.Sell,
						};
						
						WrapRegisterOrder();
					}

private void WrapRegisterOrder()
		{
			_ruleMatched = this
				.When(StrategyRuleConditionHelper.Matched(_order))
				.Do(RecalculateVolume)
				.Once();
			_ruleMatched.EnableLog(true);
Register(_order);
_free = false;
}

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10607/</id>
    <title type="text">Покажите где и как создаёте правило. Также проверьте данное поведение на 3.2.10 </title>
    <published>2011-08-24T21:49:16Z</published>
    <updated>2011-08-24T21:49:16Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Покажите где и как создаёте правило.
Также проверьте данное поведение на 3.2.10&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10601/</id>
    <title type="text">При исполнении сделки вызывается метод, где пересчитывается позиция. Правило помечено как Once, но и...</title>
    <published>2011-08-24T19:28:39Z</published>
    <updated>2011-08-24T19:29:22Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;При исполнении сделки вызывается метод, где пересчитывается позиция.
Правило помечено как Once, но иногда вызывается дважды.
Вот вывод изменения текущей позиции и TransactionId
1 61947599
2 61947600
11 61947601
12 61947602
19 61947603
25 61947604
26 61947605
27 61947606
28 61947606
33 61947607&lt;br /&gt;
36 61947608&lt;/p&gt;
&lt;p&gt;3и 4 с конца списка - дважды посчитано по одной сделке.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>