﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Логирование в 4.2.2.6</title>
  <id>~/topic/4348/logirovanie-v-4_2_2_6/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-25T06:56:12Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4348" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/29744/</id>
    <title type="text">Добрый вечер! Похоже вы торгуете акции в нерабочее время биржи. Демо-Квик работает по своему расписа...</title>
    <published>2014-02-21T17:25:24Z</published>
    <updated>2014-02-26T12:32:48Z</updated>
    <author>
      <name>romany4</name>
      <uri>https://stocksharp.com/users/50252/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый вечер!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Похоже вы торгуете акции в нерабочее время биржи. Демо-Квик работает по своему расписанию) Отсюда похоже и ошибки.
Да. Эмулятор тестирую по вечерам. Демо-квик сейчас не использую. Все данные (свечи, инструменты) беру из бд вот так&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
new Security()
                    {
                        Id = security.Code + &amp;quot;@&amp;quot; + security.ExchangeBoardT.Code,
                        Code = security.Code,
                        Name = security.Name,
                        Decimals = security.Decimals,
                        Class = security.Class,
                        LastChangeTime = DateTime.Now,
                        MinLotSize = security.MinLotSize,
                        MinPrice = security.MinPrice,
                        MinStepPrice = security.MinStepPrice,
                        MinStepSize = security.MinStepSize,
                        Currency = (CurrencyTypes)security.IdsCurrencyTypes,
                        ExtensionInfo = new Dictionary&amp;lt;object, object&amp;gt; { { &amp;quot;DBIds&amp;quot;, security.Id } },
                        //ExchangeBoard = new ExchangeBoard()
                        //{
                        //    Code = security.ExchangeBoardT.Code,
                        //    Exchange = new Exchange()
                        //    {
                        //        Name = security.ExchangeBoardT.ExchangeT.Code,
                        //        EngName = security.ExchangeBoardT.ExchangeT.EngName,
                        //        RusName = security.ExchangeBoardT.ExchangeT.RusName,
                        //        TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(&amp;quot;Russian Standard Time&amp;quot;)
                        //    },
                        //    ExpiryTime = new TimeSpan(),
                        //    IsSupportAtomicReRegister = security.ExchangeBoardT.IsSupportAtomicReRegister,
                        //    IsSupportMarketOrders = security.ExchangeBoardT.IsSupportMarketOrders,
                        //    WorkingTime = new WorkingTime()
                        //},
                        ExchangeBoard = ExchangeBoard.MicexJunior
                    };

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;На данный момент решил пока использовать ExchangeBoard.MicexJunior.
Свечи так&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
new TimeFrameCandle()
                            {
                                OpenPrice = candle.Open,
                                HighPrice = candle.High,
                                LowPrice = candle.Low,
                                ClosePrice = candle.Close,
                                TimeFrame = timeFrameCandle,
                                OpenTime = time,
                                CloseTime = time + timeFrameCandle,
                                TotalVolume = candle.Volume,
                                Security = security,
                                State = CandleStates.Finished
                            };

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Данные из бд корректны (основываюсь на том что &lt;strong&gt;в предыдущих версиях проблем не было&lt;/strong&gt; и график худо-бедно строился)&lt;/p&gt;
&lt;p&gt;Если принять, что проблема во времени выполнения, когда биржа закрыта, то предположу, что текущее время берется из системного, однако, перевод часов в нужный период не дал результата) или я что-то не так делаю?)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29692/</id>
    <title type="text">Добрый день! Похоже вы торгуете акции в нерабочее время биржи. Демо-Квик работает по своему расписан...</title>
    <published>2014-02-20T06:05:28Z</published>
    <updated>2014-02-20T06:05:28Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.com/users/26882/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день!
