Время, выводимое в текстовый лог не соответствует ни LiggingHelper.Now, ни DateTime.Now. Более того: LiggingHelper.Now наследует от DateTime.Now его неточность и поэтому обычно выдаёт кучу одинаковых значений в некотором промежутке времени. Когда я ввожу в расчёт времени Stopwatch, точность получается практически такая же, как в текстовом логе, но значения несколько отличаются. Видимо из-за того, что мы берём разную начальную точку. Потому что после коррекции отступа времени это значение несколько ближе к LiggingHelper.Now, чем к DateTime.Now. Поэтому, вопрос:
Откуда берётся значение времени в текстовом логе?
评论 (9)
登录 或 创建账户, 登录或注册以发表评论
Похоже, разобрался. В текстовом логе CurrentTime и это всё-таки LiggingHelper.Now. Это у меня WPF лаги давал. В связи с этим перегрузил у себя CurrentTime с использованием Stopwatch.
В логах используется LoggingHelper.Now, если есть какие-то заморочки, то давайте примеры с кодом и результатом, будем смотреть что и как.
Здесь я писал про время в логе. http://www.stocksharp.com/forum/3324/Raznoie-vriemia/
При тестировании стратегий время в логе начинается с 5:05. Так происходит только при тестировании стратегий, при любых других действиях с записью в лог, в логе пишется текущее время компьютера. Проблема в разнице с Москвой в 5 часов, а как решить так и не разобрался. Помогите если в силах.
Пробовали указывать LoggingHelper.TimeZoneOffset?
В стратегии CurrentTime -> return StrategyHelper.GetMarketTime(this);
в конечном счёте вызов заканчивается на TraderHelper
Посмотрел еще раз, LoggingHelper.TimeZoneOffset все же здесь не поможет.
Локально оно определяется для всех источников логов, кроме эмулятора, т.к. когда используется эмулятор, то за одну локальную секунду может пройти исторический месяц, а время в логе должно соответствовать действию именно в истории.
Основная претензия в том что, при эмуляторе время в логе должно соответствовать действию именно в истории, а идет со смещением в 5 часов.
Посмотрел еще раз, LoggingHelper.TimeZoneOffset все же здесь не поможет.
LoggingHelper.TimeZoneOffset не помогает. Поменять часовой пояс для биржи или использовать тестовую биржу. Это вот так?
То я так и сделал, это помогло, чтоб сделки соответствовали истории и шли без смещения. А время в логе так и идет со смещением. А если не так, то подскажите как? Где-то что то недопонимаю.
И еще вопрос к разработчикам. Может время бирж изначально делать через UTC, как в приведенном выше примере, ни кто бы с переводом времени не маялся, наверное, даже и не замечал, что возможна такая проблема. И Регионам хорошо и Москва не в обиде. Хотя опять же могу где-то, что то недопонимать.