﻿<?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">Вопрос по LeftVolume, QuotingVolume, Volume</title>
  <id>~/topic/2399/vopros-po-leftvolume-quotingvolume-volume/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-26T21:15:09Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2399" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/16421/</id>
    <title type="text">Serg спасибо за наводку с таблицами. Настройки загружал из конфигурационного файла. Проверял Verifie...</title>
    <published>2012-02-14T13:31:55Z</published>
    <updated>2012-02-14T13:31:55Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;b&gt;Serg&lt;/b&gt; спасибо за наводку с таблицами. &lt;br /&gt;&lt;br /&gt;Настройки загружал из конфигурационного файла. Проверял Verifier все ок. Сравнил с настройками в хелпе - один в один.&lt;br /&gt;Проблема оказалась в другом. По умолчанию экспорт по dde идет по всем таблицам. &lt;br /&gt;А я начинал с того, что добавлял на форму две кнопки - купить продать по рынку. Потом уже перешел к котированию. Поэтому экспорт делал только по нужным таблицам. &lt;br /&gt;Оказалось что забыл добавить таблицу &lt;b&gt;&amp;quot;Заявки&amp;quot;&lt;/b&gt; &lt;br /&gt;Ешкин кот...[razz] &lt;br /&gt;Добавил таблицу &lt;b&gt;&amp;quot;Заявки&amp;quot;&lt;/b&gt;, MQS стала отрабатывать так как я и предполагал.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Мне надо скотировать 5 лотов выставляя по одному лоту. Есть QuotingVolume = 5, есть Volume = 1.&lt;br /&gt;Когда запускается стратегия MarketQuotingStrategy то выставляется заявка в 1 лот и котируется до тех пор пока не исполнится. Как только заявка исполнена, LeftVolume становится = 4. Выставляется следующая заявка в 1 лот, и т.д. До тех пор пока LeftVolume не станет равен 0. После этого котирование останавливается и MarketQuotingStrategy ProcessState = Stopped;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Появилась другая проблема. Заявка переставлена, но MQS  думает что нет и постоянно пишется &amp;quot;заявка в процессе снятия&amp;quot;. В это время заявка в стакане болтается и не котируется. Как только исполняется, то выставляется следующая и начинает котироваться.&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_1a6818bebee54247b661f748bcf97047');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_1a6818bebee54247b661f748bcf97047' style='display:none'&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;
