"Advanced Optimization Report" для MT5
Оптимизируете торговые стратегии в Meta Trader 5 (MT5)? Используйте расширенное и более наглядное представление результатов оптимизации с преимуществами интерактивных HTML страниц.
Коротко о преимуществах:
- Фильтры по любому критерию и порогу (min/max).
- Удобные для восприятия и понимания графики.
- 43 критерия оптимизации вместо 8. Доступно всё что записано в .opt файлах.
- Если есть доступ к коду советника, то можно добавить графики баланса и эквити к каждому проходу и 38 кастомных критериев оптимизации (коэффициенты Шарпа, Сортино, мат. ожидание в пипсах, стандартное отклонение и другое. Можно добавить самостоятельно запрограммированные критерии).
Этот отчет должен видеть каждый, кто оптимизирует торговые стратегии. Примеры.
Подробнее:
Фильтры:
В MT5 сделано только 5 фильтров для определенных порогов:
В "Advanced Optimization Report" вы можете применить фильтры ко всем параметрам и критериям. К каждому можно применить >= и/или <= (min, max) любого порога. При вводе значения и нажатии кнопки Enter или после потери фокуса поля ввода - произойдет перестроение таблицы результатов, перерисуются графики и пересчитаются статистики (min, max, avg, median). В новом расчете будут использованы только оставшиеся строки. 
Сортировка:
Любой столбец можно отсортировать. Для этого надо кликнуть по его названию. На скриншоте выше сделана сортировка по Recovery factor. Повторные клики меняют порядок сортировки (возрастание/убывание). Отсортированный столбец выделяется цветом.
Фильтрация/скрытие строк:
- Дополнительная сортировка/фильтрация. Если внизу страницы нажать кнопку "Show sorting/filtering buttons", то в шапке таблицы появятся кнопки [F]. Если в любом столбце нажать кнопку [F], то первая строка будет принята как максимум в столбце, ниже будут показаны только строки, которые меньше предыдущих значений в этом столбце, остальные будут скрыты. Повторный клик покажет строки со значениями больше предыдущих. Пример на скриншоте выше. Третий клик отменит этот фильтр.
Эту сортировку/фильтрацию можно сделать одновременно по нескольким столбцам. - Если нажать на кнопку "Hide Rows", то в столбце Pass в каждой строке появятся кнопки [-]. Нажатия на них приводят к скрытию этих строк. Чтобы вернуть все строки - нажмите кнопку "Show All Rows". При перезагрузке отчета все скрытые строки снова появятся.
- Если нажать кнопку Show Passes, то появятся два текстовых блока. В Current passes показаны все проходы оставшиеся в таблице после применения фильтров и удаления строк вручную. Когда у вас будет самый лучший список проходов, то его можно скопировать и вставить в блок Select Passes. После этого можно отменить все фильтры, но строки из Select Passes будут подсвечены голубым фоном. Если нажать кнопку "Show only selected", то будут показаны только выбранные строки - их можно дополнительно фильтровать при необходимости. Список можно сохранить в текстовом файле и просматривать при следующем просмотре отчета снова вставив в поле Select Passes.
Графики 1D
Графики по оптимизируемым параметрам сделаны более удобными для понимания.
Для примера проведем оптимизацию и сравним графики отчетов ко критерию Recovery factor.
| MT5 | Advanced Optimization Report |
| Показывает значения разнесенными по оси х, т.е. отдельно. Сложно сравнить линии находящиеся друг от друга на расстоянии в 100-1000 пикселей. | Показывает все линии на одном графике в одном масштабе, но разным цветом, так их можно и отличать друг от друга и сравнивать. |
![]() Для параметра оптимизации SL значения сильно отличаются и они заметны на обоих графиках. Для этого параметра использован enumerator, поэтому показаны цифры от 1 до 6. Сложно понять какие там значения - нужно сверять с описанием input. |
![]() Пунктирные линии средних значений показывают, что значение SL равное 200 (темно зелёная линия) самое лучшее в среднем, так как она выше всех. Её максимальное значение тоже выше. Могут встречаться варианты, когда значение с самым большим максимумом имеет не самое лучшее среднее. Из за одиночного резкого выброса. Тут надо решить, что вам важнее. |
![]() Тут уже сложнее определить что лучше. |
![]() Средние для Шага 100 и 200 почти одинаковы. Возможно, что 100 лучше, т.к. у 200 имеется 2 отдельных воброса. Без них среднее было бы меньше. В данном примере у 100 тоже есть 2 выброса, но могут быть случаи, когда выбросы будут действительно единичными. |
|
|
![]() Сразу видно точное совпадение линий. Параметр спреда совершенно не влияет на результат. Его можно исключить из будущих оптимизаций. Или наоборот исследовать в более широком диапазоне, например до 100. Для изучения отчета с такими параметрами их лучше удалить, оставив всего одих вариант, число строк сократится в 4 раза. Если оставить все, то в отчете будет по 4 одинаковых строки, которые будут вам мешать. Чтобы оставить только один вариант, нужно применить фильтр от и до одного из значений, например установить min = 5 и max = 5. |
![]() |
![]() |
Особенности:
- Среднее значение каждой линии показано пунктирной линией того же цвета. Не всегда лучшими являются максимальные или минимальные значения. Среднее покажет насколько одно значение параметра в целом лучше других. Выбирайте, что для вас важнее. Инструмент для оценки предоставлен.
- Чтобы детально рассмотреть какие-то значения параметров - можно их отфильтровать. Например выбрать SL выше 100 или ниже 1000 или от 100 до 500, графики перерисуются и можно посмотреть только выбранные значения.
Другие не будут вам мешать. Особенно удобно, если у вас более 10 разных значений. MT5 такой возможности не предоставляет.Все варианты SL SL от 100 до 500 

