При наличии истории тестирование начинается с 00:00 указанной
начальной даты и я так понимаю до 23:59:59 конечной даты. Если истории
нет, то с первых баров имеющейся истории за указанной начальной
датой.
А если не секрет - зачем это нужно то?
В принципе идея с ловлей Time[0] в init() deinit() должна сработать нормально.
Суть в том, чтобы в коде эксперта узнать, за какой период его тестируют. Не человеку (мне) знать, а самому эксперту в коде. Терминал ведь на тестирование можно запускать автоматическим способом с параметрами.
Запускаю тестера от 2006.10.01 до 2006.12.25.
Пишу такой код:
11:18:26 2006.10.02 14:00 FirstDate: 2006.10.02 14:00
11:19:01 2006.12.22 22:59 EndDate: 2006.12.22 22:00
Т.е. Time[0] выдаёт не то время, которое было выставлено как диапазон дат, а только время прихода котировок. А если котировки изменятся, то мы получим на тот же запуск уже другие даты, и в этом случае не сможем сказать, что это было то же самое тестирование. Печально.
Т.е. узнать точный диапазон тестирования, как, например, валюту через Symbol() или текущий график через Period(), мы не можем, верно?
Запускаю тестера от 2006.10.01 до 2006.12.25.
Пишу такой код:
int init() { Print("FirstDate: ", TimeToStr(Time[0])); return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { Print("EndDate: ", TimeToStr(Time[0])); }Получаю в логе:
11:18:26 2006.10.02 14:00 FirstDate: 2006.10.02 14:00
11:19:01 2006.12.22 22:59 EndDate: 2006.12.22 22:00
Т.е. Time[0] выдаёт не то время, которое было выставлено как диапазон дат, а только время прихода котировок. А если котировки изменятся, то мы получим на тот же запуск уже другие даты, и в этом случае не сможем сказать, что это было то же самое тестирование. Печально.
Т.е. узнать точный диапазон тестирования, как, например, валюту через Symbol() или текущий график через Period(), мы не можем, верно?
Ладно, при тестировании в периоды за месяцы и годы +/- день некритичен.
Можно просто обрезать время, оставить даты без времени.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Возможно, кто-то уже занимался этой задачей, поделитесь, пожалуйста.