S               | 14.02.2012 19:40:17.154 |            | Стратегия запущена.
MQS             | 14.02.2012 19:40:23.744 |            | Стратегия запущена.
MQS             | 14.02.2012 19:40:23.747 |            | Котирование на Sell объема 5.
MQS             | 14.02.2012 19:40:23.767 |            | Цена текущей NULL и лучшей 165355.
MQS             | 14.02.2012 19:40:23.768 |            | Лучший бид 165345 и лучший аск 165360.
MQS             | 14.02.2012 19:40:23.768 |            | Регистрация новой заявки на Sell с ценой 165355 и объемом 1.
MQS             | 14.02.2012 19:40:23.785 |            | Заявка 70808573 на Sell отправлена с ценой 165355 объемом 1.
MQS             | 14.02.2012 19:40:24.115 | Внимание   | Заявка 70808573 в процессе регистрации.
MQS             | 14.02.2012 19:40:24.126 |            | Заявка 70808573 принята биржей.
MQS             | 14.02.2012 19:40:24.132 |            | Цена текущей 165355 и лучшей 165365.
MQS             | 14.02.2012 19:40:24.137 |            | Лучший бид 165345 и лучший аск 165370.
MQS             | 14.02.2012 19:40:24.137 |            | Котирование заявки 70808573 на Sell с ценой 165355 объемом 1.
MQS             | 14.02.2012 19:40:24.137 |            | Отмена заявки 70808573.
MQS             | 14.02.2012 19:40:24.234 | Внимание   | Заявка 70808573 в процессе снятия.
MQS             | 14.02.2012 19:40:24.483 |            | Заявка 70808573 была снята. Время снятия 14.02.2012 19:40:24.
MQS             | 14.02.2012 19:40:24.484 |            | Цена текущей NULL и лучшей 165350.
MQS             | 14.02.2012 19:40:24.491 |            | Лучший бид 165345 и лучший аск 165355.
MQS             | 14.02.2012 19:40:24.492 |            | Регистрация новой заявки на Sell с ценой 165350 и объемом 1.
MQS             | 14.02.2012 19:40:24.511 |            | Заявка 70808575 на Sell отправлена с ценой 165350 объемом 1.
MQS             | 14.02.2012 19:40:24.520 | Внимание   | Заявка 70808575 в процессе регистрации.
MQS             | 14.02.2012 19:40:24.597 | Внимание   | Заявка 70808575 в процессе регистрации.
MQS             | 14.02.2012 19:40:24.839 |            | Заявка 70808575 принята биржей.
MQS             | 14.02.2012 19:40:24.840 |            | Цена текущей 165350 и лучшей 165365.
MQS             | 14.02.2012 19:40:24.862 |            | Лучший бид 165345 и лучший аск 165350.
MQS             | 14.02.2012 19:40:24.862 |            | Котирование заявки 70808575 на Sell с ценой 165350 объемом 1.
MQS             | 14.02.2012 19:40:24.863 |            | Отмена заявки 70808575.
MQS             | 14.02.2012 19:40:24.864 | Внимание   | Заявка 70808575 в процессе снятия.
MQS             | 14.02.2012 19:40:25.171 |            | Заявка 70808575 была снята. Время снятия 14.02.2012 19:40:25.
MQS             | 14.02.2012 19:40:25.172 |            | Цена текущей NULL и лучшей 165345.
MQS             | 14.02.2012 19:40:25.188 |            | Лучший бид 165345 и лучший аск 165350.
MQS             | 14.02.2012 19:40:25.192 |            | Регистрация новой заявки на Sell с ценой 165345 и объемом 1.
MQS             | 14.02.2012 19:40:25.214 |            | Заявка 70808577 на Sell отправлена с ценой 165345 объемом 1.
MQS             | 14.02.2012 19:40:25.214 | Внимание   | Заявка 70808577 в процессе регистрации.
MQS             | 14.02.2012 19:40:25.276 | Внимание   | Заявка 70808577 в процессе регистрации.
MQS             | 14.02.2012 19:40:25.532 |            | Заявка 70808577 принята биржей.
MQS             | 14.02.2012 19:40:25.536 |            | Цена текущей 165345 и лучшей 165365.
MQS             | 14.02.2012 19:40:25.548 |            | Лучший бид 165335 и лучший аск 165370.
MQS             | 14.02.2012 19:40:25.548 |            | Котирование заявки 70808577 на Sell с ценой 165345 объемом 1.
MQS             | 14.02.2012 19:40:25.549 |            | Отмена заявки 70808577.
MQS             | 14.02.2012 19:40:25.550 | Внимание   | Заявка 70808577 в процессе снятия.
MQS             | 14.02.2012 19:40:25.620 | Внимание   | Заявка 70808577 в процессе снятия.
MQS             | 14.02.2012 19:40:25.852 |            | Заявка 70808577 была снята. Время снятия 14.02.2012 19:40:25.
MQS             | 14.02.2012 19:40:25.855 |            | Цена текущей NULL и лучшей 165340.
MQS             | 14.02.2012 19:40:25.870 |            | Лучший бид 165335 и лучший аск 165345.
MQS             | 14.02.2012 19:40:25.879 |            | Регистрация новой заявки на Sell с ценой 165340 и объемом 1.
MQS             | 14.02.2012 19:40:25.880 |            | Заявка 70808579 на Sell отправлена с ценой 165340 объемом 1.
MQS             | 14.02.2012 19:40:25.882 | Внимание   | Заявка 70808579 в процессе регистрации.
MQS             | 14.02.2012 19:40:25.952 | Внимание   | Заявка 70808579 в процессе регистрации.
MQS             | 14.02.2012 19:40:26.199 |            | Заявка 70808579 принята биржей.
MQS             | 14.02.2012 19:40:26.202 |            | Цена текущей 165340 и лучшей 165365.
S               | 14.02.2012 19:40:26.203 |            | Новая позиция -1.
MQS             | 14.02.2012 19:40:26.214 |            | Лучший бид 165335 и лучший аск 165380.
MQS             | 14.02.2012 19:40:26.215 |            | Новая позиция -1.
MQS             | 14.02.2012 19:40:26.215 |            | Котирование заявки 70808579 на Sell с ценой 165340 объемом 1.
MQS             | 14.02.2012 19:40:26.236 |            | Отмена заявки 70808579.
MQS             | 14.02.2012 19:40:26.275 | Внимание   | Заявка 70808579 в процессе снятия.
MQS             | 14.02.2012 19:40:26.287 |            | Позиция изменилась на -1. Оставшийся объем 4.
MQS             | 14.02.2012 19:40:26.302 |            | Заявка 70808579 полностью исполнилась. Оставшийся объем 4.
MQS             | 14.02.2012 19:40:26.309 |            | Цена текущей NULL и лучшей 165375.
MQS             | 14.02.2012 19:40:26.316 |            | Лучший бид 165335 и лучший аск 165380.
MQS             | 14.02.2012 19:40:26.317 |            | Регистрация новой заявки на Sell с ценой 165375 и объемом 1.
MQS             | 14.02.2012 19:40:26.337 |            | Заявка 70808581 на Sell отправлена с ценой 165375 объемом 1.
MQS             | 14.02.2012 19:40:26.342 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:26.398 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:26.663 |            | Заявка 70808581 принята биржей.
MQS             | 14.02.2012 19:40:26.664 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:26.712 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:27.164 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:27.733 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:28.020 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:28.283 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:28.539 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:28.807 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:29.053 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:29.307 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:29.798 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:30.060 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:30.314 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:30.574 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:30.825 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:31.076 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:31.326 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:31.584 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:31.842 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:32.090 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:32.346 | Внимание   | Заявка 70808581 в процессе снятия.
MQS             | 14.02.2012 19:40:32.592 | Внимание   | Заявка 70808581 в процессе снятия.
S               | 14.02.2012 19:40:32.837 |            | Новая позиция -2.
MQS             | 14.02.2012 19:40:32.838 |            | Новая позиция -2.
MQS             | 14.02.2012 19:40:32.839 |            | Позиция изменилась на -2. Оставшийся объем 3.
MQS             | 14.02.2012 19:40:32.839 |            | Заявка 70808581 полностью исполнилась. Оставшийся объем 3.
MQS             | 14.02.2012 19:40:32.840 |            | Цена текущей NULL и лучшей 165370.
MQS             | 14.02.2012 19:40:32.890 |            | Лучший бид 165355 и лучший аск 165385.
MQS             | 14.02.2012 19:40:32.895 |            | Регистрация новой заявки на Sell с ценой 165370 и объемом 1.
MQS             | 14.02.2012 19:40:32.902 |            | Заявка 70808582 на Sell отправлена с ценой 165370 объемом 1.
MQS             | 14.02.2012 19:40:32.904 | Внимание   | Заявка 70808582 в процессе снятия.
MQS             | 14.02.2012 19:40:32.964 | Внимание   | Заявка 70808582 в процессе снятия.
MQS             | 14.02.2012 19:40:33.249 | Внимание   | Заявка 70808582 в процессе снятия.
MQS             | 14.02.2012 19:40:33.274 |            | Заявка 70808582 принята биржей.
MQS             | 14.02.2012 19:40:33.280 | Внимание   | Заявка 70808582 в процессе снятия.
S               | 14.02.2012 19:40:33.482 |            | Новая позиция -3.
MQS             | 14.02.2012 19:40:33.483 |            | Новая позиция -3.
MQS             | 14.02.2012 19:40:33.484 |            | Позиция изменилась на -3. Оставшийся объем 2.
MQS             | 14.02.2012 19:40:33.485 |            | Заявка 70808582 полностью исполнилась. Оставшийся объем 2.
MQS             | 14.02.2012 19:40:33.485 |            | Цена текущей NULL и лучшей 165380.
MQS             | 14.02.2012 19:40:33.510 |            | Лучший бид 165355 и лучший аск 165385.
MQS             | 14.02.2012 19:40:33.510 |            | Регистрация новой заявки на Sell с ценой 165380 и объемом 1.
MQS             | 14.02.2012 19:40:33.511 |            | Заявка 70808583 на Sell отправлена с ценой 165380 объемом 1.
MQS             | 14.02.2012 19:40:33.512 | Внимание   | Заявка 70808583 в процессе снятия.
MQS             | 14.02.2012 19:40:33.633 | Внимание   | Заявка 70808583 в процессе снятия.
MQS             | 14.02.2012 19:40:33.876 |            | Заявка 70808583 принята биржей.
MQS             | 14.02.2012 19:40:33.876 | Внимание   | Заявка 70808583 в процессе снятия.
MQS             | 14.02.2012 19:40:33.891 | Внимание   | Заявка 70808583 в процессе снятия.
S               | 14.02.2012 19:40:34.135 |            | Новая позиция -4.
MQS             | 14.02.2012 19:40:34.136 |            | Новая позиция -4.
MQS             | 14.02.2012 19:40:34.136 |            | Позиция изменилась на -4. Оставшийся объем 1.
MQS             | 14.02.2012 19:40:34.137 |            | Заявка 70808583 полностью исполнилась. Оставшийся объем 1.
MQS             | 14.02.2012 19:40:34.153 |            | Цена текущей NULL и лучшей 165380.
MQS             | 14.02.2012 19:40:34.164 |            | Лучший бид 165355 и лучший аск 165385.
MQS             | 14.02.2012 19:40:34.165 |            | Регистрация новой заявки на Sell с ценой 165380 и объемом 1.
MQS             | 14.02.2012 19:40:34.177 |            | Заявка 70808584 на Sell отправлена с ценой 165380 объемом 1.
MQS             | 14.02.2012 19:40:34.178 | Внимание   | Заявка 70808584 в процессе снятия.
MQS             | 14.02.2012 19:40:34.485 |            | Заявка 70808584 принята биржей.
MQS             | 14.02.2012 19:40:34.486 | Внимание   | Заявка 70808584 в процессе снятия.
MQS             | 14.02.2012 19:40:34.497 | Внимание   | Заявка 70808584 в процессе снятия.
MQS             | 14.02.2012 19:40:34.745 | Внимание   | Заявка 70808584 в процессе снятия.
MQS             | 14.02.2012 19:40:34.994 | Внимание   | Заявка 70808584 в процессе снятия.
MQS             | 14.02.2012 19:40:35.246 | Внимание   | Заявка 70808584 в процессе снятия.
S               | 14.02.2012 19:40:35.507 |            | Новая позиция -5.
MQS             | 14.02.2012 19:40:35.508 |            | Новая позиция -5.
MQS             | 14.02.2012 19:40:35.509 |            | Позиция изменилась на -5. Оставшийся объем 0.
MQS             | 14.02.2012 19:40:35.509 |            | Заканчиваем котирование.
MQS             | 14.02.2012 19:40:35.511 |            | Стратегия останавливается.
MQS             | 14.02.2012 19:40:35.534 |            | Стратегия остановлена.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Вылечилось этим QuikTrader.IsAsyncMode = false&lt;br /&gt;&lt;br /&gt;Но вылезла другая бага&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_a2ab4f9291f947ae9d96c109addedfbf');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_a2ab4f9291f947ae9d96c109addedfbf' style='display:none'&gt;&lt;br /&gt;&lt;a href='http://i29.fastpic.ru/big/2012/0214/f6/acc0b32857ed61679a95b8fb02776cf6.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i29.fastpic.ru/big/2012/0214/f6/acc0b32857ed61679a95b8fb02776cf6.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это если я правильно понимаю уже что то внутри stock# ?&lt;br /&gt;&lt;br /&gt;Из выставленного объема в 5 лотов скотировался один и стратегия завершилась с ошибкой.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16415/</id>
    <title type="text">Проверьте правильно ли у вас настроена таблица заявок и изменяется ли состояние заявок. Решил провер...</title>
    <published>2012-02-14T11:58:33Z</published>
    <updated>2012-02-14T12:00:41Z</updated>
    <author>
      <name>Serg</name>
      <uri>https://stocksharp.ru/users/484/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Проверьте правильно ли у вас настроена таблица заявок и изменяется ли состояние заявок. Решил проверить работоспособность MQS. Вначале не работало. Оказалось у меня в таблице заявок нет колонки Срок изза чего статус заявки не менялся. Поправил все заработало)&lt;br /&gt;Ниже переделанный SampleConsole:&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_a42349fad97047baae9f680ab0cf74e6');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_a42349fad97047baae9f680ab0cf74e6' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
