﻿<?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">Форум. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=148</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-19T12:18:37Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=148" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/3199/</id>
    <title type="text">GetOrderByTransactionId?</title>
    <published>2012-11-29T18:58:13Z</published>
    <updated>2012-11-29T18:58:13Z</updated>
    <author>
      <name>NewMan</name>
      <uri>https://stocksharp.ru/users/6449/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;StockSharp 4.1.6 сборка 20.11.2012
В стратегии строку
var _ord = Trader.GetOrderByTransactionId(_trID);
компилятор отмечает ошибкой:
Ошибка &amp;quot;StockSharp.BusinessEntities.ITrader&amp;quot; не содержит определение для &amp;quot;GetOrderByTransactionId&amp;quot;.
Не удалось найти метод  расширения &amp;quot;GetOrderByTransactionId&amp;quot;, принимающий первый аргумент типа
&amp;quot;StockSharp.BusinessEntities.ITrader&amp;quot;  (пропущено использование директивы или ссылка на сборку?)
Хотя в стратегии подключены:
using StockSharp.Algo;
using StockSharp.Algo.Strategies;
using StockSharp.BusinessEntities;
using StockSharp.Plaza;
В справке S# написано, что этот метод находится в StockSharp.Algo.
Подскажите как подключить метод GetOrderByTransactionId и где он находится?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3198/</id>
    <title type="text">неправильно фильтруются фьючерсы с финама</title>
    <published>2012-11-29T16:08:20Z</published>
    <updated>2012-11-29T16:08:20Z</updated>
    <author>
      <name>Den</name>
      <uri>https://stocksharp.ru/users/6003/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Уважаемые разработчики!&lt;/p&gt;
