• Обзор
  • Отзывы
  • Обсуждение (4)
  • Что нового

WalkForwardReporter

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-й колонке. До перезагрузки МетаТрейдера вы можете проверить каждый проход, открыв вкладку "Результаты оптимизации" тестера и выполнив двойной щелчок по строке с необходимым номером - это загрузит в советник параметры данного прохода, и его можно будет запустить на тестирование.

В стандартных отчетах данные для периода оптимизации подсвечены голубым, а на тестовом периоде - желтым. Если шаг захватывает текущее время, он подсвечивается зеленым, указывая, что это последние известные параметры, а потому применимые для текущей торговли.


Показатели

Годовая прибыль - гипотетическая прибыль советника за год при пересчете заработанного пропорционально периодам оптимизации и тестирования.

Эффективность - соотношение годовой прибыли на тестовом периоде и периоде оптимизации одного и того же прогона.

Стабильность - процент прибыльных проходов среди всех проходов форварда.

Полнота - показывает, какая часть из запрошенных форвард-шагов была выполнена для конкретных сочетаний размеров окна и форвард-шага, может быть меньше 100% во время генетической оптимизации, так как она пропускает некоторые значения параметров.

Количество дней - для перевода размера шага из процентов в дни.

Нет отзывов
Версия 1.6 - 2016.10.14
Исправлена ошибка деления на ноль, возникавшая при некоторых вырожденных данных.
Версия 1.5 - 2016.09.13
Исправления ошибок.
Версия 1.4 - 2016.09.01
- значительно ускорена обработка больших csv-файлов и уменьшено потребление памяти на них;
- исправлен расчет показателей для форвардов, частично выходящих за границы периода;
- при вводе пользователем неверных значений размера окна или шага форварда вместо пустой таблицы в отчете будет выводиться сообщение об ошибке.
Версия 1.2 - 2016.08.29
Добавлена диагностика ошибок испорченных данных.