WalkForwardReporter
- Утилиты
- Stanislav Korotky
- Версия: 1.8
- Обновлено: 24 октября 2018
WalkForwardReporter - это скрипт для создания HTML отчетов из результатов пошаговой форвард-оптимизации, выполненной с помощью библиотеки WalkForwardOptimizer (WFO). Он позволяет просматривать и анализировать показатели советника и его устойчивость в неизвестных условиях будущих котировок. Подробности об этом виде оптимизации (walk-forward optimization) - в английской Wikipedia.
В процессе оптимизации WFO генерирует CSV-файл и специальные глобальные переменные с данными. Скопируйте CSV-файл из папки tester/Files в MQL4/Files и запустите скрипт с параметрами по умолчанию. Это приведет к созданию html-страницы с расшифровкой результатов, а также к сохранению необходимых глобальных переменных в "архивный" GVF-файл. В будущем из тех же результатов оптимизации, сохраненных подобным образом можно строить другие отчеты, например, уточняющие, даже если глобальные переменные будут удалены или перезаписаны - достаточно указать в первом параметре скрипта имя GVF-файла. Пока глобальные переменные остаются неизменными, уточняющие отчеты можно строить без указания GVF-файла.
Имена GVF и HTML файлов совпадают с именем CSV-файла, заданного в библиотеке через параметр wfo_outputFile.
Параметры
- InputVariablesFile - имя GVF-файла; если пусто (по умолчанию), данные берутся из глобальных переменных;
- WindowSize - размер окна (дни) для уточняющих отчетов; должен быть одной из величин колонки кластерного отчета; по умолчанию - 0 (кластер или автоопределение);
- StepSize - размер форвард-шага (проценты или дни) для уточняющих отчетов; должен быть одной из величин строки кластерного отчета; по умолчанию - 0 (кластер или автоопределение);
- ClearWFGlobalVariables - если true, скрипт удаляет "WF_"-глобальные переменные в конце выполнения; по умолчанию - false; глобальные переменные должны быть очищены перед стартом новой оптимизации WFO.
Типы отчетов
В зависимости от параметров WFO, скрипт может создавать различные типы отчетов.
- Стандартный отчет пошагового форварда с таблицей прогонов, содержащей показатели раздельно для оптимизированного и тестового периодов в одной строке, а также общими показателями объединенного форвард периода. Отчет создается при поступательном пошаговом анализе и как уточняющий отчет для кластерного анализа (в последнем случае параметры WindowSize и StepSize должны соответствовать конкретной колонке и строке кластерной таблицы).
- Кластерный отчет с несколькими таблицами, содержащими годовую прибыль, эффективность, стабильность, полноту, и количество дней в шаге для каждого сочетания размеров окна и шага. Отчет создается после кластерной оптимизации, если не запрошено уточнение (WindowSize и StepSize равны 0).
- Якорный отчет аналогичен стандартному за исключением того, что размер окна изменяется на каждом проходе (в каждой строке таблицы).
Стандартный и якорный отчеты указывают номер прохода в 1-й колонке. До перезагрузки МетаТрейдера вы можете проверить каждый проход, открыв вкладку "Результаты оптимизации" тестера и выполнив двойной щелчок по строке с необходимым номером - это загрузит в советник параметры данного прохода, и его можно будет запустить на тестирование.
В стандартных отчетах данные для периода оптимизации подсвечены голубым, а на тестовом периоде - желтым. Если шаг захватывает текущее время, он подсвечивается зеленым, указывая, что это последние известные параметры, а потому применимые для текущей торговли.
Показатели
Годовая прибыль - гипотетическая прибыль советника за год при пересчете заработанного пропорционально периодам оптимизации и тестирования.
Эффективность - соотношение годовой прибыли на тестовом периоде и периоде оптимизации одного и того же прогона.
Стабильность - процент прибыльных проходов среди всех проходов форварда.
Полнота - показывает количество форвард-шагов, выполненных для конкретных сочетаний размеров окна и форвард-шага, может быть меньше запрошенного числа во время генетической оптимизации, так как она пропускает некоторые значения параметров.
Количество дней - для перевода размера шага из процентов в дни.