Логирование в 4.2.2.6
Atom
09.02.2014
romany4


При попытке инициализации логирования
Код

 private readonly LogManager _logManager = new LogManager();
 public MainWindow()
 {
 InitializeComponent();
 _logManager.Listeners.Add(new FileLogListener("log.txt"));
 }

получаю эксепшн

Теги:


Спасибо:


romany4

Фотография
Дата: 19.02.2014
Ответить


В общем, может кому пригодится - надо подключить библиотеку MoreLinq
Спасибо:

romany4

Фотография
Дата: 19.02.2014
Ответить


Появился новый вопрос)
при попытке эмуляции (HistoryEmulationConnector) в лог получаю следующее сообщение
Код

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)

Если посмотреть через дебаг то conectior.currentTime - Date = {01.01.0001 0:00:00} и вся проблема во внутреннем методе UpdateCurrentTime, который при проверке бросает этот эксепшн.

Кто-нибудь с таким сталкивался?

зы в 4.2.1.7 - проблемы такой не было, эмулирование проходило нормально. свой код для этой версии библиотеки правил с учетом примера SampleHistoryTesting 4.2.2.6
Спасибо:

romany4

Фотография
Дата: 19.02.2014
Ответить


В общем эту проблему обошел следующим путем - просто стал передавать только дату (при этом часы = 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). НО теперь в логе вот что
Код

2013/09/02 00:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Stopped -> Starting
2013/09/02 00:00:00.000| |HistoryEmulationConnector|Создан новый портфель test account.
2013/09/02 00:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Starting -> 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 -> Stopping
2014/02/26 23:59:59.999|Error |HistoryEmulationConnector|System.InvalidOperationException: Подключение в состоянии Connected получило неожиданное сообщение типа 'DisconnectMessage'.
2014/02/26 23:59:59.999| |HistoryEmulationConnector|Изменение состояния эмуляции Stopping -> Stopped



Не могу понять принцип выставления времени. Кто-нибудь может объяснить? А также натолкнуть на мысль причины ошибки "Подключение в состоянии Connected получило неожиданное сообщение типа 'DisconnectMessage'."
Спасибо:

Bond

Фотография
Дата: 20.02.2014
Ответить


Добрый день!
Похоже вы торгуете акции в нерабочее время биржи. Демо-Квик работает по своему расписанию) Отсюда похоже и ошибки.
Покажите ваши настройки времени работы робота.
Спасибо:

romany4

Фотография
Дата: 21.02.2014
Ответить


Добрый вечер!
Цитата:
Похоже вы торгуете акции в нерабочее время биржи. Демо-Квик работает по своему расписанию) Отсюда похоже и ошибки.

Да. Эмулятор тестирую по вечерам. Демо-квик сейчас не использую. Все данные (свечи, инструменты) беру из бд вот так

На данный момент решил пока использовать ExchangeBoard.MicexJunior.
Свечи так

Данные из бд корректны (основываюсь на том что в предыдущих версиях проблем не было и график худо-бедно строился)

Если принять, что проблема во времени выполнения, когда биржа закрыта, то предположу, что текущее время берется из системного, однако, перевод часов в нужный период не дал результата) или я что-то не так делаю?)
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy