﻿<?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">Unrealized Pnl по открытым позициям</title>
  <id>~/topic/2265/unrealized-pnl-po-otkrytym-pozitsiyam/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-04T21:18:38Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2265" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/15291/</id>
    <title type="text">Я просто почему-то подумал () что все элементы в Trader.Securities будут иметь ссылку именно на тот ...</title>
    <published>2011-12-29T11:02:38Z</published>
    <updated>2011-12-29T11:02:38Z</updated>
    <author>
      <name>apostar</name>
      <uri>https://stocksharp.ru/users/668/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Я просто почему-то подумал ([blush]) что все элементы в Trader.Securities будут иметь ссылку именно на тот экземпляр Trader&amp;#39;а, которому они принадлежат чтобы избежать потенциальных проблем с использованием extension методов и подпиской на события.&lt;br /&gt;Выдуманный пример - если в стратегии есть следующая логика:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;

1. Выбрать нужные Securities из this.Trader.Securities
2. Для каждой из этих Securities выполнить security.Trader.NewMyTrades += FooHandler
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;То есть FooHandler будет подписан на событие NewMyTrades класса SmartTrader, а не RealTimeEmulationTrader&amp;lt;SmartTrader&amp;gt;, который и будет эмулировать эти MyTrades.&lt;br /&gt;Каюсь, не проверял, но заподозрил что если в описанной ситуации SmartTrader наблюдает за сделками пришедшими из SmartCOM, то FooHandler не будет вызван потому что сделка сгенерируется в RealTimeEmulationTrader&amp;lt;SmartTrader&amp;gt;, а не в SmartTrader.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;И что значит ожидалось? Ожидалось кем, зачем? :)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Вероятно, стоило написать &amp;quot;ожидалось в моей стратегии&amp;quot; [blush] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15276/</id>
    <title type="text">Да, заработало. Дело, кажется, вот в чем: я использую ITrader = RealTimeEmulationTrader для тестиров...</title>
    <published>2011-12-29T07:53:26Z</published>
    <updated>2011-12-29T08:35:17Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;apostar &lt;a href="https://stocksharp.ru/posts/m/15274/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Да, заработало.&lt;br /&gt;Дело, кажется, вот в чем: я использую ITrader = RealTimeEmulationTrader&amp;lt;SmartTrader&amp;gt; для тестирования стратегии, но когда я смотрю на Securities полученные из ITrader, я вижу что в свойстве Trader у этих Securities стоит экземпляр класса SmartTrader, а не RealTimeEmulationTrader&amp;lt;SmartTrader&amp;gt; как ожидалось.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это логично, т.к. все инструменты в действительности приходят из RealTimeEmulationTrader.Trader, т.е. на самом деле из SmartTrader&lt;br /&gt;&lt;br /&gt;И что значит ожидалось? Ожидалось кем, зачем? :)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15274/</id>
    <title type="text">Да, заработало. Дело, кажется, вот в чем: я использую ITrader = RealTimeEmulationTrader для тестиров...</title>
    <published>2011-12-29T04:06:20Z</published>
    <updated>2011-12-29T05:02:16Z</updated>
    <author>
      <name>apostar</name>
      <uri>https://stocksharp.ru/users/668/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Да, заработало.&lt;br /&gt;Дело, кажется, вот в чем: я использую ITrader = RealTimeEmulationTrader&amp;lt;SmartTrader&amp;gt; для тестирования стратегии, но когда я смотрю на Securities полученные из ITrader, я вижу что в свойстве Trader у этих Securities стоит экземпляр класса SmartTrader, а не RealTimeEmulationTrader&amp;lt;SmartTrader&amp;gt; как ожидалось.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15266/</id>
    <title type="text">Т.е. в итоге заработало? Сделайте инициализацию Security.Trader = Trader при создании инструмента.</title>
    <published>2011-12-28T16:18:44Z</published>
    <updated>2011-12-28T16:18:44Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Т.е. в итоге заработало?&lt;br /&gt;Сделайте инициализацию Security.Trader = Trader при создании инструмента.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15221/</id>
    <title type="text">Александр, поставил 4.0.11, не помогло. В стратегии подменяются PositionManager и PnLManager в перег...</title>
    <published>2011-12-28T06:28:52Z</published>
    <updated>2011-12-28T08:56:23Z</updated>
    <author>
      <name>apostar</name>
      <uri>https://stocksharp.ru/users/668/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Александр,&lt;br /&gt;поставил 4.0.11, не помогло.&lt;br /&gt;&lt;br /&gt;В стратегии подменяются PositionManager и PnLManager в перегруженном методе Start().&lt;br /&gt;&lt;br /&gt;Вот так не работает.&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

