Вопросы от "чайника" - страница 189

 
Yedelkin:

То есть на демо-счете (не в тестере) тоже возникает такая ошибка?

 А про историю для тестирования лучше почитать в разделе "Тестирование торговых стратегий".

Не очень понимаю что значит "на демо-счете (не тестере)".

Файл/логин - здесь у меня новый тестовый счет сервера "MetaQuotes-Demo".

Иду в  вид/тестер стратегий. Запускаю свой советник с 01.01.2012, получаю ошибку.

Запускаю с 01.01.2011 по сегодня. Все проходит без проблем.

 
MegaVoin: Не очень понимаю что значит "на демо-счете (не тестере)".
Ну, это просто. Откройте на демо-счете график с нужной парой символ-период (например, EURUSD, 10 min) и присоедините к этому графику Ваш эксперт. Затем посмотрите логи в разделе "Инструменты" (Ctrl+T), вкладка "Эксперты".
 
MegaVoin:

Иду в  вид/тестер стратегий. Запускаю свой советник с 01.01.2012, получаю ошибку.

Запускаю с 01.01.2011 по сегодня. Все проходит без проблем.

почитайте про основы тестирования: https://www.mql5.com/ru/articles/239


Цитата

Агент тестирования закачивает только недостающую историю с небольшим запасом, чтобы обеспечить необходимые данные на истории для расчета индикаторов на момент начала тестирования. Минимальный объем истории при скачивании с торгового сервера для таймфреймов D1 и меньше составляет один год. Таким образом, если запускается тестирование на интервале  2010.11.01-2010.12.01 (тестирование на интервале в один месяц)  с периодом M15 (каждый бар равен 15 минутам), то у терминала будет запрошена история по инструменту за весь 2010 год.

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
Yedelkin:
Ну, это просто. Откройте на демо-счете график с нужной парой символ-период (например, EURUSD, 10 min) и присоедините к этому графику Ваш эксперт. Затем посмотрите логи в разделе "Инструменты" (Ctrl+T), вкладка "Эксперты".

Работает. Вывел в лог результат вычисления этой функции. Выводится каждый тик, результат похож на правду.

Значит глюк именно в тестере. 

 
MegaVoin: Работает. Вывел в лог результат вычисления этой функции. Выводится каждый тик, результат похож на правду.
Ну, уже хорошо! :) Теперь попробуйте посмотреть ссылки про тестирование, указанные выше. Они  - аналогичные, текст статьи перенесли в Справочник.
 
Yedelkin:
Ну, уже хорошо! :) Теперь попробуйте посмотреть ссылки про тестирование, указанные выше. Они  - аналогичные, текст статьи перенесли в Справочник.

Прочитал внимательно. Решения не нашел. Все что понял, это то, что если что-то не подгружено, то подгрузится автоматически при обращении к данным.

 

Решил проблему по-другому. Вроде заработало. Но способ решения мне не сильно нравится. Криво это как-то. Поменял во всей программе _Period на PERIOD_M10 и поменял тестировщике таймфрейм с 10 минут на 1 месяц.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5
 
MegaVoin: Прочитал внимательно. Решения не нашел. Все что понял, это то, что если что-то не подгружено, то подгрузится автоматически при обращении к данным.
Там говорится о том, что "агент тестирования получает от терминала историю по тестируемому инструменту". Чуть ниже говорится о возможности принудительной загрузки истории в терминал и даётся ссылка. Чтобы не париться с вопросом о том, имеется ли в наличии история нужной глубины, можно попробовать вставить в функцию OnInit() программы скрипт принудительной закачки истории с указанием нужного таймфрейма и посмотреть результат. Т.е. посмотреть, закачает ли этот скрипт историю месячных таймфреймов, работая в тестере.
 
 скрипт принудительной закачки истории с указанием нужного таймфрейма

 

Предлагают вызвать SymbolSelecе, таймфрейма при его вызове к сожалению нет :(   

bool  SymbolSelect(
   string  name,       // имя символа
   bool    select      // включить или выключить
   ); 

 

 

 
MegaVoin: Предлагают вызвать SymbolSelecе, таймфрейма при его вызове к сожалению нет :(   
bool  SymbolSelect(
   string  name,       // имя символа
   bool    select      // включить или выключить
   );

Речь идёт вот про этот скрипт "int CheckLoadHistory(string symbol,ENUM_TIMEFRAMES period,datetime start_date)"

Он изложен вот здесь https://www.mql5.com/ru/docs/series/timeseries_access 

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - Документация по MQL5
 
Yedelkin:

Речь идёт вот про этот скрипт "int CheckLoadHistory(string symbol,ENUM_TIMEFRAMES period,datetime start_date)"

Он изложен вот здесь https://www.mql5.com/ru/docs/series/timeseries_access 

Попозже поробую.

Спасибо большое за помощь!