Похоже вы торгуете акции в нерабочее время биржи. Демо-Квик работает по своему расписанию) Отсюда похоже и ошибки.
Покажите ваши настройки времени работы робота.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29690/</id>
    <title type="text">В общем эту проблему обошел следующим путем - просто стал передавать только дату (при этом часы = 00...</title>
    <published>2014-02-19T18:57:08Z</published>
    <updated>2014-02-19T18:57:08Z</updated>
    <author>
      <name>romany4</name>
      <uri>https://stocksharp.com/users/50252/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В общем эту проблему обошел следующим путем - просто стал передавать только дату (при этом часы = 00). Т.е. раньше я передавал что-то типа этого в connector.Start(new DateTime(2013, 9, 1, 10, 0, 0), new DateTime(2014, 2, 1, 18, 0, 0) - теперь же просто
connector.Start(new DateTime(2013, 9, 1, 0, 0, 0), new DateTime(2014, 2, 1, 0, 0, 0). НО теперь в логе вот что&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
2013/09/02 00:00:00.000|       |HistoryEmulationConnector|Изменение состояния эмуляции Stopped -&amp;gt; Starting
2013/09/02 00:00:00.000|       |HistoryEmulationConnector|Создан новый портфель test account.
2013/09/02 00:00:00.000|       |HistoryEmulationConnector|Изменение состояния эмуляции Starting -&amp;gt; Started
2013/09/01 20:00:00.000|Debug  |SS_SBER@QJSIM_test account|Переход из состояния Stopped в Started.
2013/09/01 20:00:00.000|       |SS_SBER@QJSIM_test account|Стратегия запущена. [0,-1]. Позиция при старте 0.
2013/09/02 00:00:00.000|       |HistoryEmulationConnector|Инструмент SBER@QJSIM зарегистрирован на получение рыночных данных для MarketDepth.
2013/09/02 00:00:00.000|       |HistoryEmulationConnector|Инструмент SBER@QJSIM зарегистрирован на получение рыночных данных для Trades.
2014/02/19 22:38:40.342|       |HistoryMessageAdapter|Loading 02.09.2013 0:00:00 Events: 0
2014/02/19 22:38:40.631|       |HistoryMessageAdapter|Loading 03.09.2013 0:00:00 Events: 8640

...........

2014/02/19 22:39:11.106|       |HistoryMessageAdapter|Loading 25.02.2014 0:00:00 Events: 1520640
2014/02/19 22:39:11.211|       |HistoryMessageAdapter|Loading 26.02.2014 0:00:00 Events: 1529280
2014/02/26 23:59:59.999|       |HistoryEmulationConnector|Изменение состояния эмуляции Started -&amp;gt; Stopping
2014/02/26 23:59:59.999|Error  |HistoryEmulationConnector|System.InvalidOperationException: Подключение в состоянии Connected получило неожиданное сообщение типа 'DisconnectMessage'.
2014/02/26 23:59:59.999|       |HistoryEmulationConnector|Изменение состояния эмуляции Stopping -&amp;gt; Stopped


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Не могу понять принцип выставления времени. Кто-нибудь может объяснить? А также натолкнуть на мысль причины ошибки &amp;quot;Подключение в состоянии Connected получило неожиданное сообщение типа 'DisconnectMessage'.&amp;quot;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29689/</id>
    <title type="text">Появился новый вопрос) при попытке эмуляции (HistoryEmulationConnector) в лог получаю следующее сооб...</title>
    <published>2014-02-19T18:16:07Z</published>
    <updated>2014-02-19T18:16:07Z</updated>
    <author>
      <name>romany4</name>
      <uri>https://stocksharp.com/users/50252/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Появился новый вопрос)
при попытке эмуляции (HistoryEmulationConnector) в лог получаю следующее сообщение&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
2013/09/01 10:00:00.000|Error  |HistoryEmulationConnector|System.ArgumentOutOfRangeException: Текущее время должно быть в интервале от 09/01/2013 10:00:00 до 02/28/2014 18:00:00.
Parameter name: currentTime
   at StockSharp.Algo.Testing.HistorySessionHolder.UpdateCurrentTime(DateTime currentTime)
   at StockSharp.Algo.Testing.EmulationMessageAdapter.#=qLQaA57Ra4dqrkkYWb9B60NhvHtkRrXpLgVICuOEhvss=.#=qHTlfjg0Z5e8_hDvXk7IGli_zq2qdrN2Zdl$pKpAbVMw=(HistorySessionHolder #=qtdZDQUFGvWgNAVsZ$b61NQ==)
   at Ecng.Common.TypeHelper.DoIf[TSource,TDestination](TSource source, Action`1 handler)
   at StockSharp.Algo.Testing.EmulationMessageAdapter.OnSendInMessage(Message message)
   at StockSharp.Messages.MessageAdapter`1.OnInMessageProcessor(Message message, IMessageAdapter adapter)

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Если посмотреть через дебаг то conectior.currentTime - Date = {01.01.0001 0:00:00} и вся проблема во внутреннем методе UpdateCurrentTime, который при проверке бросает этот эксепшн.&lt;/p&gt;
&lt;p&gt;Кто-нибудь с таким сталкивался?&lt;/p&gt;
&lt;p&gt;зы в 4.2.1.7 - проблемы такой не было, эмулирование проходило нормально. свой код для этой версии библиотеки правил с учетом примера SampleHistoryTesting 4.2.2.6&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29688/</id>
    <title type="text">В общем, может кому пригодится - надо подключить библиотеку MoreLinq </title>
    <published>2014-02-19T18:05:20Z</published>
    <updated>2014-02-19T18:05:20Z</updated>
    <author>
      <name>romany4</name>
      <uri>https://stocksharp.com/users/50252/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В общем, может кому пригодится - надо подключить библиотеку MoreLinq&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29502/</id>
    <title type="text">При попытке инициализации логирования private readonly LogManager _logManager = new LogManager(); pu...</title>
    <published>2014-02-09T17:39:04Z</published>
    <updated>2014-02-09T17:39:04Z</updated>
    <author>
      <name>romany4</name>
      <uri>https://stocksharp.com/users/50252/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;При попытке инициализации логирования&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
 private readonly LogManager _logManager = new LogManager();
 public MainWindow()
 {
 InitializeComponent();
 _logManager.Listeners.Add(new FileLogListener(&amp;quot;log.txt&amp;quot;));
 }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;получаю эксепшн&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;System.MissingMethodException was unhandled
HResult=-2146233069
Message=Method not found: 'Void Ecng.Collections.CollectionHelper.ForEach(System.Collections.Generic.IEnumerable&lt;code&gt;1&amp;lt;!!0&amp;gt;, System.Action&lt;/code&gt;1&amp;lt;!!0&amp;gt;)'.
Source=StockSharp.Logging
StackTrace:
at StockSharp.Logging.LogManager.#=q$WytdlyXhA4Mns5S44OC$A==()
at Ecng.Common.ThreadingHelper.&amp;lt;&amp;gt;c__DisplayClass1.&amp;lt;Timer&amp;gt;b__0(Object s)
at System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
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()
at System.Threading.TimerQueue.AppDomainTimerCallback()
InnerException:&lt;/p&gt;
&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>