&lt;p&gt;Нашел небольшой баг.&lt;/p&gt;
&lt;p&gt;Hydra 4.1.6&lt;/p&gt;
&lt;p&gt;В диалоге &amp;quot;Добавить инструменты&amp;quot; финамовские фьючи фильтруются как акции.
Если выбрать &amp;quot;фьчерсы&amp;quot; список инструментов будет пуст.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://ximages.net/images/01638854999530285277.png" alt="Hydra Finam " /&gt;&lt;/p&gt;
&lt;p&gt;P.S. подскажите, пожалуйста, как с Финама вытащить список всех доступных
инструметов для заданного market?
(сам список со веми значениями market'ов нашел в issuer-profile.js)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3196/</id>
    <title type="text">Похоже сломали коннектор PLAZA 4.1.6</title>
    <published>2012-11-29T08:53:19Z</published>
    <updated>2012-11-29T08:53:19Z</updated>
    <author>
      <name>max1</name>
      <uri>https://stocksharp.ru/users/6510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Ни Hydra, ни SampleGUI на PLAZA 4.1.6 список инструментов не получают ни на тестовом ни на боевом логине.
Вываливаются исключения, например в Hydra:&lt;/p&gt;
&lt;p&gt;12:28:02.675|Error  |PlazaTrader|System.InvalidOperationException: Поток FORTS_FUTCOMMON_REPL выбросил ошибку. ---&amp;gt; System.Runtime.InteropServices.COMException: COMMON:WRONG_ARGUMENTS
в P2ClientGateMTA32.CP2TableSetClass.set_rev(String tableName, Int64 pVal)
в #=qJC_v7EInY$pKHEL6Ndwxl3rkdZYlFBoMR$D_2GjjxSz7h09zcUbPwCXkZbVklsMf.#=qJRYkV7_Ahc1SxldIiZShvYQLH3_KZpz7H_NV9Y_57jx33tcHdjarRusqoG9aUg9I5einwxs37pozgy284A2zEw==(String #=qfOaMIuyd25jdY2N5f4w0Pw==, Int64 #=qJVhimSIMVzQXv2Ga7dyp0A==)
в StockSharp.Plaza.PlazaStreamManager.#=qfgs3t3F0QJo2uAeiNU2TtjM3xb$_9IOGkWSDHtrnkW4=.#=qRPHhGr6rbfrGibN4Y5LzITiPV6kRbMg_P7D3Gs_YYE8=(#=qY5pMdI8ULYwmxlF6egyiPCEwbw9uoJfGJiCLtqFCaXREf_Kg97ePR8NYegNhqVZr #=q5aoOKblvHD9QyCb7NgFUmw==, Action&lt;code&gt;1 #=qzql$OHoOTwLyVSB9zRsRcw==) --- Конец трассировки внутреннего стека исключений --- 12:28:02.675|Error  |PlazaTrader|System.InvalidOperationException: Поток FORTS_ORDLOG_REPL выбросил ошибку. ---&amp;gt; System.Runtime.InteropServices.COMException: COMMON:WRONG_ARGUMENTS в P2ClientGateMTA32.CP2TableSetClass.set_rev(String tableName, Int64 pVal) в #=qJC_v7EInY$pKHEL6Ndwxl3rkdZYlFBoMR$D_2GjjxSz7h09zcUbPwCXkZbVklsMf.#=qJRYkV7_Ahc1SxldIiZShvYQLH3_KZpz7H_NV9Y_57jx33tcHdjarRusqoG9aUg9I5einwxs37pozgy284A2zEw==(String #=qfOaMIuyd25jdY2N5f4w0Pw==, Int64 #=qJVhimSIMVzQXv2Ga7dyp0A==) в StockSharp.Plaza.PlazaStreamManager.#=qfgs3t3F0QJo2uAeiNU2TtjM3xb$_9IOGkWSDHtrnkW4=.#=qRPHhGr6rbfrGibN4Y5LzITiPV6kRbMg_P7D3Gs_YYE8=(#=qY5pMdI8ULYwmxlF6egyiPCEwbw9uoJfGJiCLtqFCaXREf_Kg97ePR8NYegNhqVZr #=q5aoOKblvHD9QyCb7NgFUmw==, Action&lt;/code&gt;1 #=qzql$OHoOTwLyVSB9zRsRcw==)
--- Конец трассировки внутреннего стека исключений ---
12:28:02.675|Error  |MarketDataTrader&lt;code&gt;1|System.InvalidOperationException: Поток FORTS_FUTCOMMON_REPL выбросил ошибку. ---&amp;gt; System.Runtime.InteropServices.COMException: COMMON:WRONG_ARGUMENTS в P2ClientGateMTA32.CP2TableSetClass.set_rev(String tableName, Int64 pVal) в #=qJC_v7EInY$pKHEL6Ndwxl3rkdZYlFBoMR$D_2GjjxSz7h09zcUbPwCXkZbVklsMf.#=qJRYkV7_Ahc1SxldIiZShvYQLH3_KZpz7H_NV9Y_57jx33tcHdjarRusqoG9aUg9I5einwxs37pozgy284A2zEw==(String #=qfOaMIuyd25jdY2N5f4w0Pw==, Int64 #=qJVhimSIMVzQXv2Ga7dyp0A==) в StockSharp.Plaza.PlazaStreamManager.#=qfgs3t3F0QJo2uAeiNU2TtjM3xb$_9IOGkWSDHtrnkW4=.#=qRPHhGr6rbfrGibN4Y5LzITiPV6kRbMg_P7D3Gs_YYE8=(#=qY5pMdI8ULYwmxlF6egyiPCEwbw9uoJfGJiCLtqFCaXREf_Kg97ePR8NYegNhqVZr #=q5aoOKblvHD9QyCb7NgFUmw==, Action&lt;/code&gt;1 #=qzql$OHoOTwLyVSB9zRsRcw==)
--- Конец трассировки внутреннего стека исключений ---
12:28:02.675|Error  |MarketDataTrader&lt;code&gt;1|System.InvalidOperationException: Поток FORTS_ORDLOG_REPL выбросил ошибку. ---&amp;gt; System.Runtime.InteropServices.COMException: COMMON:WRONG_ARGUMENTS в P2ClientGateMTA32.CP2TableSetClass.set_rev(String tableName, Int64 pVal) в #=qJC_v7EInY$pKHEL6Ndwxl3rkdZYlFBoMR$D_2GjjxSz7h09zcUbPwCXkZbVklsMf.#=qJRYkV7_Ahc1SxldIiZShvYQLH3_KZpz7H_NV9Y_57jx33tcHdjarRusqoG9aUg9I5einwxs37pozgy284A2zEw==(String #=qfOaMIuyd25jdY2N5f4w0Pw==, Int64 #=qJVhimSIMVzQXv2Ga7dyp0A==) в StockSharp.Plaza.PlazaStreamManager.#=qfgs3t3F0QJo2uAeiNU2TtjM3xb$_9IOGkWSDHtrnkW4=.#=qRPHhGr6rbfrGibN4Y5LzITiPV6kRbMg_P7D3Gs_YYE8=(#=qY5pMdI8ULYwmxlF6egyiPCEwbw9uoJfGJiCLtqFCaXREf_Kg97ePR8NYegNhqVZr #=q5aoOKblvHD9QyCb7NgFUmw==, Action&lt;/code&gt;1 #=qzql$OHoOTwLyVSB9zRsRcw==)
--- Конец трассировки внутреннего стека исключений ---
12:28:02.675|Error  |PlazaTrader|System.InvalidOperationException: Поток FORTS_FUTINFO_REPL выбросил ошибку. ---&amp;gt; System.Runtime.InteropServices.COMException: COMMON:WRONG_ARGUMENTS
в P2ClientGateMTA32.CP2TableSetClass.set_rev(String tableName, Int64 pVal)
в #=qJC_v7EInY$pKHEL6Ndwxl3rkdZYlFBoMR$D_2GjjxSz7h09zcUbPwCXkZbVklsMf.#=qJRYkV7_Ahc1SxldIiZShvYQLH3_KZpz7H_NV9Y_57jx33tcHdjarRusqoG9aUg9I5einwxs37pozgy284A2zEw==(String #=qfOaMIuyd25jdY2N5f4w0Pw==, Int64 #=qJVhimSIMVzQXv2Ga7dyp0A==)
в StockSharp.Plaza.PlazaStreamManager.#=qfgs3t3F0QJo2uAeiNU2TtjM3xb$_9IOGkWSDHtrnkW4=.#=qRPHhGr6rbfrGibN4Y5LzITiPV6kRbMg_P7D3Gs_YYE8=(#=qY5pMdI8ULYwmxlF6egyiPCEwbw9uoJfGJiCLtqFCaXREf_Kg97ePR8NYegNhqVZr #=q5aoOKblvHD9QyCb7NgFUmw==, Action&lt;code&gt;1 #=qzql$OHoOTwLyVSB9zRsRcw==) --- Конец трассировки внутреннего стека исключений --- 12:28:02.675|Error  |MarketDataTrader&lt;/code&gt;1|System.InvalidOperationException: Поток FORTS_FUTINFO_REPL выбросил ошибку. ---&amp;gt; System.Runtime.InteropServices.COMException: COMMON:WRONG_ARGUMENTS
в P2ClientGateMTA32.CP2TableSetClass.set_rev(String tableName, Int64 pVal)
в #=qJC_v7EInY$pKHEL6Ndwxl3rkdZYlFBoMR$D_2GjjxSz7h09zcUbPwCXkZbVklsMf.#=qJRYkV7_Ahc1SxldIiZShvYQLH3_KZpz7H_NV9Y_57jx33tcHdjarRusqoG9aUg9I5einwxs37pozgy284A2zEw==(String #=qfOaMIuyd25jdY2N5f4w0Pw==, Int64 #=qJVhimSIMVzQXv2Ga7dyp0A==)
в StockSharp.Plaza.PlazaStreamManager.#=qfgs3t3F0QJo2uAeiNU2TtjM3xb$_9IOGkWSDHtrnkW4=.#=qRPHhGr6rbfrGibN4Y5LzITiPV6kRbMg_P7D3Gs_YYE8=(#=qY5pMdI8ULYwmxlF6egyiPCEwbw9uoJfGJiCLtqFCaXREf_Kg97ePR8NYegNhqVZr #=q5aoOKblvHD9QyCb7NgFUmw==, Action`1 #=qzql$OHoOTwLyVSB9zRsRcw==)
--- Конец трассировки внутреннего стека исключений ---&lt;/p&gt;
&lt;p&gt;Такие же в SampleGUI.&lt;/p&gt;
&lt;p&gt;ПРОВЕРИЛ в версии PLAZA 4.1.5 инструменты получаются, данные поступают, исключения не вываливаются.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3195/</id>
    <title type="text">Отдам Hetzner EX4 8gb/750gb хорошему человеку</title>
    <published>2012-11-29T08:52:33Z</published>
    <updated>2012-11-29T08:52:33Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.ru/users/497/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">&lt;p&gt;Освобождается сервер. Уступлю через механизм &amp;quot;переуступления прав&amp;quot; hetzner. Проц 4ядерный интел, память 8 гиг, винт 750 гиг.&lt;/p&gt;
&lt;p&gt;Вы экономите 40 евро установки.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3191/</id>
    <title type="text">возможно некорректная работа SampleSMA v.4.1.6</title>
    <published>2012-11-28T12:39:40Z</published>
    <updated>2012-11-28T12:39:40Z</updated>
    <author>
      <name>Semen7</name>
      <uri>https://stocksharp.ru/users/6533/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Всем здравствуйте!
Только начинаю разбираться в stockslash и столкнулся со следующим.
Пример SampleSMA в версии 4.1.6 то-ли некорректно работает, то-ли ...
Чудесно компилируется, запускается, отрисовывает исторические данные по &amp;quot;LKOH&amp;quot; (которые идут в комплекте вместе с данным примером)
и скользящие средние для них. Но как только переходит на реальное время, все скользящие средние начинают вычисляться некорректно,
становятся фактически одной линией, которая проходит по закрытию свечей. Причём на изменение параметров
скользящей средней при отрисовке реальных данных не реагирует, что Length = 10, что 30, разницы никакой. Может подскажет кто, в чём дело?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3190/</id>
    <title type="text">Баг в работе форума. Не восстанавливается пароль.</title>
    <published>2012-11-28T08:40:27Z</published>
    <updated>2012-11-28T08:40:27Z</updated>
    <author>
      <name>max1</name>
      <uri>https://stocksharp.ru/users/6510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">&lt;pre&gt;&lt;code&gt; У меня стало три профиля на форуме на разные почтовые ящики.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;История.&lt;/p&gt;
&lt;p&gt;Был профиль с ящиком на rambler&lt;/p&gt;
&lt;p&gt;Забыл пароль.Пытался восстановить. На контрольный вопрос ответил правильно. Пишет - пароль выслан. письма не получил.&lt;/p&gt;
&lt;p&gt;Сегодня завел новый профиль на другой ящик на gmail.&lt;/p&gt;
&lt;p&gt;Вошел нормально. Вышел.
Решил проверить: типа забыл пароль.
Пытаюсь восстановить. На контрольный вопрос ответил правильно. Пишет - пароль выслан. письма не получил.
При попытке войти с правильным паролем, пароль не опознается.&lt;/p&gt;
&lt;p&gt;Завел третий профиль. Пишу вам.&lt;/p&gt;
&lt;p&gt;ВЫВОДЫ:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Не отправляются письма с паролями на адреса пользователей при попытке восстановления.&lt;/li&gt;
&lt;li&gt;На форуме дикое количество мертвых профилей. Может перерегистрацию провести?&lt;/li&gt;
&lt;li&gt;При регистрации надо сделать верификацию адреса. (люди и ошибиться могут.)&lt;/li&gt;
&lt;/ol&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3189/</id>
    <title type="text">Снятие заявки</title>
    <published>2012-11-28T07:23:31Z</published>
    <updated>2012-11-28T07:23:31Z</updated>
    <author>
      <name>Eskra</name>
      <uri>https://stocksharp.ru/users/711/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;При удалении заявки, если вернулась ошибка
2012.11.28 11:51:33.496|Error  ||Заявка 34610224 не была отменена по причине StockSharp.Plaza.PlazaException: Произошла ошибка. Код 9999, описание 'The transaction limit for this user exceeded'..&lt;/p&gt;
&lt;p&gt;повторно удалить ее не получается:&lt;/p&gt;
&lt;p&gt;2012.11.28 11:51:36.457|       ||Удаляем заявку: 34610224/9517946585 Покупка Цена=140560 Объем=1 Сост=Active Бал=1
2012.11.28 11:51:36.457|Warning||Для заявки 34610224 уже был послан сигнал на отмену.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3188/</id>
    <title type="text">Стоп заявка</title>
    <published>2012-11-27T15:23:52Z</published>
    <updated>2012-11-27T15:23:52Z</updated>
    <author>
      <name>intint</name>
      <uri>https://stocksharp.ru/users/399/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Добрый день, пытаюсь использовать дочернюю стратегию для выставления стоп-лоса.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        private void OnNewOrderTrades(IEnumerable&amp;lt;MyTrade&amp;gt; trades)
        {
            var protectiveStrategy = trades.Select(trade =&amp;gt;
            {
                //Определяем величину уровня стоп-лоса
                var level = trade.Order.Price - 100;

                // выставляет стоп-лосс
                var stopLossLevelUnit = new Unit(level, UnitTypes.Limit, Security);

                return new StopLossStrategy(trade, stopLossLevelUnit);
            });

            ChildStrategies.AddRange(protectiveStrategy);
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Однако стоп-лосс при достижении цены не срабатывает.
Пробовал все свойства UnitTypes, но результат - или срабатывание стопа после совершения трейда или несрабатывание вообще.&lt;/p&gt;
&lt;p&gt;Подскажите, как правильно выставить стоп для сделки к примеру на 100 пунктов ниже (для фьюча РТС)?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3187/</id>
    <title type="text">Ошибки на Plaza 2 на просмотровом логине</title>
    <published>2012-11-27T06:33:25Z</published>
    <updated>2012-11-27T06:33:25Z</updated>
    <author>
      <name>qpile</name>
      <uri>https://stocksharp.ru/users/6397/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Здравствуйте!
На просмотровом логине появляется много ошибок. Так и должно быть? Так же прокачивается только несколько инструментов из ММВБ. Как исправить?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3186/</id>
    <title type="text">Закрыть все позиции с котированием</title>
    <published>2012-11-26T21:15:51Z</published>
    <updated>2012-11-26T21:15:51Z</updated>
    <author>
      <name>Algonavt</name>
      <uri>https://stocksharp.ru/users/639/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Пробую реализовывать простые сценарии на S#. Один из таких сценариев - закрытие всех позиций через стратегию котирования (какую именно - не принципиально, пусть будет LimitQuotingStrategy). По этому поводу написано нехитрое тестовое WPF приложение (текст приведен ниже).&lt;/p&gt;
&lt;p&gt;Проблема заключается в том, что если раскомментировать строки 314-326 и 329 (т.е. создание стратегии для каждого инструмента и её запуск), то в обработчике события NewMarketDepths вылетает исключение:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An exception of type 'System.NullReferenceException' occurred in WPF stocksharp study.exe but was not handled in user code&lt;/p&gt;
&lt;p&gt;Additional information: Ссылка на объект не указывает на экземпляр объекта.&lt;/p&gt;
&lt;p&gt;If there is a handler for this exception, the program may be safely continued.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Экспериментально установил, что исключение связано с тем, что идет обращение к d.BestBid.Price (т.е. получение последней лучшей котировки).&lt;/p&gt;
&lt;p&gt;Если оставить в приведенном коде всё как есть с комментариями, то стаканы для инструментов, по которым есть открытые позиции, стартуют отлично и в текстовом поле LogWindow цена лучшего бида появляется - т.е. обработчик события NewMarketDepths не падает из-за пустого указателя.&lt;/p&gt;
&lt;p&gt;Что я делаю не так? Очевидно, я не учел какую-то очень важную особенность при работе с библиотекой. Но какую???&lt;/p&gt;
&lt;p&gt;Версия библиотеки - 4.1.6.&lt;/p&gt;
&lt;p&gt;PS: Если кто-то найдет что-либо полезное в моем примере - не возбраняется забрать на заметку с целью дальнейшего использования. :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Код MainWindow.xaml&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;Window
	x:Class=&amp;quot;WPF_stocksharp_study.MainWindow&amp;quot;
    xmlns=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
    xmlns:x=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;
    xmlns:d3=&amp;quot;http://research.microsoft.com/DynamicDataDisplay/1.0&amp;quot;
    xmlns:Xaml=&amp;quot;clr-namespace:StockSharp.Xaml;assembly=StockSharp.Xaml&amp;quot;
	Title=&amp;quot;WPF_stocksharp_study&amp;quot;
    x:Name=&amp;quot;mainWindow&amp;quot;
	ResizeMode=&amp;quot;CanMinimize&amp;quot; Width=&amp;quot;500&amp;quot; Height=&amp;quot;520&amp;quot;
&amp;gt;
    &amp;lt;StackPanel&amp;gt;
        &amp;lt;StackPanel Orientation=&amp;quot;Horizontal&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;5&amp;quot;&amp;gt;
            &amp;lt;Label Content=&amp;quot;Путь к QUIK:&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; VerticalAlignment=&amp;quot;Center&amp;quot; /&amp;gt;
            &amp;lt;TextBox Name=&amp;quot;Path&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; VerticalAlignment=&amp;quot;Center&amp;quot; Width=&amp;quot;350&amp;quot; /&amp;gt;
            &amp;lt;Button Name=&amp;quot;LocateQuikButton&amp;quot; Content=&amp;quot;...&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; VerticalAlignment=&amp;quot;Stretch&amp;quot; Width=&amp;quot;35&amp;quot; Margin=&amp;quot;10,0,10,0&amp;quot; IsEnabled=&amp;quot;True&amp;quot; Click=&amp;quot;LocateQuikButton_Click&amp;quot; IsDefault=&amp;quot;True&amp;quot; /&amp;gt;
        &amp;lt;/StackPanel&amp;gt;
        &amp;lt;StackPanel Margin=&amp;quot;5&amp;quot;&amp;gt;
            &amp;lt;StackPanel Orientation=&amp;quot;Horizontal&amp;quot;&amp;gt;
                &amp;lt;Button Name=&amp;quot;ConnectButton&amp;quot; Content=&amp;quot;Подключиться&amp;quot; Click=&amp;quot;ConnectButton_Click&amp;quot; /&amp;gt;
                &amp;lt;Button	Name=&amp;quot;StartWatchSec1Sec2Button&amp;quot; Content=&amp;quot;Включить экспорт инструментов&amp;quot; Click=&amp;quot;StartWatchSec1Sec2Button_Click&amp;quot; IsEnabled=&amp;quot;False&amp;quot; /&amp;gt;
                &amp;lt;Button Name=&amp;quot;ShowDepthsForPositionsButton&amp;quot; Content=&amp;quot;Экспорт инструментов в позициях&amp;quot; Click=&amp;quot;ShowDepthsForPositionsButton_Click&amp;quot; IsEnabled=&amp;quot;False&amp;quot; /&amp;gt;
            &amp;lt;/StackPanel&amp;gt;
            &amp;lt;StackPanel Orientation=&amp;quot;Horizontal&amp;quot;&amp;gt;

            &amp;lt;/StackPanel&amp;gt;
        &amp;lt;/StackPanel&amp;gt;
        &amp;lt;Grid Margin=&amp;quot;5&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;&amp;gt;
            &amp;lt;Grid.RowDefinitions&amp;gt;
                &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
                &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
                &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
                &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
            &amp;lt;/Grid.RowDefinitions&amp;gt;
            &amp;lt;Grid.ColumnDefinitions&amp;gt;
                &amp;lt;ColumnDefinition Width=&amp;quot;Auto&amp;quot;/&amp;gt;
                &amp;lt;ColumnDefinition Width=&amp;quot;100&amp;quot;/&amp;gt;
            &amp;lt;/Grid.ColumnDefinitions&amp;gt;
            &amp;lt;Label Content=&amp;quot;Инструмент 1&amp;quot; Grid.Column=&amp;quot;0&amp;quot; Grid.Row=&amp;quot;0&amp;quot; /&amp;gt;
            &amp;lt;Label Content=&amp;quot;Инструмент 2&amp;quot; Grid.Column=&amp;quot;0&amp;quot; Grid.Row=&amp;quot;1&amp;quot; /&amp;gt;
            &amp;lt;ComboBox x:Name=&amp;quot;Security1List&amp;quot; SelectionChanged=&amp;quot;SecurityList_SelectionChanged&amp;quot; HorizontalAlignment=&amp;quot;Stretch&amp;quot; Grid.Column=&amp;quot;1&amp;quot; Grid.Row=&amp;quot;0&amp;quot; IsEnabled=&amp;quot;False&amp;quot; /&amp;gt;
            &amp;lt;ComboBox x:Name=&amp;quot;Security2List&amp;quot; SelectionChanged=&amp;quot;SecurityList_SelectionChanged&amp;quot; HorizontalAlignment=&amp;quot;Stretch&amp;quot; Grid.Column=&amp;quot;1&amp;quot; Grid.Row=&amp;quot;1&amp;quot; IsEnabled=&amp;quot;False&amp;quot; /&amp;gt;
        &amp;lt;/Grid&amp;gt;
        &amp;lt;StackPanel Orientation=&amp;quot;Vertical&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;5&amp;quot;&amp;gt;
            &amp;lt;Label Content=&amp;quot;Позиции:&amp;quot; /&amp;gt;
            &amp;lt;ListView x:Name=&amp;quot;MyPositions&amp;quot; Height=&amp;quot;150&amp;quot; ItemsSource=&amp;quot;{Binding}&amp;quot; FontSize=&amp;quot;10&amp;quot; &amp;gt;
                &amp;lt;ListView.View&amp;gt;
                    &amp;lt;GridView&amp;gt;
                        &amp;lt;GridViewColumn Width=&amp;quot;100&amp;quot; Header=&amp;quot;Счет&amp;quot; DisplayMemberBinding=&amp;quot;{Binding Path=Portfolio.Name}&amp;quot; /&amp;gt;
                        &amp;lt;GridViewColumn Width=&amp;quot;100&amp;quot; Header=&amp;quot;Инструмент&amp;quot; DisplayMemberBinding=&amp;quot;{Binding Path=Security.Code}&amp;quot; /&amp;gt;
                        &amp;lt;GridViewColumn Width=&amp;quot;100&amp;quot; Header=&amp;quot;Позиция&amp;quot; DisplayMemberBinding=&amp;quot;{Binding Path=CurrentValue}&amp;quot; /&amp;gt;
                        &amp;lt;GridViewColumn Width=&amp;quot;100&amp;quot; Header=&amp;quot;Заблокировано&amp;quot; DisplayMemberBinding=&amp;quot;{Binding Path=BlockedValue}&amp;quot; /&amp;gt;
                    &amp;lt;/GridView&amp;gt;
                &amp;lt;/ListView.View&amp;gt;
            &amp;lt;/ListView&amp;gt;
        &amp;lt;/StackPanel&amp;gt;
        &amp;lt;StackPanel&amp;gt;
            &amp;lt;TextBox x:Name=&amp;quot;LogWindow&amp;quot; IsReadOnly=&amp;quot;True&amp;quot; VerticalScrollBarVisibility=&amp;quot;Auto&amp;quot; VerticalContentAlignment=&amp;quot;Top&amp;quot; HorizontalAlignment=&amp;quot;Stretch&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot; Height=&amp;quot;166&amp;quot; TextWrapping=&amp;quot;Wrap&amp;quot; /&amp;gt;
        &amp;lt;/StackPanel&amp;gt;
    &amp;lt;/StackPanel&amp;gt;
&amp;lt;/Window&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Код MainWindow.xaml.cs&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Forms;
using System.Windows.Controls;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Ecng.Xaml;
using Ecng.ComponentModel;
using Ecng.Collections;
using Ecng.Common;
using System.Linq;
using StockSharp.Algo.Strategies;
using StockSharp.Algo;
using StockSharp.Logging;
using StockSharp.Xaml;
using StockSharp.BusinessEntities;
using StockSharp.Quik;
using MessageBox = System.Windows.MessageBox;


namespace WPF_stocksharp_study
{
    /// &amp;lt;summary&amp;gt;
    /// Interaction logic for MainWindow.xaml
    /// &amp;lt;/summary&amp;gt;
    public partial class MainWindow : Window
    {
        public QuikTrader _trader;
        public ThreadSafeObservableCollection&amp;lt;Position&amp;gt; Positions = new ThreadSafeObservableCollection&amp;lt;Position&amp;gt;();
        public static MainWindow Instance { get; private set; }

        private bool _isConnected = false, _isDdeStarted = false, _isWatchingStarted = false, _isQuotesRegistered = false, _isPositionsRegistered = false;
        private Security sec1, sec2;
        private List&amp;lt;Strategy&amp;gt; _strategies = new List&amp;lt;Strategy&amp;gt;();

        private LogManager LogManager = new LogManager();

        public MainWindow()
        {
            InitializeComponent();

            MainWindow.Instance = this;
            this.DataContext = this;

            this.Path.Text = QuikTerminal.GetDefaultPath();
            MyPositions.DataContext = Positions;

            var consoleLogListener = new ConsoleLogListener();
            this.LogManager.Listeners.Add(consoleLogListener);
        }

        #region Routines
        void StartDDE()
        {
            WriteLogMessage(&amp;quot;Запускается экспорт DDE&amp;quot;);

            _trader.StartExport(new[]
			                    {
			                    	_trader.SecuritiesTable,
			                    	_trader.EquityPositionsTable,
			                    	_trader.EquityPortfoliosTable,
                                    _trader.OrdersTable,
                                    _trader.TradesTable,
                                    _trader.MyTradesTable
			                    });

            UpdateControls();
        }

        void StopDDE()
        {
            WriteLogMessage(&amp;quot;Останавливается экспорт DDE&amp;quot;);
            _trader.StopExport();
            UpdateControls();
        }

        void StartWatch()
        {
            this._isWatchingStarted = true;

            this.sec1 = (Security)Security1List.SelectedItem;
            this.sec2 = (Security)Security2List.SelectedItem;

            if (sec1 != null)
                this._trader.RegisterMarketDepth(this.sec1);
            if (sec2 != null)
                this._trader.RegisterMarketDepth(this.sec2);
            _isQuotesRegistered = true;

            UpdateControls();
        }

        void StopWatch()
        {
            if (_isQuotesRegistered)
            {
                this._trader.UnRegisterMarketDepth(this.sec1);
                this._trader.UnRegisterMarketDepth(this.sec2);
            }

            this._isWatchingStarted = false;
            UpdateControls();
        }

        void UpdateControls()
        {
            ConnectButton.Content = (_isConnected) ? &amp;quot;Отключить&amp;quot; : &amp;quot;Подключить&amp;quot;;
            _isDdeStarted = _trader.IsExportStarted;
            StartWatchSec1Sec2Button.Content = (_isDdeStarted) ? &amp;quot;Выключить экспорт инструментов&amp;quot; : &amp;quot;Включить экспорт инструментов&amp;quot;;
            StartWatchSec1Sec2Button.IsEnabled = (Security1List.SelectedItem != null) &amp;amp;&amp;amp; (Security2List.SelectedItem != null);
            Security1List.IsEnabled = Security2List.IsEnabled = _isDdeStarted;
            ShowDepthsForPositionsButton.IsEnabled = _isPositionsRegistered;
        }


        void WriteLogMessage(string message)
        {
            var _dt = DateTime.Now;
            var str = _dt.ToString(&amp;quot;yyyy-MM-dd HH:mm:ss.ffff - &amp;quot;) + message + &amp;quot;\n&amp;quot;;

            LogWindow.AppendText(str);
            LogWindow.ScrollToEnd();
        }

        void CalculateAndUpdateBidAsk()
        {
            // TODO: Implement CalculateAndUpdateBidAsk
        }
        #endregion

        #region Event handlers
        #region Event handlers for UI elements
        void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            if (!_isConnected)
            {
                if (this.Path.Text.IsEmpty())
                    MessageBox.Show(this, &amp;quot;Путь к Quik не выбран&amp;quot;);
                else
                {
                    WriteLogMessage(&amp;quot;Начинаем подключение!&amp;quot;);
                    if (this._trader == null)
                    {
                        this._trader = new QuikTrader(this.Path.Text);
                        this.LogManager.Sources.Add(_trader);

                        // Подписываемся на событие появления портфелей
                        this._trader.NewPortfolios += portfolios =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                                  {
                                                                                      WriteLogMessage(&amp;quot;Портфели появились!&amp;quot;);
                                                                                  });

                        this._trader.PortfoliosChanged += portfolios =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                                   {
                                                                                       WriteLogMessage(&amp;quot;Портфели изменились!&amp;quot;);
                                                                                       portfolios.ForEach(p =&amp;gt; WriteLogMessage(p.Name));
                                                                                   });

                        // Подписываемся на событие появления инструментов
                        this._trader.NewSecurities += securities =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                                  {
                                                                                      Security1List.ItemsSource = this._trader.Securities;
                                                                                      Security2List.ItemsSource = this._trader.Securities;

                                                                                      WriteLogMessage(&amp;quot;Инструменты появились!&amp;quot;);
                                                                                  });

                        this._trader.NewMarketDepths += depths =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                                {
                                                                                    depths.ForEach(d =&amp;gt;
                                                                                    {
                                                                                        WriteLogMessage(string.Format(&amp;quot;Появился стакан для инструмента {0}. Бид: {1}&amp;quot;, d.Security.Code, d.BestBid.Price));
                                                                                    });
                                                                                });

                        // Подписываемся на событие появления моих сделок
                        this._trader.NewMyTrades += myTrades =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                              {
                                                                                  foreach (var myTrade in myTrades)
                                                                                  {
                                                                                      var trade = myTrade.Trade;
                                                                                      WriteLogMessage(string.Format(&amp;quot;Сделка {0} по цене {1} по бумаге {2} по объему {3} в {4}.&amp;quot;, trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time));
                                                                                  }
                                                                              });

                        // Подписываемся на событие подлючения
                        this._trader.Connected += () =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                      {
                                                                          _isConnected = true;
                                                                          WriteLogMessage(&amp;quot;QUIK подключен!&amp;quot;);
                                                                          StartDDE();
                                                                          UpdateControls();
                                                                      });

                        //this._trader.NewPositions += positions =&amp;gt; this.GuiAsync(() =&amp;gt;
                        //                                                {
                        //                                                    Positions.Clear();
                        //                                                    Positions.AddRange(_trader.Positions.Where(p =&amp;gt; p.CurrentValue != 0));
                        //                                                });

                        this._trader.PositionsChanged += positions =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                      {
                                                                          Positions.Clear();
                                                                          Positions.AddRange(_trader.Positions.Where(p =&amp;gt; p.CurrentValue != 0));

                                                                          if (!_isPositionsRegistered)
                                                                          {
                                                                              _isPositionsRegistered = true;
                                                                              UpdateControls();
                                                                          }
                                                                      });

                        // Подписываемся на событие отключения
                        this._trader.Disconnected += () =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                         {
                                                                             _isConnected = false;
                                                                             WriteLogMessage(&amp;quot;QUIK отключен!&amp;quot;);
                                                                             UpdateControls();
                                                                         });

                        this._trader.ConnectionError += (f) =&amp;gt; this.GuiAsync(() =&amp;gt;
                                                                        {
                                                                            WriteLogMessage(&amp;quot;Ошибка подключения. &amp;quot; + f.Message);
                                                                        });

                    }
                    // Подключаемся
                    this._trader.Connect();
                }
            }
            else
            {
                StopWatch();
                StopDDE();
                this._trader.Disconnect();

                _isConnected = false;
                UpdateControls();
            }
        }

        void LocateQuikButton_Click(object sender, RoutedEventArgs e)
        {
            var dlg = new FolderBrowserDialog();

            if (!this.Path.Text.IsEmpty())
                dlg.SelectedPath = this.Path.Text;

            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                this.Path.Text = dlg.SelectedPath;
            }
        }


        void StartWatchSec1Sec2Button_Click(object sender, RoutedEventArgs e)
        {
            if (_isWatchingStarted)
                StopWatch();
            else
                StartWatch();
        }

        void SecurityList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            sec1 = (Security)Security1List.SelectedItem;
            sec2 = (Security)Security2List.SelectedItem;

            UpdateControls();
        }
        #endregion

        #region Event handlers for application shutdown
        protected override void OnClosing(CancelEventArgs e)
        {
            if (this._trader != null)
            {
                if (_isDdeStarted)
                    StopDDE();
                if (_isWatchingStarted)
                    StopWatch();

                this._trader.Dispose();
            }

            base.OnClosing(e);
        }

        protected override void OnClosed(EventArgs e)
        {
            System.Windows.Application.Current.Shutdown();
            base.OnClosed(e);
        }
        #endregion

        private void ShowDepthsForPositionsButton_Click(object sender, RoutedEventArgs e)
        {
            _trader.Positions.ForEach(p =&amp;gt;
                {
                    WriteLogMessage(&amp;quot;Актив: &amp;quot; + p.Security.Code + &amp;quot; Позиция: &amp;quot; + p.CurrentValue);

                    var _volume = p.CurrentValue;

                    if (_volume != 0)
                    {
                        WriteLogMessage(&amp;quot;Запускается экспорт стакана для&amp;quot; + p.Security.Code);
                        _trader.RegisterMarketDepth(p.Security);
                    }

                    //var _depth = _trader.GetMarketDepth(p.Security).Clone();

                    //var _close = new LimitQuotingStrategy(_volume &amp;gt; 0 ? OrderDirections.Sell : OrderDirections.Buy, _volume.Abs(), (_depth.BestAsk.Price + _depth.BestBid.Price) / 2)
                    // {
                    //     Trader = this._trader,
                    //     Security = p.Security,
                    //     Portfolio = p.Portfolio
                    // };

                    //this.LogManager.Sources.Add(_close);

                    //_strategies.Add(_close);
                });

            //_strategies.ForEach(s =&amp;gt; s.Start());
        }
        #endregion
    }
}
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3185/</id>
    <title type="text">64x</title>
    <published>2012-11-23T17:34:21Z</published>
    <updated>2012-11-23T17:34:21Z</updated>
    <author>
      <name>towace</name>
      <uri>https://stocksharp.ru/users/6501/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Доброго времени суток вам,чёт не пруха у меня с гидрой(( Выдаёт ошибку -  текущая разрядность не совместима со шлюзом смарт трейд, что посоветуете?
