Как работает генетический алгоритм МТ4

 

Здравствуйте.

Спасибо MQ за нововведение - функцию OnTester() - она теоретически позволяет решать задачу оптимизации более грамотно. И как в принципе она создавалась скорее всего для многокритериальной оптимизации.
Я давно придумал универсальную фитнес функцию для многокритериальной оптимизации, универсальность заключается в том что она подойдёт к любой торговой системе. Знаю, звучит громко и многообещающе, но по факту я её уже тестировал на генетическом алгоритме написанном на коленке(это не важно потому что выполнял он свои задачи вполне нормально), который оптимизировал веса НС. Идее много лет, но ничего похожего ещё в сети не нашёл. и я готов поделиться с общественностью при определённых условиях.

Так вот, для экспериментов и доведения "до ума" мне нужно знать как работает ГА в МТ4, а именно:
1. Сколько особей(наборов параметров) в одной популяции?
2. Когда генерируется новая популяция учитывается критерий оптимизации по всем проходам, или только проходы последней популяции?

Только нужны точные ответы, нужно это точно знать, а не по аналогии с  общедоступными ГА.
После получения ответов, возможно появятся новые вопросы...

Заранее спасибо, с уважением, Артём. 

 

Для начала https://www.mql5.com/ru/articles/1408

Дальше по ссылкам сами разберётесь

Генетические алгоритмы - математический аппарат
Генетические алгоритмы - математический аппарат
  • 2006.06.13
  • MetaQuotes Software Corp.
  • www.mql5.com
Генетические алгоритмы предназначены для решения задач оптимизации. Примером подобной задачи может служить обучение нейросети, то есть подбора таких значений весов, при которых достигается минимальная ошибка. При этом в основе генетического алгоритма лежит метод случайного поиска.
 
А можно как то сделать, чтобы в МТ4 производить оптимизацию по фактору восстановления?
 
Slawa:

Для начала https://www.mql5.com/ru/articles/1408

Дальше по ссылкам сами разберётесь

Спасибо, давно читал эту статью. Но она никак не отвечает на мои вопросы...
 
khorosh:
А можно как то сделать, чтобы в МТ4 производить оптимизацию по фактору восстановления?
Да можно ! :)))
Посмотри функцию(событие) OnTester в описании...
 
khorosh:
А можно как то сделать, чтобы в МТ4 производить оптимизацию по фактору восстановления?
Можно. В MT4 добавили кастомный результат выполнения функции OnTester. Считаете, что Вам нужно.
 
Artem Titarenko:
Спасибо, давно читал эту статью. Но она никак не отвечает на мои вопросы...

Я ещё добавил фразу "по ссылкам". По соседним ссылкам и по поиску - очень много обсуждали.

Что Вам даст знание о размере популяции?

1. Популяция от 64 до 256 особей

2. Новая популяция генерируется после формирования предыдущей популяции и только по результатам этой популяции (а как иначе?)

 
Slawa:

1. Популяция от 64 до 256 особей

2. Новая популяция генерируется после формирования предыдущей популяции и только по результатам этой популяции (а как иначе?)

можно сгенерировать популяцию на основе всех предыдущих популяции, вариантов масса...
Slawa:

Я ещё добавил фразу "по ссылкам". По соседним ссылкам и по поиску - очень много обсуждали.

Что Вам даст знание о размере популяции?

Пока не могу сказать, но я думал что число особей всегда одинаковое, это сильно упростило бы задачу программирования. И Ваш ответ всеравно сильно упрощает задачу...
Как будут проведены эксперименты и закреплены юридические права, я обязательно опубликую статью...

Спасибо!
 
Artem Titarenko:
можно сгенерировать популяцию на основе всех предыдущих популяции, вариантов масса...

Пока не могу сказать, но я думал что число особей всегда одинаковое, это сильно упростило бы задачу программирования. И Ваш ответ всеравно сильно упрощает задачу...
Как будут проведены эксперименты и закреплены юридические права, я обязательно опубликую статью...

Спасибо!

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

Но после того, как высчитали размер популяции, этот размер не меняется на протяжении всей данной генетики

 
Artem Titarenko:

...Я давно придумал универсальную фитнес функцию для многокритериальной оптимизации, универсальность заключается в том что она подойдёт к любой торговой системе...

Извините. Напомнило байку про банан и ЛСД.
 
Artem Titarenko:
Да можно ! :)))
Посмотри функцию(событие) OnTester в описании...
Не могли бы дать ссылку на пример как это делается?