Сравнение скорости тестирования в MetaTrader 4 и MetaTrader 5 - страница 2

 
Проведем оптимизацию с указанными выше пределами в настройках. Для того, чтобы уложиться в разумное время, тесты велись на 1 254 прохода в режиме по ценам открытия. MetaTrader 4 использовал одно ядро, а MetaTrader 5 восемь локальных ядер.
Терминал
Время тестирования 1254 проходов по ценам открытия
MetaTrader 4 build 4188 сек
MetaTrader 5 build 617 x6413 сек


Видно, что время тестирования в MetaTrader 5 близкое ко времени MetaTrader 4. Отставание связано с накладными расходами на старт 8 независимых процессов тестерных агентов, перекачкой истории в них и восьмикратной подготовкой рыночного окружения к тестам (генерация тестовой последовательности и тд). У MetaTrader 4 нет внешних тестерных агентов и накладные расходы сведены к минимуму. Да и мультивалютного режима нет, что тоже требует ресурсов и архитектурно гораздо сложнее.

Renat, для теста Вы задали оптимизацию со слишком коротким проходом по истории. Из за накладных расходов по организации работы нескольких агентов МТ5 на таком тесте будет закономерно отставать - это и вызвало неприятно удивлённые возгласы публики.

Нужно выбрать более длинный участок истории, тогда МТ5 должен обогнать МТ4 и при оптимизации, когда время на всю оптимизацию станет ощутимым и разница будет видна даже невооруженным глазом.

ЗЫ. Пост больше для участников ветки, чем для Renat'а

 

Первый камушек.

Если раньше после оптимизации я получал практически идентичные результаты во всех режимах, то теперь результаты различаются очень заметно. Ниже один из результатов после оптимизации в режиме Только цены открытия:

Только цены открытия:

 

 

И с теми же параметрами в режиме OHLC на M1:

//---

До обновления результаты во всех режимах были практически идентичны. 

 

Большее сходство во всех режимах получается, если оптимизацию проводить в режиме OHLC на M1.

Например, разница по длительности в моём случае составила 16 минут. В режиме Только цены открытия оптимизация прошла за 3 минуты, а в режиме OHLC на M1 за 19 минут.

//---

В этой ветке сравнение идёт между разными версиями терминала, поэтому в следующий раз буду писать в ветке MetaTrader 5 Strategy Tester!
 
tol64:

Первый камушек.

Если раньше после оптимизации я получал практически идентичные результаты во всех режимах, то теперь результаты различаются очень заметно. Ниже один из результатов после оптимизации в режиме Только цены открытия:

До обновления результаты во всех режимах были практически идентичны. 

Вполне закономерный результат. Время расчета прямо пропорционально качеству моделирования.

Тестирование по ценам открытия можно использовать только для грубой оценки ради скорости. Раньше мы даже в упрощенных режимах проводили детальный потиковый анализ срабатывания условий, как в полноценном потиковом режиме. Это делалось для того, чтобы не дать возможности трейдерам грубо ошибаться.

Теперь в режиме "по ценам открытия бара" мы включили похожий на МТ4 механизм быстрого анализа, что дало огромный прирост. Пользоваться им надо с осторожностью.

Для точного тестирования нужно в любом случае пользоваться режимом "По всем тикам", которые дает точнейшее моделирование всех тиков и правильную отработку всех рыночных условий: срабатывание стопов, правильный учет маржи, контроль маржи тд.

 
Renat:

Вполне закономерный результат. Время расчета прямо пропорционально качеству моделирования.
...

Ну да, вполне. В этом тесте я использовал эксперта с довольно сложным механизмом. Работа только по отложенным ордерам. Думаю, что этот режим теперь больше подходит для экспертов, которые работают без стопов, тейков и отложенных ордеров. Просто Buy/Sell для грубой оценки чистых входов. Хорошо, что теперь есть и такой режим.

Может оставите и старый вариант? Пусть будет 4 режима тестирования. Старый подходил для более сложных экспертов и был существенно быстрее, чем режим OHLC на M1.

 
tol64:

Может оставите и старый вариант? Пусть будет 4 режима тестирования. Старый подходил для более сложных экспертов и был существенно быстрее, чем режим OHLC на M1.

Нет, других способов поддерживать не будем. Сейчас есть хороший набор способов тестирования с разным качеством моделирования.

В любом случае, нельзя доверять ни одному режиме кроме потикового вне зависимости от того, какие гарантии дает и какую торговую логику использует трейдер. Грубо тестировать - ради бога, но финишные результаты принимаются только потиковые.

 
Renat:

Нет, других способов поддерживать не будем. Сейчас есть хороший набор способов тестирования с разным качеством моделирования.

...

Очень жаль. Получилось так, что убрали хорошее и добавили в принципе тоже хорошее. Но то хорошее, что было и то, что теперь есть никак не пересекается. То есть, то что было и то что есть сравнивать некорректно.

Я правильно понял, что аргументы, мнения, предложения, результаты сравнения тестов (остались старые результаты в архиве) в пользу четвёртого режима оптимизации/тестирования больше не принимаются и тема закрыта?

 
Выражайтесь предельно точно, пожалуйста.

Но в любом случае, в ближайшее время менять или добавлять новые режимы тестирования не будем. В этом нет необходимости.
 
Renat:
Выражайтесь предельно точно, пожалуйста.

Но в любом случае, в ближайшее время менять или добавлять новые режимы тестирования не будем. В этом нет необходимости.

Хорошо Ренат. Я понимаю. У Вас в ближайшее время скорее всего уже расставлены задачи. Если дёргаться от одного к другому, то точно никуда не придёшь или будешь двигаться очень медленно.

Поэтому вернёмся к этому вопросу немного позже (может на следующей неделе освобожусь немного).

 

Пожертвовал одной ночью ради скорейшего решения вопроса. :)

Ренат, уж в который раз я ошибся и спешу признаться в этом публично. С радостью для себя я нашёл в коде ту злосчастную строчку кода, которая в старом варианте режима "Только цены открытия" не проявлялась, а в новом портила всю картину. Проблема успешно устранена и пациент здоров. Теперь снова во всех режимах результаты практически идентичны, что было для меня показателем качества тестера.

Что касается скорости оптимизации/тестирования, то по сравнению с предыдущими аналогичными тестами у меня прирост до двух раз, что тоже очень радует.

И ещё один плюс. Теперь в режиме визуализации, также, как и в четвёрке, нажимая на клавишу F12 шаг производится барами. Это очень удобно тем, что экономит время при разработке и отладке.

В общем, отличная работа! Успехов Вам и Вашей команде. MetaQuotes Forever! :)

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
Причина обращения: