﻿<?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">Подсчет PnL трейда</title>
  <id>~/topic/4374/podschet-pnl-treida/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-08T15:44:31Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=4374" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/29854/</id>
    <title type="text">Вы о чем? Тейк-профит и стоп-лосс стандартные заявки и они в S# не высчитываюися. Все срабатывания и...</title>
    <published>2014-02-27T16:55:57Z</published>
    <updated>2014-02-27T16:55:57Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.ru/users/26882/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.ru/posts/m/29847/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Bond &lt;a href="https://stocksharp.ru/posts/m/29843/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Вы о чем? [biggrin] &lt;br /&gt;Тейк-профит и стоп-лосс стандартные заявки и они в S# не высчитываюися. Все срабатывания и выставления происходят в терминале и на бирже.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ну строго говоря, take profit ордеров нет - &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADjwV-2xjhbycu1xVkrSim_RzFSOHZHdHJYl8Y3MKybH5B--s9Od9-MimgQ7urRo2A" title="http://en.wikipedia.org/wiki/Order_("&gt;http://en.wikipedia.org/wiki/Order_(&lt;/a&gt;exchange)&lt;br /&gt;&lt;br /&gt;Я не понимаю смысла использовать в алготрейдинге любые биржевые заявки кроме лимитных и по-рынку. Алго дает возможность все реализовать самому и не светить свои позиции и стратегии + следить за рынком с большой эффективностью. Так что под stop-loss/take-profit я понимаю скорее стратегию, нежели тип ордера&lt;br /&gt;&lt;br /&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>
  <entry>
    <id>https://stocksharp.ru/posts/m/29847/</id>
    <title type="text">Вы о чем? Тейк-профит и стоп-лосс стандартные заявки и они в S# не высчитываюися. Все срабатывания и...</title>
    <published>2014-02-27T14:58:39Z</published>
    <updated>2014-02-27T14:58:39Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Bond &lt;a href="https://stocksharp.ru/posts/m/29843/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Вы о чем? [biggrin] &lt;br /&gt;Тейк-профит и стоп-лосс стандартные заявки и они в S# не высчитываюися. Все срабатывания и выставления происходят в терминале и на бирже.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ну строго говоря, take profit ордеров нет - &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADjwV-2xjhbycu1xVkrSim_RzFSOHZHdHJYl8Y3MKybH5B--s9Od9-MimgQ7urRo2A" title="http://en.wikipedia.org/wiki/Order_("&gt;http://en.wikipedia.org/wiki/Order_(&lt;/a&gt;exchange)&lt;br /&gt;&lt;br /&gt;Я не понимаю смысла использовать в алготрейдинге любые биржевые заявки кроме лимитных и по-рынку. Алго дает возможность все реализовать самому и не светить свои позиции и стратегии + следить за рынком с большой эффективностью. Так что под stop-loss/take-profit я понимаю скорее стратегию, нежели тип ордера&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/29843/</id>
    <title type="text">Вы о чем? Тейк-профит и стоп-лосс стандартные заявки и они в S# не высчитываюися. Все срабатывания и...</title>
    <published>2014-02-27T13:09:05Z</published>
    <updated>2014-02-27T13:09:05Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.ru/users/26882/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Вы о чем? [biggrin] &lt;br /&gt;Тейк-профит и стоп-лосс стандартные заявки и они в S# не высчитываюися. Все срабатывания и выставления происходят в терминале и на бирже.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29841/</id>
    <title type="text"> Stoploss, takeprofit можно и по другому делать - например вход в трейд, и мгновенное выставление 2х...</title>
    <published>2014-02-27T12:54:50Z</published>
    <updated>2014-02-27T12:54:50Z</updated>
    <author>
      <name>loop</name>
      <uri>https://stocksharp.ru/users/49839/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.ru/posts/m/29830/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Stoploss, takeprofit можно и по другому делать - например вход в трейд, и мгновенное выставление 2х заявок на takeprofit &amp;amp; stoploss, &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Это рекурсия))&lt;br /&gt;&lt;br /&gt;А так SL и TP могут быть устроены? Вариантов не много.&lt;br /&gt;&lt;br /&gt;По логике SL и TP, устроены следующим образом:&lt;br /&gt;1)	От текущего ценовой ряда отнимается величина по которой зафиксирован ордер. То есть тот самый MtM = p(t) – p(open)&lt;br /&gt;2)	Для ТР сигнал это  MtM*dir &amp;gt; TPvalue&lt;br /&gt;3)	Для SL сигнал это  MtM*dir &amp;lt; SLvalue&lt;br /&gt;&lt;br /&gt;Как реализовать  SL и TP без внутреннего вычисления MtM? Врядле это возможно.&lt;br /&gt;MtM = (p(t) – p(open))*dir обязан быть в потрохах S#&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29830/</id>
    <title type="text">Понятно, благодарю. Но в S# есть и стоплос и тейкпрофит ,а их никак по другому детектить нельзя кром...</title>
    <published>2014-02-26T16:02:27Z</published>
    <updated>2014-02-26T16:02:27Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;loop &lt;a href="https://stocksharp.ru/posts/m/29822/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Понятно, благодарю. &lt;br /&gt;Но в S# есть и стоплос и тейкпрофит ,а их никак по другому детектить нельзя кроме как анализируя MtM, значит где то &amp;#171;внутри&amp;#187; есть такие данные.&lt;br /&gt;К тому же это информация важна для вычисления некоторых важных статистик например MFE\MAE и тп.&lt;br /&gt;Палюбому эти данные есть.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Stoploss, takeprofit можно и по другому делать - например вход в трейд, и мгновенное выставление 2х заявок на takeprofit &amp;amp; stoploss, что-то типа котирования. При срабатывании одной из этих заявок, вторая снимается&lt;br /&gt;&lt;br /&gt;Как S# реализует stoploss/takeprofit мне пока неизвестно</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29822/</id>
    <title type="text">Понятно, благодарю. Но в S# есть и стоплос и тейкпрофит ,а их никак по другому детектить нельзя кром...</title>
    <published>2014-02-26T13:00:25Z</published>
    <updated>2014-02-26T13:00:25Z</updated>
    <author>
      <name>loop</name>
      <uri>https://stocksharp.ru/users/49839/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Понятно, благодарю. &lt;br /&gt;Но в S# есть и стоплос и тейкпрофит ,а их никак по другому детектить нельзя кроме как анализируя MtM, значит где то &amp;#171;внутри&amp;#187; есть такие данные.&lt;br /&gt;К тому же это информация важна для вычисления некоторых важных статистик например MFE\MAE и тп.&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/29817/</id>
    <title type="text">Есть 2 типа PnL - realized и mark-to-market (unrealized). Realized PnL - это PnL уже полностью закры...</title>
    <published>2014-02-26T10:15:16Z</published>
    <updated>2014-02-26T10:15:16Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Есть 2 типа PnL - realized и mark-to-market (unrealized). &lt;br /&gt;Realized PnL - это PnL уже полностью закрытой позиции, т.е. реализованный PnL. Realized PnL = (position close price - position open price) * direction sign , где direction sign = 1 if long, = -1 if short.&lt;br /&gt;Пример - купили RIH4 по 140000, продали по 140100, заработали 100 = (140100 - 140000) * 1 &lt;br /&gt;&lt;br /&gt;Теперь с mark-to-market. Каждый шаг (раз в секунду, минуту, на каждом тике и т.д.) вы считаете PnL как если бы вы закрыли позицию сейчас. Т.е. MtM PnL = (Current price - position open price) * direction sign.&lt;br /&gt;Пример - купили RIH4 по 140000 минуту назад, RIH4 сейчас стоит 1405000, значит наш MtM PnL = (140500 - 140000) * 1 = 500 - но это нереализованная прибыль, так как мы еще в позиции. &lt;br /&gt;&lt;br /&gt;MtM PnL можно управлять, так как от него можно выставлять take profit, stop loss, всяческие risk-off стратегии и т.д. Пока из того, что я вижу - MtM PnL позиции не реализован. Это не сложно написать самому, но было бы проще пользоваться уже готовым функционалом, чтобы не встраивать свои модули каждый раз.&lt;br /&gt;&lt;br /&gt;P.S. понятно, что объяснение упрощенное. Я не учитывал комиссии, bid/ask спред, что long должны маркироваться по биду, а shorts по офферу и т.д.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29812/</id>
    <title type="text">PnL в S# считает только реализованную прибыль. Нереализованную не считает. Ее нужно считать каждому ...</title>
    <published>2014-02-26T08:52:25Z</published>
    <updated>2014-02-26T08:52:25Z</updated>
    <author>
      <name>loop</name>
      <uri>https://stocksharp.ru/users/49839/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.ru/posts/m/29753/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.ru/posts/m/29740/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;PnL в S# считает только реализованную прибыль. Нереализованную не считает. Ее нужно считать каждому самостоятельно.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;На мой взгляд, Mark-to-Market PnL намного важнее реализованной прибыли, так MtM PnL еще можно управлять, а Realized уже нет. &lt;br /&gt;Предлагаю добавить в список разрабатываемых фич - MtM_PnL_Manager. Без него никакой HFT, mid-frequency trading невозможен. Если нужен feedback в качестве трейдера - готов помочь&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="640" height="390" src="//www.youtube.com/embed/pSkqmm--8jg" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;Поясните пожалуйста для неучей о чем речь? &lt;br /&gt;&lt;br /&gt;Есть PnL который вычисляется по формуле выше, по бестбандам, минус комиссия и есть ещё с учётом проскальзывания, реджектов и прочих инфраструктурных перепонов? Верно я понимаю? &lt;br /&gt;&lt;br /&gt;Список всех факторов влияющих на PnL пожалуйста объявите. Как понять что PnL вообще не подкручивается в положительную сторону как это делают метатрейдеровцы, что бы расторговывать клиента. Должна быть открытая формула чтоб можно было фальсифицировать пункт в пункт.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29753/</id>
    <title type="text">PnL в S# считает только реализованную прибыль. Нереализованную не считает. Ее нужно считать каждому ...</title>
    <published>2014-02-22T07:22:58Z</published>
    <updated>2014-02-22T07:22:58Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.ru/posts/m/29740/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;PnL в S# считает только реализованную прибыль. Нереализованную не считает. Ее нужно считать каждому самостоятельно.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;На мой взгляд, Mark-to-Market PnL намного важнее реализованной прибыли, так MtM PnL еще можно управлять, а Realized уже нет. &lt;br /&gt;Предлагаю добавить в список разрабатываемых фич - MtM_PnL_Manager. Без него никакой HFT, mid-frequency trading невозможен. Если нужен feedback в качестве трейдера - готов помочь</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29752/</id>
    <title type="text">И еще одно замечание: OrderGrid показывает цену заявки ту, которую я выставил в самом ордере (141010...</title>
    <published>2014-02-22T07:05:27Z</published>
    <updated>2014-02-22T07:05:27Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.ru/posts/m/29739/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.ru/posts/m/29717/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;И еще одно замечание: OrderGrid показывает цену заявки ту, которую я выставил в самом ордере (141010), а не ту цену, по которой в действительности произошла сделка (140940). Это можно как-нибудь исправить?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Только понимаем того, что такое заявка и что такое сделка.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если судить по названию, то конечно OrderGrid показывает заявки, но если судить еще и по уроку, то там смешиваются понятия trade/order. &lt;br /&gt;&lt;br /&gt;Какой элемент S# мне использовать, чтобы в таком же виде выводить только трейды? И раз уж теса про трейды зашла, то есть ли возможность создавать комментарии к трейдам (стратегия, стоплосс/тейкпрофит/условия срабатывания/ и т.д.)?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29740/</id>
    <title type="text">PnL в S# считает только реализованную прибыль. Нереализованную не считает. Ее нужно считать каждому ...</title>
    <published>2014-02-21T14:56:43Z</published>
    <updated>2014-02-21T14:56:43Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">PnL в S# считает только реализованную прибыль. Нереализованную не считает. Ее нужно считать каждому самостоятельно.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29739/</id>
    <title type="text">И еще одно замечание: OrderGrid показывает цену заявки ту, которую я выставил в самом ордере (141010...</title>
    <published>2014-02-21T14:56:03Z</published>
    <updated>2014-02-21T14:56:03Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.ru/posts/m/29717/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;И еще одно замечание: OrderGrid показывает цену заявки ту, которую я выставил в самом ордере (141010), а не ту цену, по которой в действительности произошла сделка (140940). Это можно как-нибудь исправить?&lt;/div&gt;&lt;/div&gt;&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/29737/</id>
    <title type="text">Что-то никак не могу разобраться как правильно считать PnL в S#. Обычно, PnL = size * (buy price - s...</title>
    <published>2014-02-21T14:14:22Z</published>
    <updated>2014-02-21T14:14:22Z</updated>
    <author>
      <name>ashot</name>
      <uri>https://stocksharp.ru/users/50827/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.ru/posts/m/29716/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Что-то никак не могу разобраться как правильно считать PnL в S#.&lt;br /&gt;&lt;br /&gt;Обычно, PnL = size * (buy price - sell price) * direction sign , где direction sign = 1 if long, = -1 if short. &lt;br /&gt;&lt;br /&gt;Теперь как считает S#:&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;

NEW long: price: 141010, position: 0, totalvolume: 247, PnL: 0
Actual execution: 140940
TP: price: 140700, position: 1, PnL: 70.000000000
Actual execution: 140790
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Где price - это цена заявки, actual execution - то как заявка исполнилась в реальности, TP - означает, что робот решил взять прибыль, ПОТОМУ ЧТО он посчитал, что PnL &amp;gt; 0.&lt;br /&gt;&lt;br /&gt;PnL посчитан из стратегии методом MyTrades.Last().GetPnL()&lt;br /&gt;&lt;br /&gt;Я всегда считал, что если купил по 140940, а рынок на 140750, то я в минусе, а именно -190.&lt;br /&gt;&lt;br /&gt;Далее, в чем считается PnL? В рублях или пунктах индекса?&lt;br /&gt;&lt;br /&gt;Если в рублях, то должно быть (-141010+140790) * 7 рублей MinStepPrice / 10 MinStepSize = -154 рубля (без учета комиссии)&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;

security = new Security
            {
                Id = &amp;quot;RIH4@FORTS&amp;quot;, // по идентификатору инструмента будет искаться папка с историческими маркет данными
                Code = &amp;quot;RIH4&amp;quot;,
                Name = &amp;quot;RTS-3.14&amp;quot;,
                MinStepSize = 10,
                MinStepPrice = 7,
                //MinPrice = 10,
                //MaxPrice = 1000000,
                MarginBuy = 10000, // задаем ГО
                MarginSell = 10000,
                ExchangeBoard = ExchangeBoard.Forts,
            };
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Сорри за глупый вопрос, а Вы учитываете бид\аск? В смысле что покупка фиксируется по оферу а продажа по биду? &amp;#171;buy price, sell price&amp;#187; несовсем понятно откуда.&lt;br /&gt;Можно ли это понимать как немёк на некорректность вычисления PnL и Equity в S#? Или это в данном случае частность конкретной стратегии?&lt;br /&gt;Потому как если PnL врёт то тесты невалидны, а это не гуд.&lt;br /&gt;Я сравнительно недавно читаю этот форум и уже второе сообщение подобного толка. Настораживает...&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/29727/</id>
    <title type="text"> Я тоже иногда не понимаю к чему такие &amp;quot;городушки&amp;quot;. Я выкинул из эмулятора половину расчетов, замени...</title>
    <published>2014-02-21T09:55:17Z</published>
    <updated>2014-02-21T09:55:17Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.ru/users/26882/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">[biggrin] Я тоже иногда не понимаю к чему такие &amp;quot;городушки&amp;quot;. Я выкинул из эмулятора половину расчетов, заменил их своими и скорость тестирования увеличилась еще на 30%.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29726/</id>
    <title type="text">Bond, спасибо Полез смотреть в исходники - судя по всему авторы считают PnL вот так: public decimal ...</title>
    <published>2014-02-21T09:40:23Z</published>
    <updated>2014-02-21T09:40:23Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;b&gt;Bond&lt;/b&gt;, спасибо&lt;br /&gt;&lt;br /&gt;Полез смотреть в исходники - судя по всему авторы считают PnL вот так:&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;

public decimal UnrealizedPnL
		{
			get
			{
				return _openedTrades.SyncGet(c =&amp;gt; c.Sum(t =&amp;gt; t.GetPnL()));
			}
		}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Саму функцию GetPnL() я  не нашел, но уже видно, что там идет суммирование по всем трейдам.&lt;br /&gt;&lt;br /&gt;P.S. Как же я люблю ООП: чтобы посчитать простую функцию MarkToMarketPnL = (Trade.OpenPrice - Current Price) * size * direction надо унаследоваться от 3 классов и 1 интерфейса и вызвать 4  метода рекурсивно:)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29725/</id>
    <title type="text">Добрый день! Если вы про эмулятор, то там заявки высчитываются не корректно, а расчет PnL не классич...</title>
    <published>2014-02-21T09:04:25Z</published>
    <updated>2014-02-21T09:05:25Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.ru/users/26882/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день!&lt;br /&gt;Если вы про эмулятор, то там заявки высчитываются не корректно, а расчет PnL не классический. Он вроде как считает стоимость всех активов.&lt;br /&gt;Приведенная вами формула верна. Я для себя по ней пересчитываю PnL.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29717/</id>
    <title type="text">И еще одно замечание: OrderGrid показывает цену заявки ту, которую я выставил в самом ордере (141010...</title>
    <published>2014-02-20T22:15:08Z</published>
    <updated>2014-02-20T22:15:08Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">И еще одно замечание: OrderGrid показывает цену заявки ту, которую я выставил в самом ордере (141010), а не ту цену, по которой в действительности произошла сделка (140940). Это можно как-нибудь исправить?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/29716/</id>
    <title type="text">Что-то никак не могу разобраться как правильно считать PnL в S#. Обычно, PnL = size * (buy price - s...</title>
    <published>2014-02-20T22:09:51Z</published>
    <updated>2014-02-20T22:09:51Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.ru/users/50604/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Что-то никак не могу разобраться как правильно считать PnL в S#.&lt;br /&gt;&lt;br /&gt;Обычно, PnL = size * (buy price - sell price) * direction sign , где direction sign = 1 if long, = -1 if short. &lt;br /&gt;&lt;br /&gt;Теперь как считает S#:&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;

NEW long: price: 141010, position: 0, totalvolume: 247, PnL: 0
Actual execution: 140940
TP: price: 140700, position: 1, PnL: 70.000000000
Actual execution: 140790
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Где price - это цена заявки, actual execution - то как заявка исполнилась в реальности, TP - означает, что робот решил взять прибыль, ПОТОМУ ЧТО он посчитал, что PnL &amp;gt; 0.&lt;br /&gt;&lt;br /&gt;PnL посчитан из стратегии методом MyTrades.Last().GetPnL()&lt;br /&gt;&lt;br /&gt;Я всегда считал, что если купил по 140940, а рынок на 140750, то я в минусе, а именно -190.&lt;br /&gt;&lt;br /&gt;Далее, в чем считается PnL? В рублях или пунктах индекса?&lt;br /&gt;&lt;br /&gt;Если в рублях, то должно быть (-141010+140790) * 7 рублей MinStepPrice / 10 MinStepSize = -154 рубля (без учета комиссии)&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;

security = new Security
            {
                Id = &amp;quot;RIH4@FORTS&amp;quot;, // по идентификатору инструмента будет искаться папка с историческими маркет данными
                Code = &amp;quot;RIH4&amp;quot;,
                Name = &amp;quot;RTS-3.14&amp;quot;,
                MinStepSize = 10,
                MinStepPrice = 7,
                //MinPrice = 10,
                //MaxPrice = 1000000,
                MarginBuy = 10000, // задаем ГО
                MarginSell = 10000,
                ExchangeBoard = ExchangeBoard.Forts,
            };
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>