﻿<?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">Stock# 2.0.1</title>
  <id>~/topic/1016/stock-2_0_1/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-16T13:31:12Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1016" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/2963/</id>
    <title type="text">Котирование я делал до асинхронных заявок. Еще не сделал поддержку таких заявок. Причина - время. Са...</title>
    <published>2010-06-15T23:17:00Z</published>
    <updated>2010-06-15T23:17:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Котирование я делал до асинхронных заявок. Еще не сделал поддержку&lt;br /&gt;таких заявок. Причина - время. Само по себе поведение отписал в блоге.&lt;br /&gt;Если кто-то сталкивается - пишу ссылку, предлагаю варианты. Вам&lt;br /&gt;кажется это мало? Я думаю, этого вполне достаточно.&lt;br /&gt;&lt;br /&gt;Понятно, что хочется много и сразу. Но такое не бывает. Всегда&lt;br /&gt;выстраиваются приоритеты. Думаю, бессмысленно винить меня в том, что я&lt;br /&gt;сделал котирование, и что его пока не продолжаю. Это так же&lt;br /&gt;бессмысленно, как винить строителей дома, что они не могут построить&lt;br /&gt;его за 1 день. Котирование не поддерживает асинхронные заявки. Это не&lt;br /&gt;бага, это ограничение, которое я отписал. Баги я закрываю в каждой&lt;br /&gt;новой версии. Фичи - реализую не так часто.&lt;br /&gt;&lt;br /&gt;Другой вопрос, если Вы написали за выходные привод без использовать&lt;br /&gt;S#, то у Вас уровень достаточный, чтобы реализовать свой аналог&lt;br /&gt;котирования. Но Вы решили отказаться вообще от всего S#. Причина мне&lt;br /&gt;не ясна.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/2962/</id>
    <title type="text">Михаил, ну зачем так. Исходников библиотеки нет, в документации про это ни слова, а еще мне нужно вы...</title>
    <published>2010-06-15T21:24:00Z</published>
    <updated>2010-06-15T21:24:00Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.ru/users/28346/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Михаил, ну зачем так. Исходников библиотеки нет, в документации про&lt;br /&gt;это ни слова, а еще мне нужно выискивать где-то, что там работает, а&lt;br /&gt;что нет.&lt;br /&gt;Подумал - А зачем мне это нужно? Сел за выходные нарисовал привод с&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.ru/posts/m/2961/</id>
    <title type="text">http://stockmarketdotnet.blogspot.com/2010/03/stock-18.htmlПункт 1 начиная со слов о котировании. </title>
    <published>2010-06-15T18:41:00Z</published>
    <updated>2010-06-15T18:41:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABSPcEqI0ATrgKHUCtM97F-JU-J5UfsNRSbDZHIf7GAKh4QjVqA129GZnic21rJtLQ5NlNFj6QuSztbtcnWtyQC" title="http://stockmarketdotnet.blogspot.com/2010/03/stock-18.html"&gt;http://stockmarketdotnet.blogspot.com/2010/03/stock-18.html&lt;/a&gt;Пункт 1&lt;br /&gt;начиная со слов о котировании.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/2960/</id>
    <title type="text">режим асинхронный </title>
    <published>2010-06-15T16:57:00Z</published>
    <updated>2010-06-15T16:57:00Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.ru/users/28346/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">режим асинхронный&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/2959/</id>
    <title type="text">Интересно. А режим синхронный? </title>
    <published>2010-06-15T14:40:00Z</published>
    <updated>2010-06-15T14:40:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Интересно. А режим синхронный?&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/2958/</id>
    <title type="text">у меня тоже самое Trader.OrdersChanged срабатывает два раза с одинаковыми параметрами </title>
    <published>2010-06-12T23:26:00Z</published>
    <updated>2010-06-12T23:26:00Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.ru/users/28346/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">у меня тоже самое Trader.OrdersChanged срабатывает два раза с&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/2957/</id>
    <title type="text">1. Т.е. это допустимая ошибка для MQS? (считается что стратегия завершилась успешно?) 2. Сорри, я им...</title>
    <published>2010-06-08T19:49:00Z</published>
    <updated>2010-06-08T19:49:00Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">1. Т.е. это допустимая ошибка для MQS? (считается что стратегия&lt;br /&gt;завершилась успешно?)&lt;br /&gt;2. Сорри, я имел ввиду Trader.OrdersChanged. Сообщение дублируется для&lt;br /&gt;состояния Active (та заявка, которую выставляю на котирование):&lt;br /&gt;08.06.2010 13:42:01 [0] SS_RIM0 =&amp;gt; Заявка 16003537 по цене 132210 по&lt;br /&gt;бумаге RIM0 по объему 1 в 08.06.2010 13:42:03, комент:&amp;#39;[309]SL&amp;#39;,&lt;br /&gt;состояние=Active, статус=Done&lt;br /&gt;08.06.2010 13:42:01 [0] SS_RIM0 =&amp;gt; Заявка 16003537 по цене 132210 по&lt;br /&gt;бумаге RIM0 по объему 1 в 08.06.2010 13:42:03, комент:&amp;#39;[309]SL&amp;#39;,&lt;br /&gt;состояние=Active, статус=Done&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.ru/posts/m/2956/</id>
    <title type="text">StrategyLogger сам пишет в файл. Пишет в тот файл, который указали в конструкторе. Пример есть в док...</title>
    <published>2010-06-08T12:48:00Z</published>
    <updated>2010-06-08T12:48:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">StrategyLogger сам пишет в файл. Пишет в тот файл, который указали в&lt;br /&gt;конструкторе. Пример есть в документации.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/2955/</id>
    <title type="text">1. Это значит заявка уже исполнена. 2. &amp;quot;MyOrdersChanged по два раза вызывается для одной сделки&amp;quot; так...</title>
    <published>2010-06-08T12:47:00Z</published>
    <updated>2010-06-08T12:47:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">1. Это значит заявка уже исполнена.&lt;br /&gt;2. &amp;quot;MyOrdersChanged по два раза вызывается для одной сделки&amp;quot; такого&lt;br /&gt;события нет.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/2954/</id>
    <title type="text">Такой ошибки по-моему не было &amp;quot; Не найдена заявка для перестановки&amp;quot; И еще - у меня MyOrdersChanged п...</title>
    <published>2010-06-07T20:11:00Z</published>
    <updated>2010-06-07T20:11:00Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Такой ошибки по-моему не было &amp;quot;[FORTS] Не найдена заявка для&lt;br /&gt;перестановки&amp;quot;&lt;br /&gt;И еще - у меня MyOrdersChanged по два раза вызывается для одной сделки&lt;br /&gt;(но это и до версии 201)&lt;br /&gt;Протокол:&lt;br /&gt;&lt;br /&gt;07.06.2010 19:21:02 [0] MQS_RIM0 =&amp;gt; Цена текущей 133205 и лучшей&lt;br /&gt;133205.&lt;br /&gt;07.06.2010 19:21:03 [0] MQS_RIM0 =&amp;gt; Цена текущей 133205 и лучшей&lt;br /&gt;133205.&lt;br /&gt;07.06.2010 19:21:04 [0] MQS_RIM0 =&amp;gt; Цена текущей 133205 и лучшей&lt;br /&gt;133205.&lt;br /&gt;07.06.2010 19:21:06 [0] MQS_RIM0 =&amp;gt; Цена текущей 133205 и лучшей&lt;br /&gt;133280.&lt;br /&gt;07.06.2010 19:21:06 [0] MQS_RIM0 =&amp;gt; Регистрация новой заявки Sell с&lt;br /&gt;ценой 133280 и объемом 1.&lt;br /&gt;07.06.2010 19:21:06 [0] SS_RIM0_01:00:00 =&amp;gt; Transaction:&lt;br /&gt;ACCOUNT=SPBFUT005La; CLIENT_CODE=XXX; TYPE=L; TRANS_ID=69666064;&lt;br /&gt;CLASSCODE=SPBFUT; SECCODE=RIM0; ACTION=NEW_ORDER; OPERATION=S;&lt;br /&gt;QUANTITY=1; PRICE=133280; COMMENT=[303]SL;&lt;br /&gt;07.06.2010 19:21:06 [0] SS_RIM0_01:00:00 =&amp;gt; Quiting Заявка 15354886 по&lt;br /&gt;цене 133280 по бумаге RIM0 по объему 1 в 01.01.0001 0:00:00,&lt;br /&gt;состояние=Active, статус=Done&lt;br /&gt;07.06.2010 19:21:06 [0] MQS_RIM0 =&amp;gt; Заявка зарегистрирована Sell под&lt;br /&gt;номером 15354886 с ценой 133280 объемом 1 ID транзакции 69666064.&lt;br /&gt;07.06.2010 19:21:07 [0] SS_RIM0_01:00:00 =&amp;gt; Заявка 15354886 по цене&lt;br /&gt;133280 по бумаге RIM0 по объему 1 в 07.06.2010 19:21:08,&lt;br /&gt;состояние=Active, статус=Done&lt;br /&gt;07.06.2010 19:21:07 [0] SS_RIM0_01:00:00 =&amp;gt; Заявка 15354886 по цене&lt;br /&gt;133280 по бумаге RIM0 по объему 1 в 07.06.2010 19:21:08,&lt;br /&gt;состояние=Active, статус=Done&lt;br /&gt;07.06.2010 19:21:08 [0] MQS_RIM0 =&amp;gt; Цена текущей 133280 и лучшей&lt;br /&gt;133280.&lt;br /&gt;07.06.2010 19:21:09 [0] MQS_RIM0 =&amp;gt; Цена текущей 133280 и лучшей&lt;br /&gt;133280.&lt;br /&gt;07.06.2010 19:21:10 [0] MQS_RIM0 =&amp;gt; Цена текущей 133280 и лучшей&lt;br /&gt;133265.&lt;br /&gt;07.06.2010 19:21:10 [0] MQS_RIM0 =&amp;gt; Котирование заявки Sell под&lt;br /&gt;номером 15354886 с ценой 133280 объемом 1 ID транзакции 69666064.&lt;br /&gt;07.06.2010 19:21:10 [0] SS_RIM0_01:00:00 =&amp;gt; Transaction:&lt;br /&gt;ACTION=MOVE_ORDERS; TRANS_ID=69670380; CLASSCODE=SPBFUT; SECCODE=RIM0;&lt;br /&gt;MODE=0; FIRST_ORDER_NUMBER=15354886; FIRST_ORDER_NEW_PRICE=133265;&lt;br /&gt;FIRST_ORDER_NEW_QUANTITY=1;&lt;br /&gt;07.06.2010 19:21:10 [0] SS_RIM0_01:00:00 =&amp;gt; Заявка 15354886 по цене&lt;br /&gt;133280 по бумаге RIM0 по объему 1 в 07.06.2010 19:21:08,&lt;br /&gt;состояние=Cancelled, статус=Done&lt;br /&gt;07.06.2010 19:21:10 [0] SS_RIM0_01:00:00 =&amp;gt; Заявка 15354886 по цене&lt;br /&gt;133280 по бумаге RIM0 по объему 1 в 07.06.2010 19:21:08,&lt;br /&gt;состояние=Cancelled, статус=Done&lt;br /&gt;07.06.2010 19:21:10 [0] SS_RIM0_01:00:00 =&amp;gt; Заявка 15355011 по цене&lt;br /&gt;133265 по бумаге RIM0 по объему 1 в 07.06.2010 19:21:12,&lt;br /&gt;состояние=Active, статус=Done&lt;br /&gt;07.06.2010 19:21:10 [0] SS_RIM0_01:00:00 =&amp;gt; Отмена заявки 15354886,&lt;br /&gt;Position=Buy&lt;br /&gt;07.06.2010 19:21:10 [0] MQS_RIM0 =&amp;gt; Перекотирование прошло успешно для&lt;br /&gt;заявки Sell под номером 15355011 с ценой 133265 объемом 1 ID&lt;br /&gt;транзакции 69670380.&lt;br /&gt;07.06.2010 19:21:10 [0] SS_RIM0_01:00:00 =&amp;gt; Quiting Заявка 15355011 по&lt;br /&gt;цене 133265 по бумаге RIM0 по объему 1 в 07.06.2010 19:21:12,&lt;br /&gt;состояние=Active, статус=Done&lt;br /&gt;07.06.2010 19:21:11 [0] MQS_RIM0 =&amp;gt; Цена текущей 133265 и лучшей&lt;br /&gt;133265.&lt;br /&gt;07.06.2010 19:21:13 [0] MQS_RIM0 =&amp;gt; Цена текущей 133265 и лучшей&lt;br /&gt;133265.&lt;br /&gt;07.06.2010 19:21:14 [0] MQS_RIM0 =&amp;gt; Цена текущей 133265 и лучшей&lt;br /&gt;133375.&lt;br /&gt;07.06.2010 19:21:14 [0] MQS_RIM0 =&amp;gt; Котирование заявки Sell под&lt;br /&gt;номером 15355011 с ценой 133265 объемом 1 ID транзакции 69670380.&lt;br /&gt;07.06.2010 19:21:14 [0] SS_RIM0_01:00:00 =&amp;gt; Transaction:&lt;br /&gt;ACTION=MOVE_ORDERS; TRANS_ID=69674197; CLASSCODE=SPBFUT; SECCODE=RIM0;&lt;br /&gt;MODE=0; FIRST_ORDER_NUMBER=15355011; FIRST_ORDER_NEW_PRICE=133375;&lt;br /&gt;FIRST_ORDER_NEW_QUANTITY=1;&lt;br /&gt;07.06.2010 19:21:14 [0] MQS_RIM0 =&amp;gt; System.ArgumentException:&lt;br /&gt;Транзакции &amp;#39;ACTION=MOVE_ORDERS; TRANS_ID=69674197; CLASSCODE=SPBFUT;&lt;br /&gt;SECCODE=RIM0; MODE=0; FIRST_ORDER_NUMBER=15355011;&lt;br /&gt;FIRST_ORDER_NEW_PRICE=133375; FIRST_ORDER_NEW_QUANTITY=1;&amp;#39; не была&lt;br /&gt;зарегистрирована. Причина &amp;#39;[FORTS] Не найдена заявка для&lt;br /&gt;перестановки.. New Order1 ID: 0, new Order2 ID: 0&amp;#39;.&lt;br /&gt;Имя параметра: transactionTxt&lt;br /&gt;   в  . (String  , OrderStatus&amp;amp;  , UInt32&amp;amp;  , Double&amp;amp;  , String&amp;amp;  )&lt;br /&gt;   в Ecng.Trading.Quik.QuikTrader. (Order  , TransactionBuilder  ,&lt;br /&gt;Boolean  , Boolean  )&lt;br /&gt;   в Ecng.Trading.Quik.QuikTrader.ReRegisterOrder(Order oldOrder,&lt;br /&gt;Order newOrder)&lt;br /&gt;   в Ecng.Trading.BusinessEntities.BaseTrader.ReRegisterOrder(Order&lt;br /&gt;oldOrder, Double price, Int32 volume)&lt;br /&gt;   в Ecng.Trading.Algo.TraderHelper.ReRegisterOrder(ITrader trader,&lt;br /&gt;Order oldOrder, Func`1 getNewPrice, Boolean isForts)&lt;br /&gt;   в Ecng.Trading.Algo.QuotingStrategy.OnProcess()&lt;br /&gt;   в Ecng.Trading.Algo.Strategy. ()&lt;br /&gt;07.06.2010 19:21:14 [0] SS_RIM0_01:00:00 =&amp;gt; Сделка 533951 по цене&lt;br /&gt;133265 по бумаге RIM0 по объему 1 в 07.06.2010 19:21:14&lt;br /&gt;07.06.2010 19:21:14 [0] MQS_RIM0 =&amp;gt; MQS_RIM0 останавливается.&lt;br /&gt;07.06.2010 19:21:15 [0] MQS_RIM0 =&amp;gt; Котирование заканчивается на&lt;br /&gt;заявке 15355011.&lt;br /&gt;07.06.2010 19:21:15 [0] MQS_RIM0 =&amp;gt; MQS_RIM0 остановлена.&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/2953/</id>
    <title type="text">Т.е. руками писать, как я это делаю из метода Log: не нужно? у меня просто нигде больше нет записи в...</title>
    <published>2010-06-07T17:54:00Z</published>
    <updated>2010-06-07T17:54:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Т.е. руками писать, как я это делаю из метода Log:&lt;br /&gt;&lt;br /&gt;не нужно?&lt;br /&gt;у меня просто нигде больше нет записи в файл.&lt;br /&gt;&lt;br /&gt;P.S. Посмотрел без вызова этого метода - обработчик события&lt;br /&gt;вызывается, сообщение приходит, но в файл ничего не пишется.&lt;br /&gt;&lt;br /&gt;Можно небольшой наглядный пример что нужно сделать для записи в лог&lt;br /&gt;файл, как из обработчика события Log записывать сообщение в файл?&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/2952/</id>
    <title type="text">StrategyLogger слушает событие Log и пишет в файл. У Вас есть параллельный код, который так же пишет...</title>
    <published>2010-06-07T16:50:00Z</published>
    <updated>2010-06-07T16:50:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">StrategyLogger слушает событие Log и пишет в файл. У Вас есть&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.ru/posts/m/2951/</id>
    <title type="text">Тогда немного не понимаю как должно быть устроено. Есть методы: private void OnLog(Strategy strategy...</title>
    <published>2010-06-07T15:57:00Z</published>
    <updated>2010-06-07T15:57:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Тогда немного не понимаю как должно быть устроено.&lt;br /&gt;&lt;br /&gt;Есть методы:&lt;br /&gt;        private void OnLog(Strategy strategy, StrategyErrorStates&lt;br /&gt;errorState, string message)&lt;br /&gt;        {&lt;br /&gt;            // если стратегия вывела не просто сообщение, то вывести&lt;br /&gt;на экран.&lt;br /&gt;            if (errorState != StrategyErrorStates.None)&lt;br /&gt;                this.GuiAsync(() =&amp;gt; MessageBox.Show(message));&lt;br /&gt;&lt;br /&gt;           Log(&amp;quot; [&amp;quot; + strategy.Id + &amp;quot;] &amp;quot; + errorState + &amp;quot; =&amp;gt; &amp;quot; +&lt;br /&gt;message);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       public void Log(string message)&lt;br /&gt;        {&lt;br /&gt;            using (StreamWriter sw = File.AppendText(logger.FileName))&lt;br /&gt;            {&lt;br /&gt;                sw.WriteLine(DateTime.Now.ToString(&amp;quot;o&amp;quot;) + &amp;quot; &amp;quot; +&lt;br /&gt;message);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Есть инициализация&lt;br /&gt;private StrategyLogger logger;&lt;br /&gt;и подписка:&lt;br /&gt;logger = new StrategyLogger(&amp;quot;{0}_{1:00}_{2:00}&lt;br /&gt;_strong_days.txt&amp;quot;.Put(DateTime.Now.Year, DateTime.Now.Month,&lt;br /&gt;DateTime.Now.Day));&lt;br /&gt;logger.Strategies.Add(_strategy);&lt;br /&gt;&lt;br /&gt;Из стратегии вызывается AddLog, к примеру:&lt;br /&gt;AddLog(StrategyErrorStates.None, &amp;quot;Останавливаем стратегию...&amp;quot;, new&lt;br /&gt;object());&lt;br /&gt;&lt;br /&gt;Исключение выкидывается тут:&lt;br /&gt;            using (StreamWriter sw = File.AppendText(logger.FileName))&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/2950/</id>
    <title type="text">А где тут ошибка в StrategyLogger? Судя по логу ошибки, его вообще нет в цепочке вызовов. </title>
    <published>2010-06-07T15:43:00Z</published>
    <updated>2010-06-07T15:43:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">А где тут ошибка в StrategyLogger? Судя по логу ошибки, его вообще нет&lt;br /&gt;в цепочке вызовов.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/2949/</id>
    <title type="text">System.IO.IOException was unhandled Message=The process cannot access the file &amp;apos;C:\Users\Alexander \...</title>
    <published>2010-06-07T14:27:00Z</published>
    <updated>2010-06-07T14:27:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">System.IO.IOException was unhandled&lt;br /&gt;  Message=The process cannot access the file &amp;#39;C:\Users\Alexander&lt;br /&gt;\Documents\Visual Studio 2010\Projects\Robots\Robots\bin\Debug&lt;br /&gt;\2010_06_07_strong_days.txt&amp;#39; because it is being used by another&lt;br /&gt;process.&lt;br /&gt;  Source=mscorlib&lt;br /&gt;  StackTrace:&lt;br /&gt;       at System.IO.__Error.WinIOError(Int32 errorCode, String&lt;br /&gt;maybeFullPath)&lt;br /&gt;       at System.IO.FileStream.Init(String path, FileMode mode,&lt;br /&gt;FileAccess access, Int32 rights, Boolean useRights, FileShare share,&lt;br /&gt;Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs,&lt;br /&gt;String msgPath, Boolean bFromProxy, Boolean useLongPath)&lt;br /&gt;       at System.IO.FileStream..ctor(String path, FileMode mode,&lt;br /&gt;FileAccess access, FileShare share, Int32 bufferSize, FileOptions&lt;br /&gt;options)&lt;br /&gt;       at System.IO.StreamWriter.CreateFile(String path, Boolean&lt;br /&gt;append)&lt;br /&gt;       at System.IO.StreamWriter..ctor(String path, Boolean append,&lt;br /&gt;Encoding encoding, Int32 bufferSize)&lt;br /&gt;       at System.IO.StreamWriter..ctor(String path, Boolean append)&lt;br /&gt;       at System.IO.File.AppendText(String path)&lt;br /&gt;       at Robots.MainWindow.Log(String message) in C:\Users\Alexander&lt;br /&gt;\Documents\Visual Studio 2010\Projects\Robots\Robots&lt;br /&gt;\MainWindow.xaml.cs:line 334&lt;br /&gt;       at Robots.MainWindow.OnLog(Strategy strategy,&lt;br /&gt;StrategyErrorStates errorState, String message) in C:\Users\Alexander&lt;br /&gt;\Documents\Visual Studio 2010\Projects\Robots\Robots&lt;br /&gt;\MainWindow.xaml.cs:line 328&lt;br /&gt;       at System.Action`3.Invoke(T1 arg1, T2 arg2, T3 arg3)&lt;br /&gt;       at Ecng.Common.DelegateHelper.SafeInvoke[T1,T2,T3](Action`3&lt;br /&gt;handler, T1 arg1, T2 arg2, T3 arg3)&lt;br /&gt;       at Ecng.Trading.Algo.Strategy.AddLog(StrategyErrorStates&lt;br /&gt;errorState, String message, Object[] args)&lt;br /&gt;       at Robots.StrongDaysStrategy.OnRunning() in C:\Users\Alexander&lt;br /&gt;\Documents\Visual Studio 2010\Projects\Robots\Robots&lt;br /&gt;\StrongDaysStrategy.cs:line 48&lt;br /&gt;       at Ecng.Trading.Algo.Strategy. (StrategyProcessStates  )&lt;br /&gt;       at Ecng.Trading.Algo.Strategy.Start()&lt;br /&gt;       at&lt;br /&gt;Robots.MainWindow.&amp;lt;&amp;gt;c__DisplayClass14.&amp;lt;&amp;gt;c__DisplayClass1c.&amp;lt;ConnectBtn_Clic&amp;gt;b__b()&lt;br /&gt;in C:\Users\Alexander\Documents\Visual Studio 2010\Projects\Robots&lt;br /&gt;\Robots\MainWindow.xaml.cs:line 209&lt;br /&gt;       at&lt;br /&gt;System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate&lt;br /&gt;callback, Object args, Int32 numArgs)&lt;br /&gt;       at&lt;br /&gt;MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object&lt;br /&gt;source, Delegate method, Object args, Int32 numArgs, Delegate&lt;br /&gt;catchHandler)&lt;br /&gt;       at System.Windows.Threading.DispatcherOperation.InvokeImpl()&lt;br /&gt;       at&lt;br /&gt;System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object&lt;br /&gt;state)&lt;br /&gt;       at System.Threading.ExecutionContext.runTryCode(Object&lt;br /&gt;userData)&lt;br /&gt;       at&lt;br /&gt;System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedClanup(TryCode&lt;br /&gt;code, CleanupCode backoutCode, Object userData)&lt;br /&gt;       at&lt;br /&gt;System.Threading.ExecutionContext.RunInternal(ExecutionContext&lt;br /&gt;executionContext, ContextCallback callback, Object state)&lt;br /&gt;       at System.Threading.ExecutionContext.Run(ExecutionContext&lt;br /&gt;executionContext, ContextCallback callback, Object state, Boolean&lt;br /&gt;ignoreSyncCtx)&lt;br /&gt;       at System.Threading.ExecutionContext.Run(ExecutionContext&lt;br /&gt;executionContext, ContextCallback callback, Object state)&lt;br /&gt;       at System.Windows.Threading.DispatcherOperation.Invoke()&lt;br /&gt;       at System.Windows.Threading.Dispatcher.ProcessQueue()&lt;br /&gt;       at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd,&lt;br /&gt;Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)&lt;br /&gt;       at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr&lt;br /&gt;wParam, IntPtr lParam, Boolean&amp;amp; handled)&lt;br /&gt;       at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)&lt;br /&gt;       at&lt;br /&gt;System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate&lt;br /&gt;callback, Object args, Int32 numArgs)&lt;br /&gt;       at&lt;br /&gt;MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object&lt;br /&gt;source, Delegate method, Object args, Int32 numArgs, Delegate&lt;br /&gt;catchHandler)&lt;br /&gt;       at&lt;br /&gt;System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority&lt;br /&gt;priority, TimeSpan timeout, Delegate method, Object args, Int32&lt;br /&gt;numArgs)&lt;br /&gt;       at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32&lt;br /&gt;msg, IntPtr wParam, IntPtr lParam)&lt;br /&gt;       at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG&amp;amp; msg)&lt;br /&gt;       at&lt;br /&gt;System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame&lt;br /&gt;frame)&lt;br /&gt;       at&lt;br /&gt;System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)&lt;br /&gt;       at System.Windows.Threading.Dispatcher.Run()&lt;br /&gt;       at System.Windows.Application.RunDispatcher(Object ignore)&lt;br /&gt;       at System.Windows.Application.RunInternal(Window window)&lt;br /&gt;       at System.Windows.Application.Run(Window window)&lt;br /&gt;       at System.Windows.Application.Run()&lt;br /&gt;       at Robots.App.Main() in C:\Users\Alexander\Documents\Visual&lt;br /&gt;Studio 2010\Projects\Robots\Robots\obj\x86\Debug\App.g.cs:line 0&lt;br /&gt;       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,&lt;br /&gt;String[] args)&lt;br /&gt;       at System.AppDomain.ExecuteAssembly(String assemblyFile,&lt;br /&gt;Evidence assemblySecurity, String[] args)&lt;br /&gt;       at&lt;br /&gt;Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;       at System.Threading.ThreadHelper.ThreadStart_Context(Object&lt;br /&gt;state)&lt;br /&gt;       at System.Threading.ExecutionContext.Run(ExecutionContext&lt;br /&gt;executionContext, ContextCallback callback, Object state, Boolean&lt;br /&gt;ignoreSyncCtx)&lt;br /&gt;       at System.Threading.ExecutionContext.Run(ExecutionContext&lt;br /&gt;executionContext, ContextCallback callback, Object state)&lt;br /&gt;       at System.Threading.ThreadHelper.ThreadStart()&lt;br /&gt;  InnerException:&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/2948/</id>
    <title type="text">Да нет никаких принципиальных соображений. Просто не сделал. </title>
    <published>2010-06-07T13:32:00Z</published>
    <updated>2010-06-07T13:32:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Да нет никаких принципиальных соображений. Просто не сделал.&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/2947/</id>
    <title type="text">А текст исключения? </title>
    <published>2010-06-07T13:32:00Z</published>
    <updated>2010-06-07T13:32:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">А текст исключения?&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/2946/</id>
    <title type="text">А может в версии 2.0.2 расшарить эти переменные? Или они приватные из принципиальных соображений? </title>
    <published>2010-06-07T09:42:00Z</published>
    <updated>2010-06-07T09:42:00Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">А может в версии 2.0.2 расшарить эти переменные? Или они приватные из&lt;br /&gt;принципиальных соображений?&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/2945/</id>
    <title type="text">Не получается вывести сообщение в лог - добавляю в StrategyLogger стратегию, создаю обработчик событ...</title>
    <published>2010-06-07T01:52:00Z</published>
    <updated>2010-06-07T01:52:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Не получается вывести сообщение в лог - добавляю в StrategyLogger&lt;br /&gt;стратегию, создаю обработчик события Log, с помощью OnLog вывожу&lt;br /&gt;сообщения из стратегии.&lt;br /&gt;Но при попытки записать в файл внутри OnLog возникает ошибка,&lt;br /&gt;связанная с тем, что к этому файлу уже кто-то имеет доступ из другого&lt;br /&gt;потока (я никак к нему не обращаюсь):&lt;br /&gt;&lt;br /&gt;       private void OnLog(Strategy strategy, StrategyErrorStates&lt;br /&gt;errorState, string message)&lt;br /&gt;        {&lt;br /&gt;            if (errorState != StrategyErrorStates.None)&lt;br /&gt;                this.GuiAsync(() =&amp;gt; MessageBox.Show(message));&lt;br /&gt;&lt;br /&gt;           Log(&amp;quot; [&amp;quot; + strategy.Id + &amp;quot;] &amp;quot; + errorState + &amp;quot; =&amp;gt; &amp;quot; +&lt;br /&gt;message);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       public void Log(string message)&lt;br /&gt;        {&lt;br /&gt;            using (StreamWriter sw = File.AppendText(logger.FileName))&lt;br /&gt;            {&lt;br /&gt;                sw.WriteLine(DateTime.Now.ToString(&amp;quot;o&amp;quot;) + &amp;quot; &amp;quot; +&lt;br /&gt;message);&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.ru/posts/m/2944/</id>
    <title type="text">Да, не сделал... Как вариант, через reflection. </title>
    <published>2010-06-06T17:49:00Z</published>
    <updated>2010-06-06T17:49:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Да, не сделал... Как вариант, через reflection.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>