- Аналогично можно применить фильтры к любому критерию.
Например: прибыль больше 1000, сделок более 100 и просадка менее 10%. Очень удобно.
Все варианты SL Прибыль больше 1000, сделок более 100
и просадка менее 10%

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

Размеры графиков можно изменять. На скриншоте ширина изменена с 300 до 140 пикселей. - При загрузке графики показывают профит по оси Y. Показать можно любой критерий оценки - для этого сделай сортировку по нужному столбцу.
Важное отличие этих графиков от MT5: если оптимизируемый параметр сделан перечислением (enum). MT5 показывает его порядковый номер (например 1,2,3,4,5,6,7,8,9), по которому сложно понять какое значение используется (5,10,20,50,70,100,200,500,1000). Такие перечисления удобно использовать для пропорционального изменения значений, например SL/TP.
Если после 10, рационально проверить значение 20, то после 500 глупо проверять 510,520... оптимизация с шагом 10 от 10 до 1000 займет в 10+ раз больше времени, чем по перечислению. "Advanced Optimization Report" показывает именно значение, а не его порядковый номер. Это одна из главных причин создания этой версии отчета оптимизации.
Генетическая оптимизация
Примеры выше сделаны полной оптимизацией - в ней количество проходов каждого параметра равно числу его возможных значений. При генетической оптимизации, число проходов будет разным. Например так:
MA Period = 30 показал самый высокий профит, поэтому он исследовался оптимизатором в 2-5 раз больше, чем другие параметры.
Графики 2D
Графики по всем парам оптимизируемых параметров тоже сделаны более наглядными. Вместо мозаики с цветными прямоугольниками нарисованы мини графики. Первый параметр в паре представлен одной из цветных линий (например всего 4 линии), вторые параметры разделены вертикальными пунктирными линиями по оси X (например 6 столбцов). Итого имеем 4 линии в 6 столбцах = 24 мини графика. В МТ5 это нарисовано как 24 цветных прямоугольника.
| MT5 | Advanced Optimization Report |
| Показывает мозаику из 24 прямоугольников с меняющимся цветом. Каждую пару можно представить двумя вариантами. |
Показывает все линии на одном графике в одном масштабе, но разным цветом, так их можно и отличать друг от друга и сравнивать. Каждую пару можно представить двумя вариантами. Один из них обычно более удобен. |
Первый вариант:![]() Сложно к пониманию. Видно только, что самый темный прямоугольник в столбце 5 и строке с значением 5. Это Step=200 и SL=200. |
Первый вариант:![]() Этот вариант удобнее, т.к. изменения последовательные, а не скачками. 4 варианта значений Step (50,100,200,500) представлены цветными линиями. 6 вариантов значений SL (10,20,50,100,200,500) представлены в виде столбцов разделенных пунктирными линиями. В каждом столбце находятся 4 линии. Итого получаем 6*4=24 мини графика вместо 24 цветных прямоугольников. Самый лучший Recovery factor видим как красную линию (Step=200) в столбце с SL=200. Последовательно растущие линии удобнее для понимания - видно их прогресс в зависимости от изменений другого параметра. |
Второй вариант:![]() |
Второй вариант:![]() Тоже имеем 24 мини графика, но последовательного движения нет, это менее удобно. Первый график (выше) понятнее. |
В MT5 можно смотреть пары оптимизируемых параметров только по одной. Тут вы их увидите сразу все, что также удобно для анализа - можно выбрать самый удобный из пары график:
Если столбцов на графике 2D много и ширина небольшая, то становится сложно что-либо разобрать. Пример создан генетической оптимизацией советника MA, который вы найдете на странице инструкции. Тут изображен 91 столбец:
Чтобы все было хорошо видно - просто увеличьте ширину графика. Тот же пример при ширине 2000 пикселей:
Теперь хорошо видно и значения столбцов и линии графиков.
Управление графиками:
- Можно менять вид линий графиков переключателем Stairs/Lines, Crisp/Blurry, Bold. Поля ширина и высота меняют размеры окна с графиком.
- Если кликнуть по любому графику, то он откроется в большом окне в Гугл графиках, у которых есть зум колёсиком мыши и он показывает точные значения по оси Y.
Advanced Optimization Report Google Chart 

