Некорректное время в Эмуляторе
Atom Ответить
28.09.2012


Скачал с Финама историю по Сберу, тестирую в Эмуляторе, версия последняя из Транка с КодеПлекса.
Эмулятор формирует 10-минутные свечи и передает в стратегию.
Суть проблемы: команда внутри стратегии this.CurrentTime.ToString("yyyy.MM.dd HH:mm:ss") выдает начало дня иногда нормально, а иногда на час раньше обычного. Не пойму, то ли данные битые, то ли косяк в коде

Цитата:
CurrentTime:2008.03.28 17:20:00, позиция = 0, H = 73,20000, L = 72,98000, _volume = 0
CurrentTime:2008.03.28 17:30:02, позиция = 0, H = 73,21000, L = 72,98000, _volume = 0
CurrentTime:2008.03.28 17:40:01, позиция = 0, H = 73,24000, L = 73,01000, _volume = 0
CurrentTime:2008.03.31 09:29:59, позиция = 0, H = 73,89000, L = 73,10000, _volume = 0
CurrentTime:2008.03.31 09:30:01, позиция = 0, H = 72,91000, L = 72,91000, _volume = 0
CurrentTime:2008.03.31 09:40:00, позиция = 0, H = 72,90000, L = 72,40000, _volume = 0
CurrentTime:2008.03.31 09:50:00, позиция = 0, H = 73,20000, L = 72,81000, _volume = 0
2008_03_31.RAR 107,3KB (0)



Спасибо:




15 Ответов
Alexander

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


Вначале стоит проверить данные.
Спасибо:

Кот Матроскин

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


Alexander Mukhanchikov Перейти
Вначале стоит проверить данные.

Это я понимаю. Но как?
2008_03_31.RAR 107,3KB (0)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.09.2012
Ответить


Кот Матроскин Перейти
Alexander Mukhanchikov Перейти
Вначале стоит проверить данные.

Это я понимаю. Но как?


Прогоните с теми данными, что у нас приложены к исходникам. Они по RIU9.
Спасибо:

Кот Матроскин

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


Mikhail Sukhov Перейти
Прогоните с теми данными, что у нас приложены к исходникам. Они по RIU9.

Попробую, но только там период другой.
Посмотрел старые свои логи (4.0.23), так там эти же дни все нормально. Историю с тех пор новую не закачивал
Автор топика
Спасибо:

Кот Матроскин

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


Mikhail Sukhov Перейти
Прогоните с теми данными, что у нас приложены к исходникам. Они по RIU9.

Прогнал с приложенными исходниками:
Цитата:
CurrentTime:2009.08.17 22:10:06, позиция = 0, H = 98040, L = 97830, _volume = 0
CurrentTime:2009.08.17 22:20:12, позиция = 0, H = 98015, L = 97710, _volume = 0
CurrentTime:2009.08.17 22:30:01, позиция = 0, H = 97885, L = 97255, _volume = 0
CurrentTime:2009.08.17 22:40:01, позиция = 0, H = 97610, L = 97330, _volume = 0
CurrentTime:2009.08.18 09:30:00, позиция = 0, H = 97565, L = 97300, _volume = 0
CurrentTime:2009.08.18 09:40:00, позиция = 0, H = 100180, L = 97395, _volume = 0
CurrentTime:2009.08.18 09:50:00, позиция = 0, H = 100075, L = 99875, _volume = 0
CurrentTime:2009.08.18 10:00:00, позиция = 0, H = 100415, L = 99970, _volume = 0
CurrentTime:2009.08.18 10:10:00, позиция = 0, H = 100700, L = 100300, _volume = 0

Проблема очевидна. Непонятно только почему эта проблема то появляется, то исчезает...
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.09.2012
Ответить


Кот Матроскин Перейти
Проблема очевидна. Непонятно только почему эта проблема то появляется, то исчезает...


Окей, раз на наших данных так же, теперь к основному вопросу. А в чем заключается проблема?
Спасибо:

Кот Матроскин

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


Mikhail Sukhov Перейти
Кот Матроскин Перейти
Проблема очевидна. Непонятно только почему эта проблема то появляется, то исчезает...


Окей, раз на наших данных так же, теперь к основному вопросу. А в чем заключается проблема?


Писал выше:
Суть проблемы: команда внутри стратегии this.CurrentTime.ToString("yyyy.MM.dd HH:mm:ss") выдает начало дня иногда нормально, а иногда на час раньше обычного
В общем, сдвигает время...
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.09.2012
Ответить


Кот Матроскин Перейти

Суть проблемы: команда внутри стратегии this.CurrentTime.ToString("yyyy.MM.dd HH:mm:ss") выдает начало дня иногда нормально, а иногда на час раньше обычного
В общем, сдвигает время...


А как вы проверяется, что внутри дня что-то сдвигается? Что является эталоном для сравнения?
Спасибо:

transdex

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


