Обсуждение статьи "Непрерывная скользящая оптимизация (Часть 1): Механизм работы с отчетами оптимизации"

 

Опубликована статья Непрерывная скользящая оптимизация (Часть 1): Механизм работы с отчетами оптимизации:

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

Конкретно данная часть статьи посвящена созданию инструментария для работы с отчетностью оптимизации, ее импорта из терминала, а так же процессам фильтрации и сортировки полученных данных. Для большей структурированности файла был выбран формат (*xml), который отвечает всем требованиям. Данные структурированные таким образом, читабельны как для человека, так и для программ. К тому же мы можем сгруппировать данные по заданным блокам внутри самого файла и более быстро получать доступ к интересующей информации.

Так как для работы нашей программе, которая является сторонним процессом и написана на C#, понадобится создавать и читать созданные (*xml) документы наравне с программами, написанными на MQL5, то  было принято сразу вынести блок создания отчета в DLL-библиотеку, которая будет использоваться совместно как в MQL5, так и в C# коде. Учитывая, что для написания MQL5 кода нам понадобится данная библиотека, то сначала в данной статье мы опишем процесс ее создания, а уже в следующей статье будет описание MQL5 кода, работающего с созданной библиотекой и формирующего параметры оптимизации, о которых будет идти речь уже в данной статье.

Структура отчета и требуемые коэффициенты

Как уже было показано в прошлых статьях MetaTrader 5 умеет самостоятельно выгружать отчет проходов оптимизаций, однако он на настолько информативен, как отчет формируемый на вкладке Backtest после завершения теста для конкретного набора параметров. Для того чтобы иметь больший простор в работе с оптимизационными данными, хотелось бы сочетать в отчете многие из данных, отображаемых на данной вкладке, а также иметь возможность добавления в отчет собственных данных. Для данных целей было принято решение выгружать отчет, сформированный сомастоятельно, а не тот, что предлагается стандартным решением. Для начала стоит определиться с тремя типами данных необходимыми для функционирования нашей программы:

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

Автор: Andrey Azatskiy

 

Где-то, в описании Metatrader-4 я видел фразу, смысл которой был в том, что MQL4 создан специально, чтобы любая домохозяйка могла описать свою стратегию и запустить на терминале. Не все же тут инженеры-программисты.

Может MQ когда-нибудь снизойдут до автоматизации процесса оптимизации прямо в тестере, а пока энтузиастам приходиться конструировать методы с помощью средств сторонних от MQL. Спасибо вам, Andrey Azatskiy за ваши усилия. Надеюсь, в конце цикла статей будет краткая инструкция по использованию вашего софта для тех, кому не дано быстро понять о чём было написано в статье.

 
Good Beer:

Где-то, в описании Metatrader-4 я видел фразу, смысл которой был в том, что MQL4 создан специально, чтобы любая домохозяйка могла описать свою стратегию и запустить на терминале. Не все же тут инженеры-программисты.

Может MQ когда-нибудь снизойдут до автоматизации процесса оптимизации прямо в тестере, а пока энтузиастам приходиться конструировать методы с помощью средств сторонних от MQL. Спасибо вам, Andrey Azatskiy за ваши усилия. Надеюсь, в конце цикла статей будет краткая инструкция по использованию вашего софта для тех, кому не дано быстро понять о чём было написано в статье.

Была статья про пошаговую форвард-оптимизацию с помощью MQL, без сторонных средств, в единственном экземпляре терминала:

Статьи

Walk-Forward оптимизация в MetaTrader 5 - своими руками

Stanislav Korotky, 2017.06.08 15:03

В статье рассматриваются подходы, позволяющие достаточно точно эмулировать walk-forward оптимизацию с помощью встроенного тестера и вспомогательных библиотек, реализованных на MQL.

 
Good Beer:

Где-то, в описании Metatrader-4 я видел фразу, смысл которой был в том, что MQL4 создан специально, чтобы любая домохозяйка могла описать свою стратегию и запустить на терминале. Не все же тут инженеры-программисты.

Может MQ когда-нибудь снизойдут до автоматизации процесса оптимизации прямо в тестере, а пока энтузиастам приходиться конструировать методы с помощью средств сторонних от MQL. Спасибо вам, Andrey Azatskiy за ваши усилия. Надеюсь, в конце цикла статей будет краткая инструкция по использованию вашего софта для тех, кому не дано быстро понять о чём было написано в статье.

Еще планирую написать две статьи. Во второй статье подробно будет разъясняться как подцепить данную форвард оптимизацию к любому роботу исходный код которого у Вас имеется, а в последней статье будет разъяснение самого оптимизатора форвардного и видео пример как его запускать. 

 
Stanislav Korotky:

Была статья про пошаговую форвард-оптимизацию с помощью MQL, без сторонных средств, в единственном экземпляре терминала:


Возможно, однако сторонние средства так же дают свои преимущества. Позже они будут освящены.

 
Stanislav Korotky:

Была статья про пошаговую форвард-оптимизацию с помощью MQL, без сторонных средств, в единственном экземпляре терминала:


.....c подключением платной библиотеки. Кажется она на SQLite работает?
 
Good Beer:
.....c подключением платной библиотеки. Кажется она на SQLite работает?

Нет никаких зависимостей, только MQL.

В той статье подробно описаны 2 способа проведения Walk-Forward анализа штатным тестером, которые можно реализовать в упрощенном виде для себя бесплатно. Библиотека просто содержит некоторые полезности в готовом виде, вроде расчета всех основных торговых показателей и построения "сшитых" html-отчетов.

 
Stanislav Korotky:

Нет никаких зависимостей, только MQL.

В той статье подробно описаны 2 способа проведения Walk-Forward анализа штатным тестером, которые можно реализовать в упрощенном виде для себя бесплатно. Библиотека просто содержит некоторые полезности в готовом виде, вроде расчета всех основных торговых показателей и построения "сшитых" html-отчетов.

И правда. Дана пара советов. Простите, в массе текста не заметил. Для понимания вполне достаточно.
 
В последствии если будите обсуждать статью Станислава, пишите в ветке его статьи, благодарю.
 

По поводу оптимизации вспоминается фраза Остапа Бендера - когда у него спросили "А почему введена оплата при экскурсии по "Провалу", он ответил: "Чтобы не особо проваливался".

Так и с оптимизацией, если ТС создана на основе традиционных подходов.

Модель (алгоритм) робота должна опираться на элементарную структуру (и динамику изменения её параметров), а не на показания традиционных индикаторов.

Тогда оптимизация становится не бесконечной, непонятной подборкой к динамике рынка (причём к историческим данным), а более осознанным процессом, где количество

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

Именно так это вопрос решается в теории импульсного равновесия.

 
Aleksandr Masterskikh:

По поводу оптимизации вспоминается фраза Остапа Бендера - когда у него спросили "А почему введена оплата при экскурсии по "Провалу", он ответил: "Чтобы не особо проваливался".

Так и с оптимизацией, если ТС создана на основе традиционных подходов.

Модель (алгоритм) робота должна опираться на элементарную структуру (и динамику изменения её параметров), а не на показания традиционных индикаторов.

Тогда оптимизация становится не бесконечной, непонятной подборкой к динамике рынка (причём к историческим данным), а более осознанным процессом, где количество

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

Именно так это вопрос решается в теории импульсного равновесия.

Столь откровенная реклама тем более в нескольких темах подряд на форуме не приветствуется, но да это дело Ваше.