Обсуждение статьи "Создание самооптимизирующихся советников в MQL5 (Часть 8): Анализ нескольких стратегий (3) — Политика взвешенного голосования"

 

Опубликована статья Создание самооптимизирующихся советников в MQL5 (Часть 8): Анализ нескольких стратегий (3) — Политика взвешенного голосования:

В этой статье исследуется, как определение оптимального количества стратегий в ансамбле может стать сложной задачей, которую проще решить с помощью генетического оптимизатора MetaTrader 5. Сеть MQL5 Cloud также используется как ключевой ресурс для ускорения бэктестинга и оптимизации. В целом, наше обсуждение здесь подготавливает почву для разработки статистических моделей, позволяющих оценивать и улучшать торговые стратегии на основе результатов работы нашего первоначального ансамбля.

При создании ансамбля закономерно возникает вопрос: как доказать, что все выбранные стратегии необходимы? Можем ли мы быть уверены, что результаты не были бы лучше, если бы мы использовали только некоторые из них? Как нам убедиться в этом на собственном опыте?

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

Чтобы добиться этого, мы позволим нашим стратегиям взаимодействовать на принципах демократии, где каждой из них разрешен только один голос. При этом вес голоса каждой стратегии станет настраиваемым параметром, который будет корректироваться генетическим оптимизатором. Если оптимизатор определит, что одна из наших стратегий не вносит положительного вклада в общую эффективность, он установит вес её голоса близким к нулю. И наоборот, он увеличит веса тех стратегий, которые приносят прибыль.

Таким образом, мы представляем этот фреймворк как политику взвешенного голосования, в которой изначально задаем эталонный уровень производительности, распределяя веса голосов равномерно. В нашем примере мы начинаем с того, что каждой стратегии присваивается вес 0.5 по шкале от 0 до 1. 

Далее мы позволяем генетическому оптимизатору изменять эти веса, чтобы максимизировать прибыльность и определить, действительно ли все три стратегии приносят пользу.

Как оказалось, эта процедура выдает множество различных конфигураций, каждая из которых показывает, как полезность стратегии может меняться в зависимости от её конкретных настроек. В каждой уникальной конфигурации веса стратегий смещаются. Так, может возникнуть ситуация, где только одна стратегия окажется полезной, в то время как в другом наборе параметров все три будут вносить положительный вклад. 

Это делает вопрос "Необходимы ли все три стратегии?" по-настоящему сложным. Наши результаты показывают, что ответ напрямую зависит от того, какую именно конфигурацию приложение использовало изначально. Приступим.


Автор: Gamuchirai Zororo Ndawana