Кот Матроскин Перейти

Суть проблемы: команда внутри стратегии this.CurrentTime.ToString("yyyy.MM.dd HH:mm:ss") выдает начало дня иногда нормально, а иногда на час раньше обычного. Не пойму, то ли данные битые, то ли косяк в коде


Информация к размышлению:

1.В первом случае у Вас сдвинуто начало сессии за 31.03.2008, но конец предыдущей 28.03.2008 на месте.
2. 30.03.2008 осуществлен переход на летнее время.
3. Там где данные за август 2009 года, сдвинуты не только начало утренней сессии, но и конец предыдущей вечерней.





Спасибо:

Кот Матроскин

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


transdex Перейти
Информация к размышлению:
1.В первом случае у Вас сдвинуто начало сессии за 31.03.2008, но конец предыдущей 28.03.2008 на месте.
2. 30.03.2008 осуществлен переход на летнее время.
3. Там где данные за август 2009 года, сдвинуты не только начало утренней сессии, но и конец предыдущей вечерней.

Очень может быть. Но это уже вопрос к разработчикам. Я беру просто беру скачанные данные и тестирую.

Mikhail Sukhov Перейти
А как вы проверяется, что внутри дня что-то сдвигается? Что является эталоном для сравнения?

Ставлю правило на закрытие позиции за 10 мин до окончания сессии (18-35). Но данные заканчиваются в 17-45 (на час раньше). Приходящие свечи сдвинуты на 1 час назад (т.е. время в них более раннее, чем должно быть)
Эталон для сравнения - время работы биржи ММВБ за указанный период и история с Финама
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.09.2012
Ответить


Кот Матроскин Перейти
Эталон для сравнения - время работы биржи ММВБ за указанный период и история с Финама


Вы можете код привести, показывающий это сравнение. На словах я не понял ни что вы сравниваете, ни с чем вы сравниваете, ни есть ли вообще ошибка.
Спасибо:

transdex

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


Кот Матроскин Перейти

Ставлю правило на закрытие позиции за 10 мин до окончания сессии (18-35).


Это Вы зря. Сессия не всегда заканчивалась в 18-45.

Для примера:

Цитата:
В марте 2007 года торги на российских биржах были сокращены на час: на РТС — до 18.00, на ММВБ — до 17.45. Однако во время кризиса в прошлом году ФСФР продлила торги на ММВБ до 18.45.


http://www.ugrafinance.r.../press_detail.php?ID=365
Спасибо:

Кот Матроскин

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


transdex Перейти
Это Вы зря. Сессия не всегда заканчивалась в 18-45.

До 30 сентября 2008 было до 17-45, а потом до 18-45. Кроме того, закрывалось иногда и раньше, но это разовые случаи - это все учитывалось
Автор топика
Спасибо:

Кот Матроскин

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


Mikhail Sukhov Перейти
Вы можете код привести, показывающий это сравнение. На словах я не понял ни что вы сравниваете, ни с чем вы сравниваете, ни есть ли вообще ошибка.

В protected override void OnStarted() подписываюсь на _series.WhenCandlesFinished()
В private void OnCandlesFinished(Candle candle) стоит
_logger.Write("CurrentTime:" + this.CurrentTime.ToString("yyyy.MM.dd HH:mm:ss"........
А уже тут мне прилетает
Цитата:
CurrentTime:2009.08.17 22:10:06, позиция = 0, H = 98040, L = 97830, _volume = 0
CurrentTime:2009.08.17 22:20:12, позиция = 0, H = 98015, L = 97710, _volume = 0
CurrentTime:2009.08.17 22:30:01, позиция = 0, H = 97885, L = 97255, _volume = 0
CurrentTime:2009.08.17 22:40:01, позиция = 0, H = 97610, L = 97330, _volume = 0
CurrentTime:2009.08.18 09:30:00, позиция = 0, H = 97565, L = 97300, _volume = 0
CurrentTime:2009.08.18 09:40:00, позиция = 0, H = 100180, L = 97395, _volume = 0
CurrentTime:2009.08.18 09:50:00, позиция = 0, H = 100075, L = 99875, _volume = 0
CurrentTime:2009.08.18 10:00:00, позиция = 0, H = 100415, L = 99970, _volume = 0
CurrentTime:2009.08.18 10:10:00, позиция = 0, H = 100700, L = 100300, _volume = 0

И это время иногда бывает сдвинуто на час... (в 9-30 торговля не начиналась никогда и в 22-50 никогда не заканчивалась)
Уже и не знаю, как понятней объяснить)))
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 30.09.2012
Ответить


Кот Матроскин Перейти
И это время иногда бывает сдвинуто на час... (в 9-30 торговля не начиналась никогда и в 22-50 никогда не заканчивалась)


Фикс в транке. Проверил, вроде не появляется на истории этого времени.
Спасибо: Кот Матроскин


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

loading
clippy