﻿<?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">Проблема при работе с лотом, больше чем одна заявка.</title>
  <id>~/topic/1175/problema-pri-rabote-s-lotom-bolshe-chem-odna-zayavka_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-11T03:00:30Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1175" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/4241/</id>
    <title type="text"> я выставил заявку и она могла либо ВЫПОЛНИТСЯ полностью, либо быть снята мной. в обоих случаях буде...</title>
    <published>2010-10-16T22:04:10Z</published>
    <updated>2010-10-16T22:04:10Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pave111&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;я выставил заявку и она могла либо ВЫПОЛНИТСЯ полностью, либо быть снята мной. в обоих случаях будет state Done Заявка больше не активна на бирже (была полностью удовлетворена или снята из программы).&lt;br /&gt;чтобы узнать что именно с ней произошло нужно посмотреть balance (продалась или отменена) ордера, так? это будет правильнее, чем получать позицию из квика?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;1. order.IsMatched() order.IsCanceled()&lt;br /&gt;2. это будет правильнее, потому что позиция обновляется с запозданием + так будет проще, потому что позиция - это совокупность исполненных частей заявок.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4240/</id>
    <title type="text">большое спасибо, этот вариант как раз не пробывал. разрешите один вопрос - я выставил заявку и она м...</title>
    <published>2010-10-16T10:45:31Z</published>
    <updated>2010-10-16T10:45:31Z</updated>
    <author>
      <name>pave111</name>
      <uri>https://stocksharp.com/users/28442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">большое спасибо, этот вариант как раз не пробывал.&lt;br /&gt;разрешите один вопрос -&lt;br /&gt;я выставил заявку и она могла либо ВЫПОЛНИТСЯ полностью, либо быть снята мной. в обоих случаях будет state Done Заявка больше не активна на бирже (была полностью удовлетворена или снята из программы).&lt;br /&gt;чтобы узнать что именно с ней произошло нужно посмотреть balance (продалась или отменена) ордера, так? это будет правильнее, чем получать позицию из квика?&lt;br /&gt;&lt;br /&gt;хотел сказать Вам огромное спасибо за библиотеку, она сэкономила кучу времени и сил.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4238/</id>
    <title type="text">Здравствуйте. Попробовал очевидное решение - добавил в обработчик проверку foreach (MyTrade mt in Ne...</title>
    <published>2010-10-16T09:36:06Z</published>
    <updated>2010-10-16T09:36:06Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pave111&lt;/span&gt;&lt;div class="innerquote"&gt;Здравствуйте. &lt;br /&gt;Попробовал очевидное решение - добавил в обработчик проверку &lt;br /&gt;foreach (MyTrade mt in NewMyTrades)&lt;br /&gt;{&lt;br /&gt;if (mt.Order.IsMatched())&lt;br /&gt;{&lt;br /&gt;  выполнилось все, сделать действие&lt;br /&gt;}&lt;br /&gt;} &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Добавьте обработчик не на NewMyTrades а на OrdersChanged.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4237/</id>
    <title type="text">да, я понимаю, все что писалось выше делалось внутри стратегии. все же не знаете чем могли быть вызв...</title>
    <published>2010-10-16T08:03:22Z</published>
    <updated>2010-10-16T08:03:22Z</updated>
    <author>
      <name>pave111</name>
      <uri>https://stocksharp.com/users/28442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">да, я понимаю, все что писалось выше делалось внутри стратегии.&lt;br /&gt;&lt;br /&gt;все же не знаете чем могли быть вызванны ошибки выше?&lt;br /&gt;&lt;br /&gt;сейчас переделал на PositionManager, буду тестировать. почему раньше не всегда работало не понятно</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4226/</id>
    <title type="text">Информацию о сделках получает из таблицы квик &amp;quot;мои сделки&amp;quot;. Вы привели пример регистрации заявки, но...</title>
    <published>2010-10-15T04:27:39Z</published>
    <updated>2010-10-15T04:31:05Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.com/users/490/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Информацию о сделках получает из таблицы квик &amp;quot;мои сделки&amp;quot;. &lt;br /&gt;Вы привели пример регистрации заявки, но в расчете позиции сами заявки по идее не участвуют.&lt;br /&gt;Чтобы Strategy.PositionManager.Position считала позицию по исполненным заявкам, заявку необходимо регистрировать из стратегии.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4224/</id>
    <title type="text">спасибо. а информацию о сделках он как получает? orderReverse = new Order { Portfolio = Portfolio, P...</title>
    <published>2010-10-14T19:07:45Z</published>
    <updated>2010-10-14T19:07:45Z</updated>
    <author>
      <name>pave111</name>
      <uri>https://stocksharp.com/users/28442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">спасибо. а информацию о сделках он как получает? &lt;br /&gt;&lt;br /&gt;  orderReverse = new Order&lt;br /&gt;                {&lt;br /&gt;                    Portfolio = Portfolio,&lt;br /&gt;                    Price = price,&lt;br /&gt;                    Security = Security,&lt;br /&gt;                    Volume = vol,&lt;br /&gt;                    Direction = dir,&lt;br /&gt;                };&lt;br /&gt;   QTrader.RegisterOrder(orderReverse);&lt;br /&gt;&lt;br /&gt;отправил заявку и без какой-либо дополнительной обработки, я могу быть уверен, что Strategy.PositionManager.Position вернет верное, реальное значение?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4222/</id>
    <title type="text">Насколько мне известно: PositionManager считает позицию по сделкам, совершенным в рамках стратегии. ...</title>
    <published>2010-10-14T18:22:05Z</published>
    <updated>2010-10-14T18:22:05Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.com/users/490/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Насколько мне известно:&lt;br /&gt;PositionManager считает позицию по сделкам, совершенным в рамках стратегии.&lt;br /&gt;GetPosition получает позицию из таблиц квика.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4221/</id>
    <title type="text">спасибо, попробую. до этого также пробывал подход position = QTrader.GetPosition(Portfolio, Security...</title>
    <published>2010-10-14T18:14:32Z</published>
    <updated>2010-10-14T18:14:32Z</updated>
    <author>
      <name>pave111</name>
      <uri>https://stocksharp.com/users/28442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">спасибо, попробую.&lt;br /&gt;&lt;br /&gt;до этого также пробывал подход&lt;br /&gt;position = QTrader.GetPosition(Portfolio, Security);&lt;br /&gt;position.CurrentValue&lt;br /&gt;&lt;br /&gt;с аналогичным результатом - работало, но не всегда.&lt;br /&gt;&lt;br /&gt;не подскажите, в  чем отличие Strategy.PositionManager.Position от данного варианта и в чем могла быть ошибка в моих прошлых вариантах?&lt;br /&gt;&lt;br /&gt;&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.com/posts/m/4220/</id>
    <title type="text">Посмотрите в сторону Strategy.PositionManager.Position</title>
    <published>2010-10-14T17:50:55Z</published>
    <updated>2010-10-14T17:50:55Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.com/users/490/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Посмотрите в сторону Strategy.PositionManager.Position</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/4219/</id>
    <title type="text">Здравствуйте. Реализовал стратегию, которая работала с одним лотом и все было хорошо. Как приходило ...</title>
    <published>2010-10-14T17:29:15Z</published>
    <updated>2010-10-14T17:29:15Z</updated>
    <author>
      <name>pave111</name>
      <uri>https://stocksharp.com/users/28442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Здравствуйте. &lt;br /&gt;Реализовал стратегию, которая работала с одним лотом и все было хорошо. Как приходило событие NewMyTrades я понимал, что произошла сделка и делал действия необходимые в моей стратегии.&lt;br /&gt;Сейчас попробовал реализовать аналогичное с числом лотов равным 2 и потерпел неудачу.&lt;br /&gt;Мне нужно производить действия когда заявка полностью исчерпана, т.е куплены или проданы ВСЕ 2 лота.&lt;br /&gt;Попробовал очевидное решение - добавил в обработчик проверку &lt;br /&gt;foreach (MyTrade mt in NewMyTrades)&lt;br /&gt;{&lt;br /&gt;if (mt.Order.IsMatched())&lt;br /&gt;{&lt;br /&gt;  выполнилось все, сделать действие&lt;br /&gt;}&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;но почему-то такое срабатывает не всегда. иногда заявка оказывалась полностью выполненной (в квике), а робот считал, что еще нет.&lt;br /&gt;&lt;br /&gt;Тогда попытался обрабатывать событие QTrader.PositionsChanged, и при появлении этого события сравнивать position.CurrentValue с 0 или 2. если вдруг стало 0, то можно сказать, что сделка закрылась. если 2, то сделка полностью открылось. но столкнулся с аналогичными проблемами - в большинстве случаев работает, но не всегда. проблема как и раньше.&lt;br /&gt;&lt;br /&gt;Есть какие либо идеи?&lt;br /&gt;Очень благодарен за ваш труд. &lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>