- Встроенные в программу графики могут отображаться на компьютере без подключения к интернету. Гугл графики будут показывать только с интернетом.
Optimized variables statistics:
Под графиками 1D и 2D есть кнопки с надписью "Show Min/Max/Avg/Med". Если их нажать, то откроются таблицы с статистикой для текущего выбранного оптимизируемого параметра или критерия оценки.
Вы увидите: максимальное, среднее, медианное, минимальное значение и количество проходов с ним. Строки отсортированы по Average. Среднее значение также выведено на графике 1D.
По среднему или медианному значению можно оценить какой из вариантов оптимизируемого параметра или критерия в среднем дает лучшие результаты стратегии. Например для прибыли можно выбрать максимальное среднее, а для просадки минимальное среднее и т.п.
Отсортировать значения можно по любой строке. Максимальное значение имеет зеленый фон, минимальное - красный.
Пример:
Detailed report
Получает данные об оптимизации из .opt файла. Он содержит много информации, которую вы не видите в отчете MT5. "Advanced Optimization Report" покажет вам всё в HTML виде в браузере.
Показаны 8 стандартных критериев оптимизации стратегии, как в MT5.
И дополнительно 35 других критериев оценки стратегии. Они объединены по группам: Standard criteria, as in MT5, Profit / Loss, Balance, Equity, Trades, Consecutive, Other.
|
Дополнительно добавлены критерии, которые можно вычислить из других в .opt файле:
|
Под таблицей с детальным отчетом размещены дополнительные кнопки управления:
- Если нажать на кнопку "Edit Columns", то вы можете скрыть столбцы, которые вам не интересны для оценки. Так таблица будет занимать меньше места и будет показывать только нужную информацию.
- При редактировании столбцов можно их отмечать вручную или кнопками Check All или Uncheck All.
Строка с цифрами 1000100111010010... является списком отмеченных столбцов и её можно экспортировать в советник, чтобы для новых отчетов всегда были выбраны только нужные столбцы. Или можно скопировать и вставить эту строку в другой отчет.
Другие особенности:
- Если в оптимизацию был добавлен форвард тест, то его значения будут показаны во второй строке каждой ячейки. Это удобнее, чем в MT5, где сделано 2 отдельных отчета. В расчетах/графиках/сортировках/фильтрах значения форвард теста не участвуют. Но можно сделать отдельный отчет, если выбрать только один файл с форвард тестом.
- К сожалению комплексный критерий не добавлен в .opt файл и не может быть показан пока его не добавят в .opt файл разработчики Meta Quotes. Сейчас его можно показать в отчете добавив дополнительный код к вашему советнику, если вы имеете доступ к его коду (подробности ниже).
- Значения отформатированы в удобном для восприятия денежном формате. Вместо 123456789.01 в которых сложно понять сколько там тысяч и миллионов (нужно считать число цифр), вы увидите 123 456 789.01 тут сразу это видно.
- Для строк таблицы запрограммирована пагинация. На одной странице можно отобразить от 5 до 10 000 строк.
- При клике по любой ячейке таблицы строка и столбец выделяются цветом. При этом в clipboard копируются настройки выбранного прохода. Можно перейти в тестер на вкладку настроек и нажать там Ctrl-V настройки будут применены.
- Дополнительно в столбце Pass номер прохода сделан кнопкой, при клике на которую будет скачан файл настроек pass_XX.set Затем его можно сохранить в нужное вам место, например в папку с HTML отчетом.
Ниже описаны возможности программы для случая если у вас есть доступ к коду эксперта и вы можете добавить в него дополнительные функции.
Мини-графики баланса и эквити:
Если у вас есть доступ к коду советника, то вы можете добавить в него функции, которые будут сохранять линии баланса и эквити, а так же расчитывать дополнительные критерии оптимизации. Мини-графики будут показаны в отчёте для каждого прохода. То есть не обязательно запускать одиночные тесты для каждого интересующего варианта. После выбора самых лучших в этом отчете - нужно их проверить в тестере MT5 одиночным тестированием. Это сэкономит массу времени.
Блок настроек графиков:

