коллеги, приветствую, подскажите, как тестер стратегий определяет, сколько баров в истории нужно загрузить для тестирования? и можно ли как-то повлиять на это число?
Напишу по памяти - пусть меня поправят, если что не так.
По умолчанию, тестер подгружает 1000 баров истории текущего рабочего таймфрейма перед стартовой датой теста. Но есть исключения:
- Для таймфрейма D1 загружается текущий год и предыдущий.
- На более старших таймфреймах (W+) доступны бары за 2 года (если они есть в истории).
В любом случае, на более младших таймфреймах, чем рабочий, будет доступно пропорционально большее количество баров.
Настроить (изменить) данное поведение нельзя (хотя давно просят сделать такую настройку).
Если нужно обеспечить заданное количество баров именно текущего таймфрейма, следует ставить стартовую дату теста заранее и затем "дожидаться" в коде эксперта наступления нужной даты активации торговли (до этого пропускать все события "вхолостую") или достаточного количества баров.
Напишу по памяти - пусть меня поправят, если что не так.
По умолчанию, тестер подгружает 1000 баров истории текущего рабочего таймфрейма перед стартовой датой теста. Но есть исключения:
- Для таймфрейма D1 загружается текущий год и предыдущий.
- На более старших таймфреймах (W+) доступны бары за 2 года (если они есть в истории).
В любом случае, на более младших таймфреймах, чем рабочий, будет доступно пропорционально большее количество баров.
Настроить (изменить) данное поведение нельзя (хотя давно просят сделать такую настройку).
Если нужно обеспечить заданное количество баров именно текущего таймфрейма, следует ставить стартовую дату теста заранее и затем "дожидаться" в коде эксперта наступления нужной даты активации торговли (до этого пропускать все события "вхолостую") или достаточного количества баров.
Да, спасибо, это и использую:
1. Если надо глубже историю, просто вызываю получение данных с каких-нибудь неделек в инициализации.
2. Если нужно определенное кол-во баров -да, гоняю вхолостую, пока не превысит нужное кол-во.
Да, спасибо, это и использую:
1. Если надо глубже историю, просто вызываю получение данных с каких-нибудь неделек в инициализации.
2. Если нужно определенное кол-во баров -да, гоняю вхолостую, пока не превысит нужное кол-во.
По последним сведениям, моя информация о 1000 барах более не актуальна. Для внутридневных таймфреймов тот же принцип "одного года в запасе".
Что-то перестало брать историю больше, вызывая ТФ постарше: w, mn. Теперь ставит также 1 год :(
Что-то перестало брать историю больше, вызывая ТФ постарше: w, mn. Теперь ставит также 1 год :(
Не наблюдаю такого. На W1 берется история от конца 2019-го, на MN1 - от 2013-го.
Эксперт для проверки.
input int dummy = 0; void OnTick() { static bool once = false; if(once) return; once = true; datetime array[]; Print(Bars(_Symbol, _Period)); Print(CopyTime(_Symbol, _Period, 0, dummy ? dummy : Bars(_Symbol, _Period), array)); Print(_LastError); Print(array[0]); }
Можно подгружать роботом или скриптом
https://www.mql5.com/ru/docs/series/timeseries_access
внизу есть код для загрузки истории с указанной даты,
добавить функцию для работы со списком рабочих символов или все символы из обзора рынка, при запуске идет проверка загруженной истории, проверка моментальная, подгружается толь недостающая
![Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным](https://c.mql5.com/36/60/dokumentaciya-po-mql5-dostup-k__1.png)
- www.mql5.com
Можно подгружать роботом или скриптом
https://www.mql5.com/ru/docs/series/timeseries_access
внизу есть код для загрузки истории с указанной даты,
добавить функцию для работы со списком рабочих символов или все символы из обзора рынка, при запуске идет проверка загруженной истории, проверка моментальная, подгружается толь недостающая
Ну да, можно. Сначала подгружаешь историю в реал тайме, затем уже в тестере вроде как можно обращаться глубже, вызывая старшие ТФ.
Можно еще по другому: провести тест на более глубокой истории. Это вызовет принудительную подгрузку. А потом уже начинать тестить с тех дат, которые нужны, опять же вызывая данные со старших ТФ. Но я надеюсь, что эти танцы с бубнами скоро закончатся, там где-то в соседней ветке обсуждали это и Ренат сказал, что "даешь настройки глубины".
https://www.mql5.com/ru/forum/438066/page2#comment_44027410
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования