Что, никто не сталкивался с подобным явлением ?
Хреново.
Придется делать класс-хранилище данных, чтобы в любой момент иметь "под рукой" историю котировок..
Спасибо, Yedelkin, видимо, я плохо ищу - не смог найти.
Сейчас уже наполовину написал класс-хранилище данных таймсерий, с которым данной проблемы - не будет.
Самим задать количетво баров для тестера нельзя. В Вашем случае можно учитывать описанное в статье Основы тестирования в MetaTrader 5
Агент тестирования закачивает только недостающую историю с небольшим запасом, чтобы обеспечить необходимые данные на истории для расчета индикаторов на момент начала тестирования. Минимальный объем истории при скачивании с торгового сервера для таймфреймов D1 и меньше составляет один год. Таким образом, если запускается тестирование на интервале 2010.11.01-2010.12.01 (тестирование на интервале в один месяц) с периодом M15 (каждый бар равен 15 минутам), то у терминала будет запрошена история по инструменту за весь 2010 год. Для таймфреймов Weekly будет запрошена история в 100 баров, что составляет примерно два года (в году 52 недели). Для тестирования на месячном таймфрейме Monthly агент запросит историю за 8 лет (12 месяцев * 8 лет = 96 месяцев).
Я дополню Рашида.
Если запустить тестирование на недельках, то у Вас в запасе будет данных на 2 года. А так как в процессе тестирования Вы можете обращаться к данным любых таймфреймов, то, например, часовок у Вас будет аж 6000 баров перед началом тестирования
Всем привет! хотел с Вами посоветоваться по поводу архива котировок,есть расхождения в моих наблюдениях
может быть я неправ но мне кажеться так не может быть,если я не прав поправьте. Сдесь представлен график на 4 часа
Далее представлен график на 1 день.Посмотрите по внимательнее может такое быть нет?
Самим задать количетво баров для тестера нельзя. В Вашем случае можно учитывать описанное в статье Основы тестирования в MetaTrader 5
Спасибо, Rosh, за консультацию. Жаль, что тестер не использует всю, закачанную терминалом историю.
Ну, да голь на выдумку хитра.
В настоящее время я заканчиваю написание класса - хранилища CMQLStore, который будет выдавать таймсерии за любой промежуток времени, также предусматривается возможность подмены классов таймсерий Стандартной Библиотеки так, чтобы эти классы могли выбирать, запрашивать ли данные у сервера, или у Хранилища.
Спасибо, Rosh, за консультацию. Жаль, что тестер не использует всю, закачанную терминалом историю.
"Жаль, что мы не услышали начальника транспортного цеха" (ц)
Как это не использует? Сколько укажете - столько и использует (нам лишнего не надо)
"Жаль, что мы не услышали начальника транспортного цеха" (ц)
Как это не использует? Сколько укажете - столько и использует (нам лишнего не надо)
Ну не знаю...
Ситуация проста. Есть советник. Он работает на часовом таймфрейме, и для определения SL и TP просматривает торговые сессии за несколько последних месяцев. Если его запускать на годовом периоде - ему нужны данные за полтора года. Я столкнулся с тем, что в тестере стратегий запрос этих данных часто возвращает ошибку, хотя на сервере имеются данные за гораздо больший период, и терминал их уже давно все выкачал.
Для решения проблемы и был написан специальный класс-хранилище CMQLStore.
Сейчас этот класс уже почти закончен, большая часть его методов оттестирована. После написания - советник сможет запрашивать данные как у терминала, так у этого класса, то есть, если терминал возвратит ошибку - есть возможность взять исторические данные из хранилища. Соответственно, пишем класс-потомка от CSeries Стандартной Библиотеки, переопределяем в нем метод Refresh - и советникам становится доступна вся история независимо от того, что возвращает терминал.
Устанавливайте начало теста с того времени,с которого вам необходимо получать данные.
В коде отдельно устанавливайте дату начала торговли.
К примеру
1.Начало тестирования 2010.01.01.
2.Начало торговли 2011.07.01.
Будут у вас подготовленные данные.
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всех приветствую.
Столкнулся с такой проблемой - при запуске в тестере стратегий функции запроса данных часто возвращают ошибку.
Стал проверять, выяснилось следующее. Использую функцию:
SeriesInfoInteger(Symbol(),0,SERIES_BARS_COUNT);
Если ставлю тестер на последний месяц, получаю 7216
Если ставлю тестер на год, получаю 6217
Дальнейшая загрузка данных в классы-таймсерии - позволяет загрузить только указанное количество баров.
При этом запрос этой же функции при реальном запуске советника возвращает 90134, и с сервера можно подгрузить все эти бары.
Вопрос: как задать в тестере стратегий количество используемых данных (мне нужно, чтобы при запуске теста за последний год можно было бы использовать данные хотя бы за последние 14-15 месяцев) ?
И если можно, то что я делаю не так ?