﻿<?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">PositionManager стратегии</title>
  <id>~/topic/1703/positionmanager-strategii/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T10:04:06Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1703" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/9848/</id>
    <title type="text">President: Alex Ander: Часто происходит ошибка с расчетом позиции и профита Например, сделка соверша...</title>
    <published>2011-07-25T06:55:15Z</published>
    <updated>2016-08-16T00:00:34Z</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(9847)" rel="nofollow" target="_blank"&gt;President&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9652)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
Часто происходит ошибка с расчетом позиции и профита
Например, сделка совершается, а позиция остается нулевой
Я добавил в стратегию свой расчет позиции и профита:&lt;/p&gt;
&lt;p&gt;Обработчик события NewMyTrades:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;protected void MyStrategy_NewMyTrades(IEnumerable&lt;MyTrade&gt; myTrades)
{
CashPayed += myTrades.Sum(t =&amp;gt; t.Trade.Price * t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
MyPosition -= myTrades.Sum(t =&amp;gt; t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; &amp;gt; CashPayed - баланс денежных средств (при покупке вычитается, при продаже прибавляется)
&amp;gt; &amp;gt; MyPosition - текущая позиция по стратегии (при покупке прибавляется, при продаже вычитается)
&amp;gt; &amp;gt; Ну а профит|убыток в моменте = (CashPayed + Security.LastTrade.Price * MyPosition)
&amp;gt; &amp;gt; За время тестирования ошибок не было ни одной, а стандартный менеджер позиций и PnL-менеджер периодически ошибаются.
&amp;gt; 
&amp;gt; ввиду баги описанной мной тут
&amp;gt; http://stocksharp.com/forum/1764/Zhiest--s-NewMyTrades------nie-vyzvalos--sobytiie-NewMyTrades/
&amp;gt; данный код может иногда подвести - у меня тоже месяц не было проблем а потом - бац и &amp;quot;выстрелило&amp;quot;
&amp;gt; т.о. вопрос как 100% правильно узнать текущую позицию остается открытым


Все проблемы которые вы там описываете - это при тестировании.
В реальных торгах данный код за 1.5 года меня не подводил пока. :)
&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/9847/</id>
    <title type="text">Alex Ander: Часто происходит ошибка с расчетом позиции и профита Например, сделка совершается, а поз...</title>
    <published>2011-07-25T06:53:06Z</published>
    <updated>2016-08-16T00:00:34Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9652)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
Часто происходит ошибка с расчетом позиции и профита
Например, сделка совершается, а позиция остается нулевой
Я добавил в стратегию свой расчет позиции и профита:&lt;/p&gt;
&lt;p&gt;Обработчик события NewMyTrades:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;protected void MyStrategy_NewMyTrades(IEnumerable&lt;MyTrade&gt; myTrades)
{
CashPayed += myTrades.Sum(t =&amp;gt; t.Trade.Price * t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
MyPosition -= myTrades.Sum(t =&amp;gt; t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; CashPayed - баланс денежных средств (при покупке вычитается, при продаже прибавляется)
&amp;gt; MyPosition - текущая позиция по стратегии (при покупке прибавляется, при продаже вычитается)
&amp;gt; Ну а профит|убыток в моменте = (CashPayed + Security.LastTrade.Price * MyPosition)
&amp;gt; За время тестирования ошибок не было ни одной, а стандартный менеджер позиций и PnL-менеджер периодически ошибаются.

ввиду баги описанной мной тут
http://stocksharp.com/forum/1764/Zhiest--s-NewMyTrades------nie-vyzvalos--sobytiie-NewMyTrades/
данный код может иногда подвести - у меня тоже месяц не было проблем а потом - бац и &amp;quot;выстрелило&amp;quot;
т.о. вопрос как 100% правильно узнать текущую позицию остается открытым
&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/9850/</id>
    <title type="text">Alexander: Все проблемы которые вы там описываете - это при тестировании. В реальных торгах данный к...</title>
    <published>2011-07-25T07:38:02Z</published>
    <updated>2011-07-25T07:38:02Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9848)" rel="nofollow" target="_blank"&gt;Alexander&lt;/a&gt;:&lt;/strong&gt;
Все проблемы которые вы там описываете - это при тестировании.
В реальных торгах данный код за 1.5 года меня не подводил пока. :)
у меня на реальных торгах NewMyTrade не вызвался! (хотя до этого месяц все работало корректно)&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9657/</id>
    <title type="text">Alex Ander: Часто происходит ошибка с расчетом позиции и профита Например, сделка совершается, а поз...</title>
    <published>2011-07-18T17:50:42Z</published>
    <updated>2011-07-18T17:50:42Z</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(9652)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
Часто происходит ошибка с расчетом позиции и профита
Например, сделка совершается, а позиция остается нулевой
Я добавил в стратегию свой расчет позиции и профита:&lt;/p&gt;
&lt;p&gt;Обработчик события NewMyTrades:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;protected void MyStrategy_NewMyTrades(IEnumerable&lt;MyTrade&gt; myTrades)
{
CashPayed += myTrades.Sum(t =&amp;gt; t.Trade.Price * t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
MyPosition -= myTrades.Sum(t =&amp;gt; t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; CashPayed - баланс денежных средств (при покупке вычитается, при продаже прибавляется)
&amp;gt; MyPosition - текущая позиция по стратегии (при покупке прибавляется, при продаже вычитается)
&amp;gt; Ну а профит|убыток в моменте = (CashPayed + Security.LastTrade.Price * MyPosition)
&amp;gt; За время тестирования ошибок не было ни одной, а стандартный менеджер позиций и PnL-менеджер периодически ошибаются.


Если переопределить дефолтный PositionManager в стратегии, использовать StrategyPositionManager(strategy, **false**) а не true, как по умолчанию, то позиция будет считаться именно так - по моим сделкам, а не по сделкам. И именно так, как написано у вас в обработчике.
&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/9652/</id>
    <title type="text">Часто происходит ошибка с расчетом позиции и профита Например, сделка совершается, а позиция остаетс...</title>
    <published>2011-07-18T14:02:52Z</published>
    <updated>2011-07-18T14:02:52Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.ru/users/710/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Часто происходит ошибка с расчетом позиции и профита
Например, сделка совершается, а позиция остается нулевой
Я добавил в стратегию свой расчет позиции и профита:&lt;/p&gt;
&lt;p&gt;Обработчик события NewMyTrades:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;protected void MyStrategy_NewMyTrades(IEnumerable&amp;lt;MyTrade&amp;gt; myTrades)
        {
            CashPayed += myTrades.Sum(t =&amp;gt; t.Trade.Price * t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
            MyPosition -= myTrades.Sum(t =&amp;gt; t.Trade.Volume * (t.Order.Direction == OrderDirections.Buy ? -1 : 1));
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;CashPayed - баланс денежных средств (при покупке вычитается, при продаже прибавляется)
MyPosition - текущая позиция по стратегии (при покупке прибавляется, при продаже вычитается)
Ну а профит|убыток в моменте = (CashPayed + Security.LastTrade.Price * MyPosition)
За время тестирования ошибок не было ни одной, а стандартный менеджер позиций и PnL-менеджер периодически ошибаются.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9625/</id>
    <title type="text">hobo: И еще RegisterQuotes то ли ждать приходится долго, то ли он вообще не каждый раз запускается -...</title>
    <published>2011-07-18T07:04:46Z</published>
    <updated>2011-07-18T07:04:46Z</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(9623)" rel="nofollow" target="_blank"&gt;hobo&lt;/a&gt;:&lt;/strong&gt;
И еще RegisterQuotes то ли ждать приходится долго, то ли он вообще не каждый раз запускается - не разобрался еще, я даже QuotesChanged теперь жду (раньше такой необходимости не было никогда). Ну это так, отступление &amp;quot;о неведомом&amp;quot;.&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/9623/</id>
    <title type="text">Неведомое - что такая штука происходит почти при каждом запуске стратегии. И еще RegisterQuotes то л...</title>
    <published>2011-07-18T06:35:14Z</published>
    <updated>2011-07-18T06:35:14Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Неведомое - что такая штука происходит почти при каждом запуске стратегии. И еще RegisterQuotes то ли ждать приходится долго, то ли он вообще не каждый раз запускается - не разобрался еще, я даже QuotesChanged теперь жду (раньше такой необходимости не было никогда). Ну это так, отступление &amp;quot;о неведомом&amp;quot;.
Конкретно этот в NewMyTrades, через несколько интервалов стратегии в OnProcess было тоже самое.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9621/</id>
    <title type="text">Ну хорошо что неведомое происходит только с менеджером позиций и ничем более :) Где брэйкпоинт стоит...</title>
    <published>2011-07-18T05:47:03Z</published>
    <updated>2011-07-18T05:47:03Z</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;
&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/9620/</id>
    <title type="text">Если сказать просто, то проблема осталась в 3.2.5, вернее даже усилилась. Если подробнее, то с MyTra...</title>
    <published>2011-07-18T03:50:40Z</published>
    <updated>2011-07-18T04:50:16Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Если сказать просто, то проблема осталась в 3.2.5, вернее даже усилилась.
Если подробнее, то с MyTrade все так. А как сочетается исполненный ордер и наличие сделки в PositionManager(зеленым выделил) с отсутствием позиции в Position (красным)?
&lt;img src="http://i064.radikal.ru/1107/ea/72add61375ac.png" alt="" /&gt;
PS: да, это демка&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9616/</id>
    <title type="text">hobo: Тестирую 3.2.5. - вообще что-то неведомое происходит и не только с менеджером позиций. Вот так...</title>
    <published>2011-07-17T16:09:03Z</published>
    <updated>2011-07-17T16:09: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(9614)" rel="nofollow" target="_blank"&gt;hobo&lt;/a&gt;:&lt;/strong&gt;
Тестирую 3.2.5. - вообще что-то неведомое происходит и не только с менеджером позиций.
Вот такую штуку я вижу в NewMyTrades и позднее, повторялось сие неоднократно.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;А что не так с MyTrade? Куда смотреть?
Время? Да, сегодня торгов нет. Может у вас какая-нибудь демка?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9614/</id>
    <title type="text">Тестирую 3.2.5. - вообще что-то неведомое происходит и не только с менеджером позиций. Вот такую шту...</title>
    <published>2011-07-17T09:46:56Z</published>
    <updated>2011-07-17T09:46:56Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Тестирую 3.2.5. - вообще что-то неведомое происходит и не только с менеджером позиций.
Вот такую штуку я вижу в NewMyTrades и позднее, повторялось сие неоднократно.
&lt;img src="http://i028.radikal.ru/1107/9b/c1dd4f44ffe6.png" alt="" /&gt;
Один ордер (Done, Accepted) есть в ордерах, сделка тоже случилась, PositionManager показывает 0.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9517/</id>
    <title type="text">Я 3.2.1 использую, пересадить робота сегодня же не готов, надо потестироваться будет. Я как перейду ...</title>
    <published>2011-07-13T08:40:40Z</published>
    <updated>2011-07-13T08:40:40Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Я 3.2.1 использую, пересадить робота сегодня же не готов, надо потестироваться будет.
Я как перейду на старшую версию, понаблюдаю и сообщу. Но подобный сбой - событие редкое, сказать что-то определенное смогу не скоро.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9512/</id>
    <title type="text">В 3.2.5 ошибка остаётся? Попробуйте перегрузить стратегию и создавать свой StrategyPositionManager, ...</title>
    <published>2011-07-13T06:18:25Z</published>
    <updated>2011-07-13T06:18:25Z</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.5 ошибка остаётся?&lt;/p&gt;
&lt;p&gt;Попробуйте перегрузить стратегию и создавать свой StrategyPositionManager, формируя его не по Order, а по Trades (там флаг есть для конструктора).&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9509/</id>
    <title type="text">Я смотрю, что &amp;quot;информативные&amp;quot; у меня логи, если я даже вас запутал [biggrin] Alexander: Так у вас по...</title>
    <published>2011-07-13T04:10:12Z</published>
    <updated>2011-07-13T04:10:12Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Я смотрю, что &amp;quot;информативные&amp;quot; у меня логи, если я даже вас запутал [biggrin]&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9495)" rel="nofollow" target="_blank"&gt;Alexander&lt;/a&gt;:&lt;/strong&gt;
Так у вас по сделкам тоже 1 подсчитано.
SBLSS 12.07.2011 12:37:14.645 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. - вот здесь &amp;quot;1 по сделкам&amp;quot; потому что OnNewMyTrades еще не вызвался и позиция не пересчитана пока.
SBLSS 12.07.2011 12:37:14.661 OnNewMyTrades. Сейчас позиций=0 - Вот тут уже пересчитана&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9495)" rel="nofollow" target="_blank"&gt;Alexander&lt;/a&gt;:&lt;/strong&gt;
подпишитесь на Strategy.OrderChanged, покажите что выводится в этом событии - какая заявка и как меняется.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я это собственно и сделал, когда Михаил спросил, &amp;quot;А выводит ли?&amp;quot;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;DoLog(
&amp;quot;OnOrdersChanged. Сейчас позиций(orig)=&amp;quot; + base.PositionManager.Position +
&amp;quot;, по сделкам=&amp;quot; + base_PositionManager_Position +
&amp;quot;. order.Direction=&amp;quot; + order.Direction +
&amp;quot;. order.ID=&amp;quot; + order.Id +
&amp;quot;. order.Status=&amp;quot; + order.Status +
&amp;quot;. order.State=&amp;quot; + order.State
);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Заявка, правда, или не меняется или 3-4 раза одно и тоже выводится в лог.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9495/</id>
    <title type="text">Следующий вывод, где есть данные от PositionManager - в 12:37:14.644 - &amp;quot;Сейчас позиций(orig)=1&amp;quot;, что...</title>
    <published>2011-07-12T17:44:58Z</published>
    <updated>2011-07-12T23:18:04Z</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;Следующий вывод, где есть данные от PositionManager - в 12:37:14.644 - &amp;quot;Сейчас позиций(orig)=1&amp;quot;, что верно.
А к этому моменту опять было 0.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Так у вас по сделкам тоже 1 подсчитано.&lt;/p&gt;
&lt;p&gt;подпишитесь на Strategy.OrderChanged, покажите что выводится в этом событии - какая заявка и как меняется.&lt;/p&gt;
&lt;p&gt;Сейчас лучше 3.2.5 использовать, было несколько фиксов в стратегиях.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9494/</id>
    <title type="text">Во втором - ничего, все верно, если учитывать, что подсчет позиции уже сбился к этому времени и весь...</title>
    <published>2011-07-12T17:39:18Z</published>
    <updated>2011-07-12T17:39:18Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Во втором - ничего, все верно, если учитывать, что подсчет позиции уже сбился к этому времени и весь этот кусок лога показывает на 1 позицию больше, чем было на самом деле.&lt;/p&gt;
&lt;p&gt;12.07.2011 12:37:00.000 - Исходное состояние, стратегия вне рынка. Позиций фактически было 0.
12.07.2011 12:37:09.994 - &amp;quot;Сейчас позиций(orig)=2&amp;quot; - вот такой ситуации не было. PositionManager должен показывать 1 (ну пусть даже 0, если что-то еще не сработало, но никак не 2).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Следующий вывод, где есть данные от PositionManager - в 12:37:14.644 - &amp;quot;Сейчас позиций(orig)=1&amp;quot;, что верно.
А к этому моменту опять было 0.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9492/</id>
    <title type="text">hobo: 100 мс вперед? Я бы рад показать хоть 100 секунд, но я - не скальпер и после этого куска неско...</title>
    <published>2011-07-12T16:59:07Z</published>
    <updated>2011-07-12T16:59:07Z</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(9489)" rel="nofollow" target="_blank"&gt;hobo&lt;/a&gt;:&lt;/strong&gt;
100 мс вперед?
Я бы рад показать хоть 100 секунд, но я - не скальпер и после этого куска несколько минут в логе просто ничего нет, ни строчки. Плюс я не вывожу в каждой итерации позицию в лог.&lt;/p&gt;
&lt;p&gt;Вот следующий вход и выход, уже со сбившимся подсчетом.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;SBLSS 12.07.2011 12:37:09.578 Зарегистрировали ордер, id = 4365407898
SBLSS 12.07.2011 12:37:09.994 OnOrdersChanged. Сейчас позиций(orig)=2, по сделкам=0. order.Direction=Buy. order.ID=4365407898. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:09.994 OnOrdersChanged. Сейчас позиций(orig)=2, по сделкам=0. order.Direction=Buy. order.ID=4365407898. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:09.994 OnOrdersChanged. Сейчас позиций(orig)=2, по сделкам=0. order.Direction=Buy. order.ID=4365407898. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:10.082 OnNewMyTrades. Сейчас позиций=1
SBLSS 12.07.2011 12:37:10.083 OnNewMyTrades. Произошла сделка 349859601. Исходный ордер 4365407898 с направлением Buy
SBLSS 12.07.2011 12:37:10.083 OnNewMyTrades.
SBLSS 12.07.2011 12:37:11.237 SL от сделки 349859601
SBLSS 12.07.2011 12:37:14.434 SL зарегистрировали ордер 4365410450
SBLSS 12.07.2011 12:37:14.644 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365410450. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:14.644 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365410450. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:14.645 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365410450. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:14.661 OnNewMyTrades. Сейчас позиций=0
SBLSS 12.07.2011 12:37:14.661 OnNewMyTrades. Произошла сделка 349860428. Исходный ордер 4365410450 с направлением Sell
SBLSS 12.07.2011 12:37:14.661 OnNewMyTrades.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; Строчки &amp;quot;OnNewMyTrades. Сейчас позиций=&amp;lt;&amp;gt;&amp;quot; выводятся сразу после собственного пересчета позиции по сделкам.
&amp;gt; 
&amp;gt; Если скажете что можно информативного выводить, я готов.

Не понял где ошибка.

PositionManager меняет позицию по событию Strategy.OrderChanged.
Вы тоже подписываетесь на это событие.

Событие поступает - срабатывает ваш обработчик. Вы берёте старую, не пересчитанную позицию, выводите.
Далее это событие поступает в PositionManager. Он пересчитывает, меняет.

Следующий вывод, где есть данные от PositionManager - в 12:37:14.644 - &amp;quot;Сейчас позиций(orig)=1&amp;quot;, что верно.


Или я не так понял ваш вывод?
&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/9489/</id>
    <title type="text">100 мс вперед? Я бы рад показать хоть 100 секунд, но я - не скальпер и после этого куска несколько м...</title>
    <published>2011-07-12T16:11:30Z</published>
    <updated>2011-07-12T16:12:20Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;100 мс вперед?
Я бы рад показать хоть 100 секунд, но я - не скальпер и после этого куска несколько минут в логе просто ничего нет, ни строчки. Плюс я не вывожу в каждой итерации позицию в лог.&lt;/p&gt;
&lt;p&gt;Вот следующий вход и выход, уже со сбившимся подсчетом.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;SBLSS 12.07.2011 12:37:09.578 Зарегистрировали ордер, id = 4365407898
SBLSS 12.07.2011 12:37:09.994 OnOrdersChanged. Сейчас позиций(orig)=2, по сделкам=0. order.Direction=Buy. order.ID=4365407898. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:09.994 OnOrdersChanged. Сейчас позиций(orig)=2, по сделкам=0. order.Direction=Buy. order.ID=4365407898. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:09.994 OnOrdersChanged. Сейчас позиций(orig)=2, по сделкам=0. order.Direction=Buy. order.ID=4365407898. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:10.082 OnNewMyTrades. Сейчас позиций=1
SBLSS 12.07.2011 12:37:10.083 OnNewMyTrades. Произошла сделка 349859601. Исходный ордер 4365407898 с направлением Buy
SBLSS 12.07.2011 12:37:10.083 OnNewMyTrades. 
SBLSS 12.07.2011 12:37:11.237 SL от сделки 349859601
SBLSS 12.07.2011 12:37:14.434 SL зарегистрировали ордер 4365410450
SBLSS 12.07.2011 12:37:14.644 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365410450. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:14.644 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365410450. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:14.645 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365410450. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:37:14.661 OnNewMyTrades. Сейчас позиций=0
SBLSS 12.07.2011 12:37:14.661 OnNewMyTrades. Произошла сделка 349860428. Исходный ордер 4365410450 с направлением Sell
SBLSS 12.07.2011 12:37:14.661 OnNewMyTrades. 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Строчки &amp;quot;OnNewMyTrades. Сейчас позиций=&amp;lt;&amp;gt;&amp;quot; выводятся сразу после собственного пересчета позиции по сделкам.&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/9480/</id>
    <title type="text">Тут разница 1мс, покажите лог хотя бы через 100мс. </title>
    <published>2011-07-12T14:25:02Z</published>
    <updated>2011-07-12T14:25:02Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Тут разница 1мс, покажите лог хотя бы через 100мс.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9478/</id>
    <title type="text">Сегодня опять повторился неправильный подсчет. Вот лог выхода из позиции, равной 1, когда сбился под...</title>
    <published>2011-07-12T14:20:43Z</published>
    <updated>2011-07-12T14:20:43Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Сегодня опять повторился неправильный подсчет.&lt;/p&gt;
&lt;p&gt;Вот лог выхода из позиции, равной 1, когда сбился подсчет. Ничего необычного в логе я лично не вижу[blink]
Позиций(orig) - это base.PositionManager.Position
По сделкам - мой подсчет внутри OnNewTrades&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;SBLSS 12.07.2011 12:28:54.455 SL зарегистрировали ордер 4365160817
SBLSS 12.07.2011 12:28:54.688 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365160817. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:28:54.688 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=1. order.Direction=Sell. order.ID=4365160817. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:28:54.689 OnNewMyTrades. 1ая_часть_лога_по_OnNewMyTrades
SBLSS 12.07.2011 12:28:54.689 OnNewMyTrades. 1ая_часть_лога_по_OnNewMyTrades
SBLSS 12.07.2011 12:28:54.689 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=0. order.Direction=Sell. order.ID=4365160817. order.Status=Accepted. order.State=Done
SBLSS 12.07.2011 12:28:54.689 OnNewMyTrades. 2ая_часть_лога_по_OnNewMyTrades
SBLSS 12.07.2011 12:28:54.689 OnOrdersChanged. Сейчас позиций(orig)=1, по сделкам=0. order.Direction=Sell. order.ID=4365160817. order.Status=Accepted. order.State=Done
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>