Принципы работы с генетическим оптимизатором МТ5 (Вопросы)

 

С генетикой в МТ5 практически не доводилось работать, однако возникла необходимость протестировать эксперта с множеством параметров. Казалось что вроде все просто - загнал в тестер, выбрал режим "Генетическая оптимизация" и получил некий набор прогонов. Но вот что с ними делать дальше? Как выбрать нужный сет? Как убедиться в его устойчивости? Но пойдем по порядку.

После прогона эксперта, был получен следующий график оптимизации:

Я хотел сосредоточиться на прогонах помеченных красной областью, но не смог этого сделать, потому что каждый проход имеет странную нумерацию:

 

Непонятно, что означает первая цифра, а что вторая? Номер поколение? Номер прогона? 

Затем я сохранил прогоны оптимизации в Excel файл. Результат получился иной:

Во-первых, сохранились не все прогоны (хотелось бы узнать почему)

Во-вторых, график оптимизации стал вот таким:

 

Что делать с этим графиком абсолютно непонятно. Нужно выбрать не просто лучший параметр, но и наиболее устойчивый. Отсюда вопрос, как выбираете наиболее устойчивые параметры Вы, если используете генетику? OOS? Walking? Как насчет тестирования соседних точек лучшего результата? На сколько прибыльны они? Насколько результат отличается от лучшего? Как найти эти соседние точки если тестирование выполнено через генетику? 

 

 Отсюда вопрос, как выбираете наиболее устойчивые параметры Вы, если используете генетику? OOS? Walking? Как насчет тестирования соседних точек лучшего результата? На сколько прибыльны они? Насколько результат отличается от лучшего? Как найти эти соседние точки если тестирование выполнено через генетику? 

Устойчивые параметры - а что это такое по-вашему. И  зачем оно вам. Добиваться надо устойчивой системы, а не устойчивых параметров. Код надо проверять на неоптимизированных участках. Т.е. надо применять волк-форвард. Сама же оптимизация  мало что дает, какие особые параметры не выбирай.

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

Мой опыт показывает, что критерии  для оптимизации должны быть

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

2. не создающими условия для ловушек оптимизации. Лично я беру просто чистую прибыль, помноженную на линеарную корреляцию, которая описывает насколько кривая ровная.

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

OOS  отличается от оптимизированных участков очень сильно и по качеству и по количеству сделок. И отличие это , как правило, в худшую сторону. 

 
Youri Tarshecki:

надо применять волк-форвард. Сама же оптимизация  мало что дает, какие особые параметры не выбирай.

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

...

Все это конечно прекрасно, но в МТ5 нет Волкинга, а есть весьма примитивный форвард. В связи с чем возникает главный вопрос:

Как приспособить то, что уже есть в МТ5, к грамотной оптимизации!?

Второй вопрос возникает из первого:

А можно ли вообще использовать грамотную процедуру оптимизации в МТ5: 

  • Вариант 1. Используя лишь штатные средства;
  • Вариант 2. Расширяя штатные средства дополнительными инструментами;

 
Vasiliy Sokolov:

Все это конечно прекрасно, но в МТ5 нет Волкинга, а есть весьма примитивный форвард. В связи с чем возникает главный вопрос:

Как приспособить то, что уже есть в МТ5, к грамотной оптимизации!?

Второй вопрос возникает из первого:

А можно ли вообще использовать грамотную процедуру оптимизации в МТ5: 

  • Вариант 1. Используя лишь штатные средства;
  • Вариант 2. Расширяя штатные средства дополнительными инструментами;

Опять вы не определяете  -а что это такое - грамотная оптимизация и какова ее цель. На мой взгляд без тестирования в режиме волкин-форвард любая оптимизация бессмыслена, следовательно может иметь только предварительное значение.

Считать же оптимизацию тестированием и есть основная безграмотность.  А, главное, эту безграмотность транслируют сами метаквоты, смешивая эти два понятия  в своих рекламных объяснялках.

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

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

А пока можете ручками тренироваться. -) 

 

Честно говоря, я не понимаю как работает тестер МТ. Я также не понимаю как работает оптимизация в тестере МТ. Хотя честно пытался в этом разобраться.

У меня и тестирование и оптимизация сделаны в VBA Excel. Я досконально знаю как это работает, что при этом происходит и пр. И, главное, могу полностью доверять результатам.

Я, скажем, не понимаю, почему одна и та-же стратегия в тестере МТ и тестере Excel на одном и том-же интервале и аналогичных данных дают оч существенно различающиеся результаты. В своем тестере я могу проверить каждую сделку, и убедиться, что сделки совершены строго в соответствии со стратегией. В тестере МТ я этого не делал, хотя, в принципе, это, разумеется, возможно, но реализуется значительно сложнее. Хотя и без проверки ясно, что что-то идет не так. Не вижу особого смысла в том, чтобы узнавать что конкретно.

 
Ну так и продолжайте в екселе. Метаквоты волк-форвард еще, похоже, не скоро сделают.
 