namespace SampleConsole
{
	using System;
	using System.Linq;
	using System.Threading;

	using Ecng.Common;

	using StockSharp.BusinessEntities;
	using StockSharp.Quik;
	using StockSharp.Algo;
  using StockSharp.Algo.Strategies;


	class Program
	{
		private static Security _lkoh;
		private static Portfolio _portfolio;
		private static MarketDepth _depth;

		static void Main()
		{
			try
			{
				// для теста выбираем бумагу Лукойл
				const string secCode = &amp;quot;LKOH&amp;quot;;

        var quikPath = @&amp;quot;c:\BCS_Work\QUIK\info.exe&amp;quot;;

				if (quikPath.IsEmpty())
				{
					Console.WriteLine(&amp;quot;Не найден ни один запущенный Quik&amp;quot;);
					return;
				}

				Console.WriteLine(&amp;quot;Запущенный Quik найден по пути &amp;quot; + quikPath);
				var account = &amp;quot;42354&amp;quot;;

				using (var waitHandle = new AutoResetEvent(false))
				{
					// создаем шлюз к Quik-у
					using (var trader = new QuikTrader(quikPath))
					{
						// необходимо раскомментировать, если идет работа с РТС Стандарт
						//trader.FormatTransaction += builder =&amp;gt; builder.RemoveInstruction(TransactionBuilder.ExecutionCondition);

						// подписываемся на событие успешного подключения
						// все действия необходимо производить только после подключения
						trader.Connected += () =&amp;gt;
						{
							Console.WriteLine(&amp;quot;Подключение было произведено успешно.&amp;quot;);

							// извещаем об успешном соединени
							waitHandle.Set();
						};

						Console.WriteLine(&amp;quot;Производим подключение...&amp;quot;);

						trader.Connect();

						// дожидаемся события об успешном соединении
						waitHandle.WaitOne();

						trader.NewPortfolios += portfolios =&amp;gt;
						{
							if (_portfolio == null)
							{
								// находим Лукойл и присваиваем ее переменной lkoh
								_portfolio = portfolios.FirstOrDefault(p =&amp;gt; p.Name == account);

								if (_portfolio != null)
								{
									Console.WriteLine(&amp;quot;Портфель {0} появился.&amp;quot;, account);

									// если инструмент и стакан уже появились,
									// то извещаем об этом основной поток для выставления заявки
									if (_lkoh != null &amp;amp;&amp;amp; _depth != null)
										waitHandle.Set();
								}
							}
						};

						// подписываемся на событие появление инструментов
						trader.NewSecurities += securities =&amp;gt;
						{
							if (_lkoh == null)
							{
								// находим Лукойл и присваиваем ее переменной lkoh
								_lkoh = securities.FirstOrDefault(sec =&amp;gt; sec.Code == secCode);

								if (_lkoh != null)
								{
									Console.WriteLine(&amp;quot;Инструмент Лукойл появился.&amp;quot;);

									// запускаем экспорт стакана
									trader.RegisterQuotes(_lkoh);

									if (_portfolio != null &amp;amp;&amp;amp; _depth != null)
										waitHandle.Set();
								}
							}
						};

						// подписываемся на событие появления моих новых сделок
						trader.NewMyTrades += myTrades =&amp;gt;
						{
							foreach (var myTrade in myTrades)
							{
								var trade = myTrade.Trade;
								Console.WriteLine(&amp;quot;Сделка {0} по цене {1} по бумаге {2} по объему {3} в {4}.&amp;quot;, trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time);
							}
						};

						// подписываемся на событие обновления стакана
						trader.QuotesChanged += depths =&amp;gt;
						{
							if (_depth == null &amp;amp;&amp;amp; _lkoh != null)
							{
								_depth = depths.FirstOrDefault(d =&amp;gt; d.Security == _lkoh);

								if (_depth != null)
								{
									Console.WriteLine(&amp;quot;Стакан Лукойла появился.&amp;quot;);

									// если портфель и инструмент уже появился, то извещаем об этом основной поток для выставления заявки
									if (_portfolio != null &amp;amp;&amp;amp; _lkoh != null)
										waitHandle.Set();
								}
							}
						};

            trader.OrdersChanged += orders =&amp;gt;
              {
                foreach (var item in orders)
                {
                  Console.WriteLine(&amp;quot;State {0}&amp;quot;, item.State);
                }
              };

						Console.WriteLine(&amp;quot;Дожидаемся появления в программе инструмента Лукойл и портфеля {0}...&amp;quot;.Put(account));

						// запускаем экспорт по DDE
						trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
						                   trader.EquityPortfoliosTable, trader.OrdersTable);

						// дожидаемся появления портфеля и инструмента
						waitHandle.WaitOne();

            MarketQuotingStrategy mq = new MarketQuotingStrategy(OrderDirections.Buy, 2)
              {
                Volume = 1,
                Trader = trader,
                Security = _lkoh,
                Portfolio = _portfolio
              };
            mq.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(mq_PropertyChanged);
            mq.Start();

						while (mq.ProcessState == ProcessStates.Started)
						{
              Console.WriteLine(&amp;quot;LeftVolume = {0}&amp;quot;, mq.LeftVolume);
							// ждем 1 секунду
							Thread.Sleep(1000);
						}

						// останавливаем экспорт по DDE
						trader.StopExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
						                  trader.EquityPortfoliosTable, trader.OrdersTable);
					}
				}
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex);
			}

      Console.ReadKey();
		}

    static void mq_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
    {
      Console.WriteLine(&amp;quot;{0}, {1}&amp;quot;, e.PropertyName, sender.ToString());
    }
	}
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;upd: версия 4.0.18</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/16402/</id>
    <title type="text">Всем привет. Со stock# разбираюсь недавно. Если вопросы глупые то сильно не пинайте. Несколько цитат...</title>
    <published>2012-02-14T09:28:13Z</published>
    <updated>2012-02-14T10:46:02Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Всем привет. Со stock# разбираюсь недавно. Если вопросы глупые то сильно не пинайте.[blush] &lt;br /&gt;&lt;br /&gt;Несколько цитат из справки&lt;br /&gt;&lt;br /&gt;Свойства&lt;br /&gt;&lt;b&gt;LeftVolume&lt;/b&gt;: Объем, который осталось реализовать до завершения котирования. &lt;br /&gt;&lt;b&gt;QuotingVolume&lt;/b&gt;: Объем, который необходимо скотировать.&lt;br /&gt;&lt;b&gt;Volume&lt;/b&gt;: Объем, которым необходимо оперировать. &lt;br /&gt;&lt;br /&gt;Методы&lt;br /&gt;&lt;b&gt;NeedFinish&lt;/b&gt;: По умолчанию, котирование останавливается тогда, когда все контракты реализованы и LeftVolume равно 0.&lt;br /&gt;&lt;br /&gt;Если я все правильно понимаю как это работает, то должно быть так: Мне надо скотировать 5 лотов выставляя по одному лоту. Есть QuotingVolume = 5, есть Volume = 1.&lt;br /&gt;Когда запускается стратегия MarketQuotingStrategy то выставляется заявка в 1 лот и котируется до тех пор пока не исполнится. Как только заявка исполнена, LeftVolume становится = 4. Выставляется следующая заявка в 1 лот, и т.д.  До тех пор пока LeftVolume не станет равен 0. После этого котирование останавливается и  MarketQuotingStrategy ProcessState = Stopped;&lt;br /&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;

    class myStrategy : Strategy
    {
        protected override void OnStarting()
        {
            Security.Exchange.IsSupportAtomicReRegister = false;
            base.OnStarting();
        }

        public void addChildStrategy(OrderDirections direct, decimal quotingVol, decimal vol)
        {
            var strt = new MarketQuotingStrategy(direct, quotingVol) { PriceOffset = base.Security.MinStepSize, Volume = vol };
            ChildStrategies.Add(strt);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;В основном коде создаю экземпляр класса myStrategy&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;
 
            ...
            myStrat = new myStrategy() { Trader = trader, Portfolio = Portfolio.SelectedPortfolio, Security = instr1};
            myStrat.Start();
&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;
myStrat.addChildStrategy(OrderDirections.Sell, 5, 1);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Запускаю, нажимаю на кнопку. В стакан добавляется заявка в одни лот. Котируется до тех пор, пока не исполняется. Все. После этого заявки не выставляются.[confused]&lt;br /&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;
myStrat.addChildStrategy(OrderDirections.Sell, 1, 1);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;При создании экземпляра myStrategy подписываюсь на событие OnStrategyPropertyChanged&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;
myStrat.PropertyChanged += OnStrategyPropertyChanged;&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;
 
            this.GuiAsync(() =&amp;gt;
            {
                if(myStrat.ChildStrategies.Count &amp;gt; 0)
                {
                    lblCountChild.Content = myStrat.ChildStrategies.Count.ToString();
                    lblLeftVol.Content = ((MarketQuotingStrategy)myStrat.ChildStrategies[0]).LeftVolume;
                    lblProcState.Content = ((MarketQuotingStrategy)myStrat.ChildStrategies[0]).ProcessState; 
                }
            });
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;чтобы можно было посмотреть свойства дочерней стратегии. &lt;br /&gt;При запуске выдает эксепшен - Данный метод не поддерживается.[confused] &lt;br /&gt;&lt;br /&gt;Переделываю класс myStrategy&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;

    class myStrategy : Strategy
    {
        protected override void OnStarting()
        {
            Security.Exchange.IsSupportAtomicReRegister = false;
            base.OnStarting();
        }

        public MarketQuotingStrategy strt;

        public void addChildStrategy(OrderDirections direct, decimal quotingVol, decimal vol)
        {
            //var strt = new MarketQuotingStrategy(direct, quotingVol) { PriceOffset = base.Security.MinStepSize, Volume = vol };
            strt = new MarketQuotingStrategy(direct, quotingVol) { PriceOffset = base.Security.MinStepSize, Volume = vol };
            ChildStrategies.Add(strt);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;и обработчик OnStrategyPropertyChanged&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;

            this.GuiAsync(() =&amp;gt;
            {
                if(myStrat.ChildStrategies.Count &amp;gt; 0)
                {
                    lblCountChild.Content = myStrat.ChildStrategies.Count.ToString();
                    //lblLeftVol.Content = ((MarketQuotingStrategy)myStrat.ChildStrategies[0]).LeftVolume;
                    //lblProcState.Content = ((MarketQuotingStrategy)myStrat.ChildStrategies[0]).ProcessState;
                    
                    lblLeftVol.Content = myStrat.strt.LeftVolume;
                    lblProcState.Content = myStrat.strt.ProcessState;
                }
            });
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Коряво конечно, но чтобы посмотреть как работает, пойдет.&lt;br /&gt;Запускаю. Нажимаю кнопку. В стакан добавляется заявка в одни лот. На лэйблах показывает что дочерних стратегий - 1, объем до завершения котирования - 1, статус - started. После того как заявка исполнена, ничего не меняется.&lt;br /&gt;&lt;br /&gt;Подключаю логирование. Результат&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_fd60e81cc628465fb87d88f5f0c36f2d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_fd60e81cc628465fb87d88f5f0c36f2d' style='display:none'&gt;&lt;br /&gt;&lt;a href='http://i30.fastpic.ru/big/2012/0214/5f/6ecd9ab1e9c08cb0ce318f14204bd65f.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i30.fastpic.ru/big/2012/0214/5f/6ecd9ab1e9c08cb0ce318f14204bd65f.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://i27.fastpic.ru/big/2012/0214/18/a20f427a1eb71e0a103ff6625c293818.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i27.fastpic.ru/big/2012/0214/18/a20f427a1eb71e0a103ff6625c293818.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Получается заявка исполнена но стратегия пытается ее снять.[huh] &lt;br /&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;
myStrat.addChildStrategy(OrderDirections.Sell, 2, 2);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;При котировании заявка просто снимается и больше не выставляется.[confused]&lt;br /&gt; &lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_fe815395005d4a02848dbbef4c735f52');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_fe815395005d4a02848dbbef4c735f52' style='display:none'&gt;&lt;br /&gt;&lt;a href='http://i29.fastpic.ru/big/2012/0214/89/51af9563a33d23b7b00ecba8fa292189.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i29.fastpic.ru/big/2012/0214/89/51af9563a33d23b7b00ecba8fa292189.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://i31.fastpic.ru/big/2012/0214/b0/2991969e47a438c43a84c3890dae67b0.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i31.fastpic.ru/big/2012/0214/b0/2991969e47a438c43a84c3890dae67b0.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Помогите разобраться.&lt;br /&gt;1. За что отвечают свойства LeftVolume, QuotingVolume, Volume и как с ними работать.&lt;br /&gt;2. Как &amp;quot;правильно&amp;quot; получать доступ к свойствам дочерних стратегий.&lt;br /&gt;3. Логика работы  MarketQuotingStrategy.&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/16404/</id>
    <title type="text">Всем привет. Со stock# разбираюсь недавно. Если вопросы глупые то сильно не пинайте. Помогите разобр...</title>
    <published>2012-02-14T10:32:39Z</published>
    <updated>2012-02-14T10:33:04Z</updated>
    <author>
      <name>vfreeman</name>
      <uri>https://stocksharp.ru/users/773/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.ru/posts/m/16402/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Всем привет. Со stock# разбираюсь недавно. Если вопросы глупые то сильно не пинайте.[blush] &lt;br /&gt;Помогите разобраться.&lt;br /&gt;1. За что отвечают свойства LeftVolume и Volume и как с ними работать.&lt;br /&gt;2. Как &amp;quot;правильно&amp;quot; получать доступ к свойствам дочерних стратегий.&lt;br /&gt;3. Логика работы  MarketQuotingStrategy.&lt;br /&gt;&lt;br /&gt;Заранее спасибо.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;отличный пост! буду признателен местным гуру, если просветят. еще бы один вопрос хотел добавить, возможно ответ на него был бы интересен и автору топика.&lt;br /&gt;&lt;br /&gt;как кошерно узнать что стратегия MarketQuotingStrategy &lt;b&gt;благополучно &lt;/b&gt;завершилась выполнив свою задачу? как и какое событие обработать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>