&lt;a href="http://screencast.com/t/fCX86sJbuz" rel="nofollow" target="_blank"&gt;http://screencast.com/t/fCX86sJbuz&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3184/</id>
    <title type="text">Исключение в StockSharp.Algo при остановке стратегии</title>
    <published>2012-11-23T15:06:37Z</published>
    <updated>2012-11-23T15:06:37Z</updated>
    <author>
      <name>NattyD</name>
      <uri>https://stocksharp.ru/users/687/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Останавливал работающую стратегию, при остановке робот упал. В стратегии параметр CancelOrdersWhenStopping = true, перед тем как нажал остановить, висела активная заявка, которая в итоге не снялась.&lt;/p&gt;
&lt;p&gt;Раньше такого никогда не было, поэтому не знаю, как такой баг еще раз воспроизвести. Похоже, ошибка не у меня.&lt;/p&gt;
&lt;p&gt;S# 4.1.6 из box.com&lt;/p&gt;
&lt;p&gt;В журнале Windows значится такое:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
Приложение: robot.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.ArgumentException
Стек:
   в #=q6OOsVt0jU6li3962Bc4BTP_SDQNJzZw7a_xJ9eDpXEI=.#=q0CEkaXIaiGHY4qxSGKEiqluc9Q0OF68lyDePIT6dDP4=(StockSharp.BusinessEntities.Order, Boolean)
   в StockSharp.Algo.BaseTrader.CancelOrder(StockSharp.BusinessEntities.Order)
   в StockSharp.Algo.Strategies.Strategy.#=qTUoMrDUJPAMfvqYs225nzVyfPPUltcsfJr7mg4rDD1A=(StockSharp.BusinessEntities.Order)
   в StockSharp.Algo.Strategies.Strategy.#=qs7HIBPMp2K6K8uK2JZaxr_gM_UPxqGaRmPsIy372u9lnqQt2jFoEJKsSDUp0lFq$(StockSharp.BusinessEntities.Order)
   в Ecng.Collections.CollectionHelper.ForEach[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1&amp;lt;System.__Canon&amp;gt;, System.Action`1&amp;lt;System.__Canon&amp;gt;)
   в StockSharp.Algo.Strategies.Strategy.#=qrQSEQToAIjy7zanZmRFCmIhNiBd5BXJ$JXepvuLeizs=()
   в StockSharp.Algo.Strategies.Strategy.#=qqMGhIBHCDA8zWbr6iKLM8qibs4Ea$ZveYoho8Y0u_Lc=(StockSharp.Algo.ProcessStates)
   в StockSharp.Algo.Strategies.Strategy.Stop()
   в Robot.MainWindow.Start_Click(System.Object, System.Windows.RoutedEventArgs)
   в System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
   в System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
   в System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
   в System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)
   в System.Windows.Controls.MenuItem.InvokeClickAfterRender(System.Object)
   в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   в System.Windows.Threading.DispatcherOperation.InvokeImpl()
   в System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   в System.Windows.Threading.DispatcherOperation.Invoke()
   в System.Windows.Threading.Dispatcher.ProcessQueue()
   в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   в MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   в MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   в System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   в MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   в System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   в System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   в System.Windows.Threading.Dispatcher.Run()
   в System.Windows.Application.RunDispatcher(System.Object)
   в System.Windows.Application.RunInternal(System.Windows.Window)
   в System.Windows.Application.Run(System.Windows.Window)
   в Ux.App.Main()


&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3183/</id>
    <title type="text">MarketQuotingStrategy не ждет сделки</title>
    <published>2012-11-23T06:54:47Z</published>
    <updated>2012-11-23T06:54:47Z</updated>
    <author>
      <name>Ant.On.</name>
      <uri>https://stocksharp.ru/users/6276/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Столкнулся со следующей проблемой: иногда правило WhenStopped() для MarketQuotingStrategy срабатывает позже чем правило WhenNewMyTrades(), что нелогично при выставленным флаге WaitAllTrades=true;&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;                        q = new MarketQuotingStrategy(OrderDirections.Buy, volume);
                    q.Volume = q.QuotingVolume;
                    q.CancelOrdersWhenStopping = false; //to eliminate useless cancelation on stoping
                    q.PriceOffset = new Unit(1, UnitTypes.Step);
                    q.BestPriceOffset = new Unit(1, UnitTypes.Step);
                    q.WaitAllTrades = true;
                    q.WhenNewMyTrades().Do(()=&amp;gt;this.AddInfoLog(&amp;quot;trade...&amp;quot;)).Apply(this);
                    q.DisposeOnStop = true;

                    q.WhenStopped().Do(() =&amp;gt;
                    {
                        this.AddInfoLog(&amp;quot;quoting complete&amp;quot;);
                    }).Once().Apply(this);
q.Start()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;в чем может быть дело? логов пока нет, т.к. ошибка проявляется не всегда...&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3182/</id>
    <title type="text">Новые таблицы в Quik</title>
    <published>2012-11-22T17:13:11Z</published>
    <updated>2012-11-22T17:13:11Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.ru/users/6491/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;В моём терминале QUIK не удаётся загрузить info.wnd - всё время сообщение о нехватке памяти. Возможно это косяки брокерских настроек (Брокер Уралсиб Кэпитал. Терминал пока тестовый.)
Попробовал настроить вручную по инструкции.
Оказалось:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Последняя выложенная инструкция в 4.1.6 более старая, чем была выложена пару недель назад. В ней в статье &amp;quot;Настройка Quik&amp;quot; отсутствует описание таблицы &amp;quot;Инструменты (изменения)&amp;quot;.&lt;/li&gt;
&lt;li&gt;Verifier версии 4.1.4 работает нормально. С версии 4.1.5 необходимо подключение к таблице &amp;quot;Валюты портфелей&amp;quot; (Ошибка верифаера: Окно с заголовком 'валюты портфелей' не было найдено). Эта таблица не описана нигде, кроме как в спецификации &amp;quot;DdeCurrencyPortfolioColumns - члены&amp;quot;.
Пожелания:&lt;/li&gt;
&lt;li&gt;опишите, пожалуйста, что это за таблица 'валюты портфелей', какие у неё поля и как она должна называться в DDE и в UI.&lt;/li&gt;
&lt;li&gt;Verifier ругается всплывающим окном, из которого невозможно скопировать текст ошибки. Никакого иного логирования не обнаруживается.
Совет:
Возможно старая инструкция всплыла из-за специфики работы TFS.
Надёжный подход - после каждой фиксации изменений обновлять локально полную версию файлов. Причём не через Get Latest Version, а через Get Specific Version (со всеми галками). Причём не для проекта или солюшна, а для всей папки trunk.
Только так можно гарантированно иметь актуальную версию всех файлов хранилища.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3181/</id>
    <title type="text">После вечернего клиринга перестают приходить данные</title>
    <published>2012-11-22T15:21:36Z</published>
    <updated>2012-11-22T15:21:36Z</updated>
    <author>
      <name>FiNick</name>
      <uri>https://stocksharp.ru/users/6053/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Версия 4.1.6
Собственно сабж. Раньше на этом же роботе все было отлично, сейчас я день торговал с опцией Trader.CreateDepthFromOrdersLog, в результате после вечернего клиринга перестали приходить тики и ордерлог по всем инструментам. Но мои заявки на биржу отправляются.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3180/</id>
    <title type="text">Построение стаканов из анонимного ордер лога</title>
    <published>2012-11-21T16:48:09Z</published>
    <updated>2012-11-21T16:48:09Z</updated>
    <author>
      <name>FiNick</name>
      <uri>https://stocksharp.ru/users/6053/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Использую StockSharp 4.1.6
Решил посмотреть как дела с Trader.CreateDepthFromOrdersLog.&lt;/p&gt;
&lt;p&gt;Для начала решил проверить на тестовом сервере, для него у меня стоял P2_CGate1.14.9_64. Для чистоты эксперимента SampleGUI из StockSharp 4.1.6. Запускаю, стакан не строиться, множество ошибок.&lt;/p&gt;
&lt;p&gt;Подумал, что гейт старый, потому поставил новый P2_CGate1.14.17_64. Прога коннектится, но ни инструментов, ни портфелей, ни трейдов, вообще никаких данных не получает.&lt;/p&gt;
&lt;p&gt;Решил проверить на боевом сервере, для него стоит гейт P2_ClientGate1.12.7_64 (Для тестового CGate стоит, для боевого ClientGate, вроде это разные вещи).
Последний боевой гейт P2_ClientGate1.14.11_64 не ставлю, т.к. в соседней ветке говорят, что не работает: &lt;a href="http://stocksharp.com/forum/2996/Oshibka-pri-ispol-zovanii-novoi-viersii-shliuza/"&gt;http://stocksharp.com/forum/2996/Oshibka-pri-ispol-zovanii-novoi-viersii-shliuza/&lt;/a&gt;
На рабочем сервере стаканы похоже строятся нормально, по крайней мере ошибки не вылетают. По хорошему надо сравнить со стаканом квика, например, но у меня терпения не хватает дождаться, пока весь ордер лог подгрузится.&lt;/p&gt;
&lt;p&gt;Собственно, вопросы:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Какие гейты надо использовать для тестового и рабочего серверов. Когда будет поддержка последних гейтов?&lt;/li&gt;
&lt;li&gt;Почему на тестовом сервере стаканы с ордерлога не строятся, а на рабочем строятся?&lt;/li&gt;
&lt;li&gt;И самое важное: когда будет поддержка горячего старта стаканов с ордерлога с помощью RevisionManager'a? Была речь про то, что ртс каждые 3 минуты присылает снэпшот стакана, по этому снепшоту и ордерлогу за последние 3 минуты можно быстро восстановить текущий стакан.
Очень важная вещь на самом деле. Сейчас у нас получается ордерлог можно только сохранять для тестирования. Играть с помощью ордерлога не представляется возможным: глюканул инет и все, перезапускай робота полтора часа, и включай квик позиции вручную закрывать.&lt;/li&gt;
&lt;/ol&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3179/</id>
    <title type="text">Странная ошибка внутри StockSharp.Algo</title>
    <published>2012-11-20T07:05:57Z</published>
    <updated>2012-11-20T07:05:57Z</updated>
    <author>
      <name>FiNick</name>
      <uri>https://stocksharp.ru/users/6053/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Работает простой маркетмейкерский робот, который держит в стакане аск и бид и периодически переставляет их на более подходящие цены.
Иногда вылетает странная ошибка изнутри StockSharp.Algo, я даже не знаю какой мой код её вызывает, мои try-catch её не перехватывают. См картинку&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3178/</id>
    <title type="text">Склейка данных инструмента</title>
    <published>2012-11-19T20:34:58Z</published>
    <updated>2012-11-19T20:34:58Z</updated>
    <author>
      <name>ViktoriusI</name>
      <uri>https://stocksharp.ru/users/26846/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Выкачал данные Гидрой по фьючерсу UX.
Как для тестирования склеить данные фьючерсов с разными датами экспирации, чтобы тестировать на единой истории
как по одному инструменту?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3177/</id>
    <title type="text">Ошибка при тестировании</title>
    <published>2012-11-19T19:59:23Z</published>
    <updated>2012-11-19T19:59:23Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;При тестировании периодически возникает::::spoiler&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;System.NullReferenceException: Object reference not set to an instance of an object.
   at #=qkoSo$d923scmg_sYtLvcgC1T0ft2pstJcPersksBoZKwr0BQW4jZhfAQW1xMmBut.#=qg67115AckIhO5d2zxyCZAQ==(Boolean #=qLADmQb8cJ4Y_nd7XlXaXQw==)
   at #=qkoSo$d923scmg_sYtLvcgC1T0ft2pstJcPersksBoZKwr0BQW4jZhfAQW1xMmBut.#=qm3V9Kfo72M8TE2px_zLo9xQM1RL6SFBGqLB3If2f6Fw=.#=qPPbjei2wiECkz_QeThbm2A5qP5NSKd6ArG8wtLmBsyA=()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.TimerQueueTimer.CallCallback()
   at System.Threading.TimerQueueTimer.Fire()
   at System.Threading.TimerQueue.FireNextTimers()
&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3176/</id>
    <title type="text">Нужен программист</title>
    <published>2012-11-19T09:47:15Z</published>
    <updated>2012-11-19T09:47:15Z</updated>
    <author>
      <name>kpacaba</name>
      <uri>https://stocksharp.ru/users/6435/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Работа" />
    <content type="html">&lt;p&gt;Нужен программист со знанием C# и билиотек S#, довести начатый проект, проект готов на 70%. Зп 50 000 в мес, работа в офисе.&lt;/p&gt;
</content>
  </entry>
</feed>