- Поле Small height - изменяет высоту мини-графиков
- Чекбокс Small/Big увеличивает все графики до 255 пикселей.
- Чекбокс Profit/Balance переключает значения на профит или баланс.
- В этом же блоке указан период тестирования на графике.
Особенности:
- Графики баланса и эквити показывают сделки на шкале времени, а не с равным шагом между сделками (как в тестере MetaQuotes). Бывает, что между сделками 2 месяца, а они показаны рядом, как будто между ними 5 минут.
Пример:
На оба графика помещены 50 одних и тех же сделок.
Верхний график построен с равномерным шагом между сделками. И выглядит перспективно.
Нижний график построен по шкале времени и показывает, что эксперт торговал немного вначале и еще немного в конце.
По графику с временем сразу понятно, что будут продолжительные периоды бездействия в этой стратегии. Такая торговля уже не так интересна, как создалось впечатление от графика по сделкам с равномерным шагом. - Графики вначале показываются высотой 50 пикселей. Высоту графиков можно настраивать в поле Small height.
- При клике по графику он разворачивается до высоты 255 пикселей. Это максимальное разрешение т.к. для компактности файлов, каждая точка закодирована одним байтом с 255 вариантами по высоте При повторном клике график сворачивается.
- На графиках указаны минимальное и максимальное значение профита или баланса.
- Если оптимизация производилась с форвардом, то он будет размещен справа от графика бектеста. Его ширина будет пропорциональна периоду тестирования. Т.е. если форвард = 1/3 от всего периода тестирования, то 2/3 ширины займет бектест. Т.е. временной масштаб будет один для обоих графиков.

