- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
- Вопрос к разработчикам.
- Оптимизация производительности эксперта (или проблема таки в индикаторах?)
Время показывается рассчитанное на основании статистики первых проходов. С каждым новым проходом ожидаемое время может существенно меняться.
Хинт - каждый новый проход это новый набор параметров. А входные параметры могут очень сильно влиять на алгоритм эксперта. Например, при таком параметре n мы вообще никаких расчётов не производим, при таком параметре t мы расчёты производим, но не торгуем, а вот тут мы торгуем в полный рост и у нас включается алгоритм учёта открытых и закрытых позиций
Время показывается рассчитанное на основании статистики первых проходов. С каждым новым проходом ожидаемое время может существенно меняться.
Хинт - каждый новый проход это новый набор параметров. А входные параметры могут очень сильно влиять на алгоритм эксперта. Например, при таком параметре n мы вообще никаких расчётов не производим, при таком параметре t мы расчёты производим, но не торгуем, а вот тут мы торгуем в полный рост и у нас включается алгоритм учёта открытых и закрытых позиций
Ну, да, это я понимаю. Для примера - один проход по евробаксу дает около 1700 сделок. За то же время проход по евройене дает около 800 сделок. Общее количество сделок больше в случае с евробаксом и их удержание в памяти на один прогон должно по идее занимать больше времени. Есть правда эффект группы, если эти сделки идут группой, то их одновременное удержание в пямяти займет больше ресурсов, чем в случае переворотника например. Но все равно, разница по времени слишком велика. 60 часов и более 400 часов. Это меня как то настораживает, может дело именно в йеносодержащих парах? Кстати, счас показывает 519 часов.
Ну, да, это я понимаю. Для примера - один проход по евробаксу дает около 1700 сделок. За то же время проход по евройене дает около 800 сделок. Общее количество сделок больше в случае с евробаксом и их удержание в памяти на один прогон должно по идее занимать больше времени. Есть правда эффект группы, если эти сделки идут группой, то их одновременное удержание в пямяти займет больше ресурсов, чем в случае переворотника например. Но все равно, разница по времени слишком велика. 60 часов и более 400 часов. Это меня как то настораживает, может дело именно в йеносодержащих парах? Кстати, счас показывает 519 часов.
Тестер очень, ну Оочень любит жрать время на длинных прогонах, особенно русурсоемких советников, за ним это замечено. Также замечено, что если разбить историю на участки, то сумма прогонов по ним займет в разы меньше времени, чем один прогон по полной истории.
Еще совет: с помощью конструкции if(IsTesting()) {} или if(IsOptimization()) {} отключите обращения к MarketInfo(), Print(), Alert() и тому подобным ненужным во время тестирования функциям. Здорово помогает.
Тестер очень, ну Оочень любит жрать время на длинных прогонах, особенно русурсоемких советников, за ним это замечено. Также замечено, что если разбить историю на участки, то сумма прогонов по ним займет в разы меньше времени, чем один прогон по полной истории.
Еще
совет: с помощью конструкции if(IsTesting()) {} или
if(IsOptimization()) {} отключите обращения к MarketInfo(), Print(),
Alert() и тому подобным ненужным во время тестирования функциям. Здорово
помогает.
Спасибо за совет, принтами пользуюсь при отладке, кое что действительно не отключаю. А так - после отладки почти все принты и почти все алерты сталю за //. И вопрос - перечень и основания для занесения в этот перечень "и тому подобным ненужным во время тестирования функциям." где нибудь есть?
Спасибо за совет, принтами пользуюсь при отладке, кое что действительно не отключаю. А так - после отладки почти все принты и почти все алерты сталю за //. И вопрос - перечень и основания для занесения в этот перечень "и тому подобным ненужным во время тестирования функциям." где нибудь есть?
пройдитесь по собственному коду, вам виднее будет. Например, вместо сложной функции отправки ордера со всяческими проверками и т.д. в тестере можно просто поставить OrderSend. Вообще, все, что касается проверки состояния можно на период теста выпиливать. Мы же тестируем логику торговли, правильно? Ну так и оставляем только логику, остальное - под нож (точнее, под if(!IsTesting())).
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования