﻿<?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">что с PositionManager?</title>
  <id>~/topic/2572/chto-s-positionmanager/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-20T17:14:52Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2572" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/18030/</id>
    <title type="text">Пардон, это мой косяк, не экспортировал таблицу позиций по деривативам. Посыпаю голову пеплом... </title>
    <published>2012-04-04T19:07:21Z</published>
    <updated>2012-04-04T19:07:21Z</updated>
    <author>
      <name>Johny Cash</name>
      <uri>https://stocksharp.com/users/199/</uri>
      <email>info@stocksharp.com</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.com/posts/m/18029/</id>
    <title type="text">у вас и GetPosition возвращает null и PositionManager возвращает 0? Что говорит verifier? Скиньте ск...</title>
    <published>2012-04-04T18:35:37Z</published>
    <updated>2012-04-04T18:35:37Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;у вас и GetPosition возвращает null и PositionManager возвращает 0?
Что говорит verifier? Скиньте скриншот всего квика тогда&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18027/</id>
    <title type="text">Да, это QuikTrader. Версия стокшарпа 4.1 из дев ветки, на 4.0.23 пробовал, тоже самое. public void M...</title>
    <published>2012-04-04T14:58:28Z</published>
    <updated>2012-04-04T14:58:28Z</updated>
    <author>
      <name>Johny Cash</name>
      <uri>https://stocksharp.com/users/199/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Да, это QuikTrader.
Версия стокшарпа 4.1 из дев ветки, на 4.0.23 пробовал, тоже самое.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-CSharp"&gt;
 public void MakePosition()
        {
            var lastTrade = Security.LastTrade;
            
            ...            

            [b]if (PositionManager.Position != 0)
                _gotPosition = true;[/b]            
            var _myPosition = Trader.GetPosition(Portfolio, Security);
        	if (_myPosition != null)
        	{
				Console.WriteLine(&amp;quot;Position current value: {0}&amp;quot;, _myPosition.CurrentValue);
				Console.WriteLine(&amp;quot;Position begin value: {0}&amp;quot;, _myPosition.BeginValue);
				Console.WriteLine(&amp;quot;Position blocked value: {0}&amp;quot;, _myPosition.BlockedValue);        		
        	}


			if (lastTrade.Volume &amp;gt; 3)
            {
                var condition = true;
                var conditionDirection = (first &amp;gt; last);
                if (condition &amp;amp;&amp;amp; !_gotPosition)
                {
                    var direction = conditionDirection ? OrderDirections.Buy : OrderDirections.Sell;
                    var order = this.CreateOrder(direction, Security.GetMarketPrice(direction), Volume);
					RegisterOrder(order);
					_gotPosition = true;
                }
            }
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://imglink.ru/show-image.php?id=bf036552a737026a6261937793be7591" rel="nofollow" target="_blank"&gt; &lt;img src="http://imglink.ru/thumbnails/04-04-12/eac49f64750b3fdb0fe4a486a49db21b.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;И еще момент, может это поможет решению, когда пытался регистрировать через MarketQuotingStrategy то в логах не проходило состояние State=Done, хотя до этого приходили состояния None и Active.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18026/</id>
    <title type="text">Какой шлюз? Покажите скриншот квика если это квик где будет видно что позиция != 0 и при этом распеч...</title>
    <published>2012-04-04T14:24:00Z</published>
    <updated>2012-04-04T14:24:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Какой шлюз? Покажите скриншот квика если это квик где будет видно что позиция != 0 и при этом распечатайте для какого конкретно инструмента пытаетесь взять позу.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18025/</id>
    <title type="text">Всем привет! Попробовал создать стратегию и вроде все получилось, но не могу получить размер позиции...</title>
    <published>2012-04-04T14:17:41Z</published>
    <updated>2012-04-04T14:17:41Z</updated>
    <author>
      <name>Johny Cash</name>
      <uri>https://stocksharp.com/users/199/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Всем привет!&lt;/p&gt;
&lt;p&gt;Попробовал создать стратегию и вроде все получилось, но не могу получить размер позиции
Стратегия обрабатывается по приходу новых сделок&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-Csharp"&gt; 
protected override void OnStarting()
        {
            this
                .When(Security.SecurityNewTrades())
                .Do(MakePosition);
	
            base.OnStarting();
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В процедуре MakePosition такой код&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-CSharp"&gt;
        ...
        var _myPosition = Trader.GetPosition(Portfolio, Security);
        	if (_myPosition != null)
        	{
	        Console.WriteLine(&amp;quot;Position current value: {0}&amp;quot;, _myPosition.CurrentValue);
		Console.WriteLine(&amp;quot;Position begin value: {0}&amp;quot;, _myPosition.BeginValue);
		Console.WriteLine(&amp;quot;Position blocked value: {0}&amp;quot;, _myPosition.BlockedValue);        		
        	}


	if (lastTrade.Volume &amp;gt; 3)
            {
                var condition = true;
                var conditionDirection = (first &amp;gt; last);
                if (condition &amp;amp;&amp;amp; !_gotPosition)
                {
                    var direction = conditionDirection ? OrderDirections.Buy : OrderDirections.Sell;
                    var order = this.CreateOrder(direction, Security.GetMarketPrice(direction), Volume);
		   RegisterOrder(order);
		   _gotPosition = true;
                }
            }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;PositionManager.Position всегда показывает 0.
Покопавшись на форуме нашел что можно получить позицию из трейдера, но Trader.GetPosition() у меня всегда возвращает null,
даже когда проходит не одна сделка, а несколько.
Пришлось заводить переменную _gotPosition чтобы понять что позиция есть.
Чуть не забыл, проверял на фьюче сбера.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>