- Ширину графика можно выбирать в параметре Pixels in balance and equity charts перед запуском тестирования. Рекомендовано 200-300 пикселей, т.к этого достаточно для восприятия, что видно на примерах. Но можно и до 2000. При этом размер файла будет в 10 раз больше. Ширина более 2000 будет уменьшена до 2000.
Если у вас более 100 000 проходов оптимизации - то чтобы экономить место на диске ширину графиков нужно уменьшить до 100 или до 50 пикселей.
- Можно отменить сохранение статистики и графиков баланса и эквити - установив Save Statistics параметр в false.
Сбор статистики и графиков практически не замедляет оптимизацию:
- Оптимизация без сбора статистики и графиков: optimization done in 1 minutes 28 seconds
- Оптимизация со сбором статистики и графиков: optimization done in 1 minutes 29 seconds
Замедление не более 1%. - .opt файлы от MT5 и файл с графиками занимают некоторое место на диске. При создании отчета они не удаляются, а перемещаются в папку с отчетом для повторного использования, например, чтобы посмотреть отдельный отчет форвард-теста. Если у вас много оптимизаций или ширина графиков большая, то нужно самостоятельно удалять ненужные файлы, чтобы освобождать место на диске.
Дополнительные критерии оптимизации
Добавляемый код позволяет добавить к отчету дополнительные критерии оптимизации:
- Комплексный критерий оптимизации (в .opt файле он не доступен, а только через подключаемые в код функции)
- Коэффициенты: Шарпа, Сортино, тестовый коэффициент Титова и стандартное отклонение рассчитанные через логарифмы дельт цены на таймфрейме M1 (так же как в MT5). Плюс они же рассчитанные через дельты цены. Их расчет происходит только при сборе данных эквити на каждом тике (это не обязательно).
Их расчеты были раскрыты в статье https://www.mql5.com/ru/articles/9171 Рассчитанный коэффициент Шарпа почти совпадает с тем, что показывает MT5. Коэффициент Сортино и стандартное отклонение рассчитаны в той же функции и скопированы в отчет как есть.
Экспериментальный коэффициент Титова описан на форуме. Мне он показался интересным для добавления в отчет. - Z-score, Money Compounding vs 1 lot, LR Standard error, LR Correlation расчеты скопированы из статьи https://www.mql5.com/ru/articles/1492
R2 = LR Correlation ^2 .
Profit Stability описан в статье https://www.mql5.com/ru/articles/3642 - Deviation from Line, Deviation from Line Negative only, Deviation from Line in Points, Deviation from Line Negative only in Points - максимальные отклонения цены от прямой линии между первой и последней сделкой. Линия рассчитывается с равным шагом между сделками, как в MT5.
Просто Deviation from Line - учитывает отклонения и вниз и вверх от прямой линии. Negative only - учитывает только просадки ниже линии. Плюс 2 аналогичных критерия в пунктах - они будут отличаться от критериев в деньгах, если торговля идет разными лотами (реинвестирование, пирамидинг, мартингейл и др.) - Критерии в пунктах: Profit, Markup, Profit / Markup, Expected PayOff, Expected Markup, Min, Max drawdown, Drawdown % in Points, Standard error.
Они рассчитаны так, как будто бы вы торговали всегда одним лотом.
При торговле одинаковым лотом сортировки по ним совпадают с Profit, Expected PayOff, Balance min, Max drawdown balance, будут лишь отличаться множителем, если ваш объем 0.01, то отличие будет в 100 раз.
При торговле разными лотами - они будут по прежнему показывать, как если бы торговля была одним лотом.
Например при торговле по мартингейлу, может оказаться, что прибыль в пунктах отрицательная, а выигрыш достигается только из за повышения лота и риска торговли.
Комментарий по Drawdown % in Points: в отличии от просадки в % от баланса, считается от предыдущего максимального профита в пунктах, а не баланса. Начальный баланс в пунктах вычислить невозможно, при торговле разными объемами, поэтому расчет от максимального профита. - Число повторяющихся проигрышей отдельно по Buy и Sell.
- Суммарные: Trading result (результат сделок без учета свопов, комиссий и fees),
Swap, Commission, Fees - их сумма равна Markup. Разделение может быть интересно для анализа расходов.
Trading result / Markup - чтобы оценить во сколько раз вы больше зарабатываете, чем тратите.
Trading result - Markup = Profit из первого столбца основных критериев.
Суммарные: Volume и Turnover. Они могут быть интересны для оценки рибейтов. - Так же можно добавить все 43 параметра аналогичные тем, что есть в MT5 .opt файле. Они пригодятся, если вы оптимизируете в режиме математических расчетов.
Для них:- Recovery factor рассчитывается по эквити при сборе статистики на каждом тике.
Если статистика на каждом тике не собирается (это необязательно), то используется Recovery factor по балансу. А Drawdown equity %, Sharpe ratio и все 5 параметров эквити будут равны 0. - Максимальная просадка эквити в встроенном расчете меньше (хуже), чем в отчете MT5. Предположительно МТ5 может проверять её не на каждом тике, а на каждом M1 или как-то еще.
- Recovery factor рассчитывается по эквити при сборе статистики на каждом тике.
Возможно будут добавлены другие критерии оптимизации в будущих версиях. Если у вас есть интересный критерий с кодом реализации - предложите добавить его через форму обратной связи.
Как использовать Advanced Optimization Report
Запустите эксперт "Advanced Optimization Report"
При первом запуске он запросит ключ. Инструкция для создания ключа находится на старнице покупки.
При наличии действительного ключа появится окно:
- Нажмите кнопку Import. В открывшемся окне скопируйте путь к открывшейся папке из адресной строки.
Пример: - В окне тестера кликните правой кнопкой, выберите Export Optimization Cache File и вставьте в адресную строку путь скопированный ранее.
Делать это надо только при первом запуске, потом тестер запомнит эту папку для экспорта.
Нажмите Save - В окне для импорта (из 1 пункта) выберите экспортированный .opt файл (при оптимизации с форвардом будет 2 файла - выберите оба).
Если происходила запись графиков, через добавленный в советник код, то выберите дополнительно файл Charts.opt.
Появится окно:
Можно снять флажки ненужных для отображения критериев оптимизации. При их снятии они будут сохранены, но будут скрыты при первой загрузке отчета. Показать их можно нажав в отчёте кнопку Edit Columns.
Нажмите кнопку Save - В открывшемся окне сделайте щелчок правой кнопки мыши по HTML странице Report.htm, и выберите пункт Open. В браузере по умолчанию откроется страница с отчётом.

- При возвращении к эксперту - закройте открывшееся окно, иначе он не будет реагировать на клики мышью.
- Если добавить себе индикатор со страницы https://www.mql5.com/en/blogs/post/766737, то отчет будет открываться сразу в браузере. Это удобнее и быстрее (без действий описанных в пунктах 4 и 5).
© 2025 - 2026














