﻿<?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">Логгирование</title>
  <id>~/topic/1969/loggirovanie/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-25T16:18:03Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1969" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/11849/</id>
    <title type="text">Все понятно, спасибо! Буду ждать обновление....</title>
    <published>2011-10-03T08:32:56Z</published>
    <updated>2011-10-03T08:32:56Z</updated>
    <author>
      <name>Артем_2</name>
      <uri>https://stocksharp.ru/users/27723/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Все понятно, спасибо! Буду ждать обновление....</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11846/</id>
    <title type="text">Спасибо за ответы! 2. WriteMessage вызывается? - Нет не вызывается((( Наследуйтесь от LogListener, п...</title>
    <published>2011-10-03T08:27:44Z</published>
    <updated>2011-10-03T08:27:44Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Артем_2 &lt;a href="https://stocksharp.ru/posts/m/11845/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Спасибо за ответы!&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;2. WriteMessage вызывается?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;- Нет не вызывается(((&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Наследуйтесь от LogListener, переопределяйте OnWriteMessage.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11845/</id>
    <title type="text">Спасибо за ответы! 2. WriteMessage вызывается? - Нет не вызывается(((</title>
    <published>2011-10-03T08:25:05Z</published>
    <updated>2011-10-03T08:25:05Z</updated>
    <author>
      <name>Артем_2</name>
      <uri>https://stocksharp.ru/users/27723/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Спасибо за ответы!&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;2. WriteMessage вызывается?&lt;br /&gt;&lt;/div&gt;&lt;/div&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/11843/</id>
    <title type="text">Извиняюсь)</title>
    <published>2011-10-03T08:23:51Z</published>
    <updated>2011-10-03T08:23:51Z</updated>
    <author>
      <name>frontman</name>
      <uri>https://stocksharp.ru/users/28487/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Извиняюсь)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11840/</id>
    <title type="text">Добрый день! После перехода на S#4.0 столкнулся со следующими проблемами логгирования: 1. Есть неско...</title>
    <published>2011-10-03T08:12:51Z</published>
    <updated>2011-10-03T08:12:51Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Артем_2 &lt;a href="https://stocksharp.ru/posts/m/11833/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Добрый день!&lt;br /&gt;После перехода на S#4.0 столкнулся со следующими проблемами логгирования:&lt;br /&gt;&lt;br /&gt;1. Есть несколько независимых(не находятся в ChildStrategies друг друга) стратегии, которые работают через один и тот же QuikTrader, у них одинаковые Security и Portfolio.&lt;br /&gt;&lt;br /&gt;Для прослушивания каждой из стратегий подключаю обработку события Log:&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;
Strategy.Log += new Action&amp;lt;StockSharp.Algo.Logging.LogMessage&amp;gt;(Strategy_Log)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Проблема в том, что событие обработки заявок (см. пример) срабатывает для каждой из этих стратегий, а не только для той стратегии, в которой происходила эта обработка. Такое ощущение, что Log срабатывает не для стратегии, а для ITrader:&lt;br /&gt;&lt;br /&gt;Например:  &lt;br /&gt;OQS, OSS, OWS - Это 3 независимые стратегии. В OQS запускается котирование, создается заявка и у всех 3-х стратегий срабатывает следующее событие: &lt;br /&gt;&lt;br /&gt;[MarketTime &amp;lt;10:45:51.076&amp;gt;]:[OQS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;[MarketTime &amp;lt;10:45:51.233&amp;gt;]:[OSS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;[MarketTime &amp;lt;10:45:51.234&amp;gt;]:[OWS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;&lt;br /&gt;2. Попытался реализовать свой ILogListener&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;

    public class MessageBoardLogListener : ILogListener
    {
        public void WriteMessage(LogMessage message)
        {
            string msg = string.Format(&amp;quot;[{0}] {1}&amp;quot;, message.Source.Name, message.Message);
            Info.Inform(msg, message.Type.ConvertStrategyErrorState());
        }
    }

   Потом в другом классе подключаю созданный MessageBoardLogListener к LogManager
        
    class SomeClass
    {
        Strategy _Strategy;

        //создаю  _LogManager 
        public SomeClass()
        {
          this._LogManager = new LogManager();
          this._LogManager.Listeners.Add(new MessageBoardLogListener());
          this._LogManager.Sources.Add(this._Strategy);
        }

    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;   После этого, как я понимаю, при возникновении события _Strategy.Log оно должно обрабатываться в     MessageBoardLogListener.WriteMessage, однако этого не происходит. Подскажите, пожалуйста, что я делаю не так? &lt;br /&gt;&lt;br /&gt;3. При запуске стратегии (вызов Start()) в событие Log начинает выводиться ВСЯ ИСТОРИЯ обработки заявок. Т.е. выводятся сообщения типа:&lt;br /&gt;[MarketTime &amp;lt;10:45:51.234&amp;gt;]:[OWS] Обработка Limit заявки 38623862 на Sell с номером 935182789 &lt;br /&gt;для всех заявок, которые уже отработали в прошлом.&lt;br /&gt; - Это вызывает огромные неудобства, т.к. при активном использовании котирования запуск стратегии начинает занимать несколько минут из-за большого списка заявок.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1, 3. Эти сообщения - просто обработка заявок. Это относится ко всем стратегиям, т.к. заявки обрабатываются из ITrader и смотрится какие нужны, какие - нет. Сделаю подобное логирование по флагу, согласен что мешает.&lt;br /&gt;&lt;br /&gt;2. WriteMessage вызывается?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;to frontman: не все сидят на плазе...</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11836/</id>
    <title type="text">А насчет логирования. Не совсем понятно... Каждая стратегия принимает ВСЕ заявки поступившие в ITrad...</title>
    <published>2011-10-03T07:53:49Z</published>
    <updated>2011-10-03T07:53:49Z</updated>
    <author>
      <name>frontman</name>
      <uri>https://stocksharp.ru/users/28487/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">А насчет логирования. Не совсем понятно...&lt;br /&gt;Каждая стратегия принимает ВСЕ заявки поступившие в ITrader&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/11835/</id>
    <title type="text">Могу ответить на 3й пунк. Для того что бы не качать все заявки заново используй Revisions. В SampleG...</title>
    <published>2011-10-03T07:51:49Z</published>
    <updated>2011-10-03T07:51:49Z</updated>
    <author>
      <name>frontman</name>
      <uri>https://stocksharp.ru/users/28487/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Могу ответить на 3й пунк. &lt;br /&gt;Для того что бы не качать все заявки заново используй Revisions.&lt;br /&gt;В SampleGUI описано как это делать...&lt;br /&gt;Там реализованы методы LoadRevisions и SaveRevisions.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11833/</id>
    <title type="text">Добрый день! После перехода на S#4.0 столкнулся со следующими проблемами логгирования: 1. Есть неско...</title>
    <published>2011-10-03T07:38:45Z</published>
    <updated>2011-10-03T07:38:45Z</updated>
    <author>
      <name>Артем_2</name>
      <uri>https://stocksharp.ru/users/27723/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день!&lt;br /&gt;После перехода на S#4.0 столкнулся со следующими проблемами логгирования:&lt;br /&gt;&lt;br /&gt;1. Есть несколько независимых(не находятся в ChildStrategies друг друга) стратегии, которые работают через один и тот же QuikTrader, у них одинаковые Security и Portfolio.&lt;br /&gt;&lt;br /&gt;Для прослушивания каждой из стратегий подключаю обработку события Log:&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;
Strategy.Log += new Action&amp;lt;StockSharp.Algo.Logging.LogMessage&amp;gt;(Strategy_Log)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Проблема в том, что событие обработки заявок (см. пример) срабатывает для каждой из этих стратегий, а не только для той стратегии, в которой происходила эта обработка. Такое ощущение, что Log срабатывает не для стратегии, а для ITrader:&lt;br /&gt;&lt;br /&gt;Например:  &lt;br /&gt;OQS, OSS, OWS - Это 3 независимые стратегии. В OQS запускается котирование, создается заявка и у всех 3-х стратегий срабатывает следующее событие: &lt;br /&gt;&lt;br /&gt;[MarketTime &amp;lt;10:45:51.076&amp;gt;]:[OQS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;[MarketTime &amp;lt;10:45:51.233&amp;gt;]:[OSS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;[MarketTime &amp;lt;10:45:51.234&amp;gt;]:[OWS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;&lt;br /&gt;2. Попытался реализовать свой ILogListener&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;

    public class MessageBoardLogListener : ILogListener
    {
        public void WriteMessage(LogMessage message)
        {
            string msg = string.Format(&amp;quot;[{0}] {1}&amp;quot;, message.Source.Name, message.Message);
            Info.Inform(msg, message.Type.ConvertStrategyErrorState());
        }
    }

   Потом в другом классе подключаю созданный MessageBoardLogListener к LogManager
        
    class SomeClass
    {
        Strategy _Strategy;

        //создаю  _LogManager 
        public SomeClass()
        {
          this._LogManager = new LogManager();
          this._LogManager.Listeners.Add(new MessageBoardLogListener());
          this._LogManager.Sources.Add(this._Strategy);
        }

    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;   После этого, как я понимаю, при возникновении события _Strategy.Log оно должно обрабатываться в     MessageBoardLogListener.WriteMessage, однако этого не происходит. Подскажите, пожалуйста, что я делаю не так? &lt;br /&gt;&lt;br /&gt;3. При запуске стратегии (вызов Start()) в событие Log начинает выводиться ВСЯ ИСТОРИЯ обработки заявок. Т.е. выводятся сообщения типа:&lt;br /&gt;[MarketTime &amp;lt;10:45:51.234&amp;gt;]:[OWS] Обработка Limit заявки 38623862 на Sell с номером 935182789 &lt;br /&gt;для всех заявок, которые уже отработали в прошлом.&lt;br /&gt; - Это вызывает огромные неудобства, т.к. при активном использовании котирования запуск стратегии начинает занимать несколько минут из-за большого списка заявок.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>