/// &amp;lt;summary&amp;gt;
/// Запустить торговый алгоритм.
/// &amp;lt;/summary&amp;gt;
public override void Start()
{
    // Change the position manager.
    PositionManager = new SecurityPositionManager(Security);

    // Change the PnL Manager
    PnLManager = new SecurityPnLManager(Security);

    ...
}
&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;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

/// &amp;lt;summary&amp;gt;
/// Запустить торговый алгоритм.
/// &amp;lt;/summary&amp;gt;
public override void Start()
{
    Security.Trader = Trader;

    // Change the position manager.
    PositionManager = new SecurityPositionManager(Security);

    // Change the PnL Manager
    PnLManager = new SecurityPnLManager(Security);

    ...
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15170/</id>
    <title type="text">Большая просьба в первую очередь поставить 4.0.11, т.к. со времён 4.0.3 было очень много фиксов.</title>
    <published>2011-12-26T15:53:50Z</published>
    <updated>2011-12-26T15:53:50Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Большая просьба в первую очередь поставить 4.0.11, т.к. со времён 4.0.3 было очень много фиксов.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15168/</id>
    <title type="text">Спасибо. Попробовал SecurityPnLManager в каждой из стратегий с последующим суммированием всех Positi...</title>
    <published>2011-12-26T14:49:00Z</published>
    <updated>2011-12-26T14:49:00Z</updated>
    <author>
      <name>apostar</name>
      <uri>https://stocksharp.ru/users/668/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Спасибо. Попробовал SecurityPnLManager в каждой из стратегий с последующим суммированием всех Position * Price * MinStepPrice / MinStepCount. Первая попытка с StrategyPnLManager не задалась, такое впечатление что не умножает на MinStepPrice / MinStepCount. Наверное что-то неправильно инициализирую - используется EmulationTrader и Security инициализируются вручную.&lt;br /&gt;&lt;br /&gt;Заметил еще одну вещь - при использовании EmulationTrader при совершении сделок видно изменение PnL при приходе новых котировок. Например:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;

00:03:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RIZ1@RTS&amp;#39; активировано.
00:03:59.990 |            | MACS_RIZ1       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
00:03:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RSZ1@RTS&amp;#39; активировано.
00:03:59.990 |            | MACS_RIZ1       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
00:04:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RIZ1@RTS&amp;#39; активировано.
00:04:59.990 |            | MACS_RIZ1       | : TransactionId=65003398, Id=0, Price=0, Balance=1, Security=RIZ1@RTS, State=None 
00:04:59.990 |            | MACS_RIZ1       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
00:04:59.990 |            | MACS_RIZ1       | Новая Buy сделка 1 по цене 155006 на 1 заявки 65003397.
00:04:59.990 |            | MACS_RIZ1       | Новая Buy сделка 2 по цене 154976 на 1 заявки 65003398.
00:04:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение позиции стратегии MACS_RIZ1&amp;#39; активировано.
00:04:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Полное исполнение 0&amp;#39; активировано.
00:04:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Полное исполнение 0&amp;#39; удалено.
00:04:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RSZ1@RTS&amp;#39; активировано.
00:04:59.990 |            | MACS_RIZ1       | Pos: 1 PnL -2 UnrealizedPnl -2 Total Pnl -8
00:05:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RIZ1@RTS&amp;#39; активировано.
00:05:59.990 |            | MACS_RIZ1       | Pos: 1 PnL -20 UnrealizedPnl -20 Total Pnl -26
00:05:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RSZ1@RTS&amp;#39; активировано.
00:05:59.990 |            | MACS_RIZ1       | Pos: 1 PnL -20 UnrealizedPnl -20 Total Pnl -26
00:06:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RIZ1@RTS&amp;#39; активировано.
00:06:59.990 |            | MACS_RIZ1       | Pos: 1 PnL -20 UnrealizedPnl -20 Total Pnl -26
00:06:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RSZ1@RTS&amp;#39; активировано.
00:06:59.990 |            | MACS_RIZ1       | Pos: 1 PnL -20 UnrealizedPnl -20 Total Pnl -24
00:07:59.990 |            | MACS_RIZ1       | Правило &amp;#39;Изменение стакана инструмента RIZ1@RTS&amp;#39; активировано.
00:07:59.990 |            | MACS_RIZ1       | Pos: 1 PnL -32 UnrealizedPnl -32 Total Pnl -36
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;То же самое упражнение при использовании RealTimeEmulationTrader&amp;lt;SmartTrader&amp;gt; показывает что SecurityPositionManager и SecurityPnLManager по каким-то причинам не смогли понять что были совершены сделки.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;

18:23:52.276 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RIH2@RTS&amp;#39; активировано.
18:23:52.277 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.352 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RIH2@RTS&amp;#39; активировано.
18:23:52.365 |            | MACS_RIH2       | : TransactionId=66219600, Id=0, Price=0, Balance=1, Security=RIH2@RTS, State=None 
18:23:52.367 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.368 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RIH2@RTS&amp;#39; активировано.
18:23:52.368 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.402 |            | MACS_RIH2       | Новая Buy сделка 1 по цене 9592 на 1 заявки 66219599.
18:23:52.431 |            | MACS_RIH2       | Новая Buy сделка 2 по цене 139660 на 1 заявки 66219600.
18:23:52.432 |            | MACS_RIH2       | Правило &amp;#39;Полное исполнение 0&amp;#39; активировано.
18:23:52.435 |            | MACS_RIH2       | Правило &amp;#39;Полное исполнение 0&amp;#39; удалено.
18:23:52.471 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RSH2@RTS&amp;#39; активировано.
18:23:52.471 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.472 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RSH2@RTS&amp;#39; активировано.
18:23:52.473 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.494 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RIH2@RTS&amp;#39; активировано.
18:23:52.496 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.497 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RIH2@RTS&amp;#39; активировано.
18:23:52.498 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.603 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RIH2@RTS&amp;#39; активировано.
18:23:52.604 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.605 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RIH2@RTS&amp;#39; активировано.
18:23:52.605 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
18:23:52.650 |            | MACS_RIH2       | Правило &amp;#39;Изменение стакана инструмента RSH2@RTS&amp;#39; активировано.
18:23:52.651 |            | MACS_RIH2       | Pos: 0 PnL 0 UnrealizedPnl 0 Total Pnl 0
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Не могли бы помочь понять в чем может быть дело?&lt;br /&gt;&lt;br /&gt;Версия S# : 4.0.3</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15120/</id>
    <title type="text">Смотрите в сторону StrategyPnLManager</title>
    <published>2011-12-25T22:01:31Z</published>
    <updated>2011-12-25T22:01:31Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Смотрите в сторону StrategyPnLManager</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/15118/</id>
    <title type="text">Здравствуйте, Имеется стратегия парной торговли, реализованная в виде BasketStrategy и нескольких пр...</title>
    <published>2011-12-25T19:03:43Z</published>
    <updated>2011-12-25T19:03:43Z</updated>
    <author>
      <name>apostar</name>
      <uri>https://stocksharp.ru/users/668/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте,&lt;br /&gt;&lt;br /&gt;Имеется стратегия парной торговли, реализованная в виде BasketStrategy и нескольких принадлежащих ей ChildStrategies, каждая работает со своей Security. Есть ли удобный способ в S# посчитать суммарный Unrealized PnL (по открытым позициям) в рублях для этих стратегий, не используя TraderPnLManager (потому что параллельно работает еще одна стратегия)?&lt;br /&gt;&lt;br /&gt;Спасибо,</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>