Youri Tarshecki:
Ну так и продолжайте в екселе. Метаквоты волк-форвард еще, похоже, не скоро сделают.
Я и продолжаю. Придумывать себе проблемы, а потом решать их - эт не мое. Лишь поделился результатом наблюдения.
 
Yuriy Asaulenko:

Честно говоря, я не понимаю как работает тестер МТ. Я также не понимаю как работает оптимизация в тестере МТ. Хотя честно пытался в этом разобраться.

У меня и тестирование и оптимизация сделаны в VBA Excel. Я досконально знаю как это работает, что при этом происходит и пр. И главное, могу полностью доверять результатам.

Я, скажем, не понимаю, почему одна и та-же стратегия в тестере МТ и тестере Excel на одном и том-же интервале и аналогичных данных дают оч существенно различающиеся результаты. В своем тестере я могу проверить каждую сделку, и убедиться, что сделки совершены строго в соответствии со стратегией. В тестере МТ я этого не делал, хотя, в принципе, это, разумеется, возможно, но реализуется значительно сложнее. Хотя и без проверки ясно, что что-то идет не так. Не вижу особого смысла в том, чтобы узнавать что конкретно.

Выделенное цветами можете в каждом своём посте в виде автографа ставить.

На ряду с частями форума RU, EN и другими нужно бы добавить ещё одну - DU. И всех товарисчей с подобными заявлениями депортировать туда в принудительном порядке. 

 
Vasiliy Sokolov:

Что делать с этим графиком абсолютно непонятно. Нужно выбрать не просто лучший параметр, но и наиболее устойчивый. Отсюда вопрос, как выбираете наиболее устойчивые параметры Вы, если используете генетику? OOS? Walking? Как насчет тестирования соседних точек лучшего результата? На сколько прибыльны они? Насколько результат отличается от лучшего? Как найти эти соседние точки если тестирование выполнено через генетику? 

Как бы Вы поступили с вариантами параметров после полного перебора?

Чем отличается га-оптимизация от полного перебора?

Чем проверка на OOS лучше (и лучше ли), чем оптимизация сразу на всём участке Back+Forward? 

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

WF - оптимизация, что с ней может быть "не так", в условиях когда характеристики ценового ряда меняются?

В штатном тестере нет инструментария, что бы попытаться ответить на эти вопросы. Есть только один самый надёжный путь в сложившейся ситуации - провести полный перебор на максимально доступной истории (как бы это ужасно не звучало) и выбрать самый стабильный результат, или писать собственный тестер/оптимизатор.

И. Ранее нас активно учили, что самая хорошая история - это история взятая с торгового сервера на котором предполагается торговля. Но проблема в том, что оказывается история вовсе не история цен "обзор рынка". Опять же, единственно правильный путь в сложившейся ситуации - копить историю "обзор рынка", писать свой тестер и тестировать/оптимизировать на полученной таким образом истории. Разработчики вроде бы обещали дать возможность тестировать на кастомной истории, так можно будет использовать накопленную самостоятельно историю штатными средствами, но поставленные выше вопросы всё равно останутся без ответов, если не начнёт появлятся штатный инструментарий для анализа полученных результатов оптимизации.

Короче, картину я нарисовал в рыже-бурых оттенках, не в рифму, но зато по теме.)) 

 

И ещё "на подумать". Мною подмечено, что характер движения торгового инструмента меняется с периодичностью 1 год. К примеру, на картинке ниже изобра'жено движение торгового инструмента на протяжении 2х лет, красным и жёлтым указаны соответствующие участки истории за каждый год. Чем отличаются участки? Какие системы начнут сливать на 2-й год? Вот делали мы всякие валк-форварды, всё по науке как гугл учит, ан нет - система сливает и всё тут! Так в чем же дело?

 

 

И ещё "на подумать". Мною подмечено, что характер движения торгового инструмента меняется с периодичностью 1 год. К примеру, на картинке ниже изобра'жено движение торгового инструмента на протяжении 2х лет, красным и жёлтым указаны соответствующие участки истории за каждый год. Чем отличаются участки? Какие системы начнут сливать на 2-й год? Вот делали мы всякие валк-форварды, всё по науке как гугл учит, ан нет - система сливает и всё тут! Так в чем же дело?

 

А откуда вы знаете, что ваша система не подстроится на разных годах? 

Если вы возьмете те же участки на таймфреймах поменьше, то вполне вероятно, что принципиальных изменений не обнаружится при волкине. У меня, по крайней мере, при шаге волк-форварда 1 мес и оптимизируемом участке 2 мес результаты за последние 5 лет примерно одинаковые. При этом, я даже вам не скажу на каких ТФ, поскольку их несколько и каждый оптимизируется.-меняется

Хотя, конечно, надо прогнать на более глубогой истории, просто руки не доходят. 

 
Почитайте детальные статьи про тестер и генетический оптимизатор: https://www.mql5.com/ru/articles/mt5/strategy_tester
Статьи по MQL5: Тестер
Статьи по MQL5: Тестер
  • www.mql5.com
Статьи по программированию на языке MQL5