Обсуждение статьи "Генетические алгоритмы - это просто!" - страница 5

 
Обновил библиотеку UGA и примеры к статье. Текущая свободная авторская версия 1.2.1.

Файлы:
 

Изучал статью и в коде нашел такое несоответствие, в двух функциях для получения значений диапазона используется одна и та же формула: 

//Репликация
void Replication
...
    //Назначим границы создания нового гена
    Minimum = C1-((C2-C1)*ReplicationOffset);
    Maximum = C2+((C2-C1)*ReplicationOffset);
...

/////////////////////////////////////////////

//Искусственная мутация.
void ArtificialMutation
...
    //Назначим границы создания нового гена
    Minimum=C1-((C2-C1)*ReplicationOffset);
    Maximum=C2+((C2-C1)*ReplicationOffset);
...

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

Мне видится, что для метода репликации необходимо поменять знаки:

    Minimum = C1+((C2-C1)*ReplicationOffset);

    Maximum = C2-((C2-C1)*ReplicationOffset);


 

 
Batohov:

Изучал статью и в коде нашел такое несоответствие, в двух функциях для получения значений диапазона используется одна и та же формула: 

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

Мне видится, что для метода репликации необходимо поменять знаки:

    Minimum = C1+((C2-C1)*ReplicationOffset);

    Maximum = C2-((C2-C1)*ReplicationOffset);

Ошибки или несоответсвия нет. И в репликации и в искусственной мутации одинаково определяются границы вероятного появления нового гена (приведённые Вами участки кода).

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

Репликация служит для передачи признаков, характерных генам обоих родителей (в пределах границ).

Искусственная мутация служит для генерации новых генов, отличных от генов родителей (за пределами границ).

 
joo:

Ошибки или несоответсвия нет. И в репликации и в искусственной мутации одинаково определяются границы вероятного появления нового гена (приведённые Вами участки кода).

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

Репликация служит для передачи признаков, характерных генам обоих родителей (в пределах границ).

Искусственная мутация служит для генерации новых генов, отличных от генов родителей (за пределами границ).

Спасибо за быстрый ответ, я понял ход Вашей мысли.
 
joo:

Кстати, очень приятно являться разрушителем одного из самых известных трейдерских мифов, связанного с ZZ (вторая задача в статье).  :)

Видимо, я не понял формулировки задачи. Мое утверждение:

Точки входа для максимальной прибыли с уловием, что мин. сделка N пунктов, располагаются на вершинах ЗигЗага с условием мин. колена N + Spread пунктов.

 
joo:

В ветке на MQL4 форума "Тестовая многопеременная многоэкстремальная функция"   я выкладывал некоторые интересные тестовые функции, одна из них представлена в статье.

Если есть желание, можете попробовать найти экстремумы предлагаемых функций другими алгоритмами оптимизации отличными от GA и выложить результаты здесь. Милости прошу. Всем будет интересно и мне в первую очередь. 

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

Исходные коды альтернативных методов оптимизации можно найти здесь (http://alglib.sources.ru/optimization/) и здесь (http://ool.sourceforge.net/).

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

Какие целевые функции вы используете на практике?

 
hrenfx:

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

Исходные коды альтернативных методов оптимизации можно найти здесь (http://alglib.sources.ru/optimization/) и здесь (http://ool.sourceforge.net/).

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

Какие целевые функции вы используете на практике?

При разработке и отладке UGA я пользовался тестовыми целевыми функциями в той ветке, которую Вы указали. Они разные по характеру своих ландшафтов - есть и гладкие и с острыми переломами. UGA справляется со всеми ними.
 
joo:
При разработке и отладке UGA я пользовался тестовыми целевыми функциями в той ветке, которую Вы указали. Они разные по характеру своих ландшафтов - есть и гладкие и с острыми переломами. UGA справляется со всеми ними.
Плохо сформулировал свой вопрос. Какие оптимизационные задачи решаете, применительно к фин. рынкам? Понимаю, что решать можно, что угодно. Интересует именно, что Вы решаете.
 
hrenfx:
Плохо сформулировал свой вопрос. Какие оптимизационные задачи решаете, применительно к фин. рынкам? Понимаю, что решать можно, что угодно. Интересует именно, что Вы решаете.
По большей части использую алгоритм для обучения нейронных сетей в составе моей АТС.
 
Prival:

Просто ваша вторая задача (её) решение, необходима для решения вот этой задачи

https://www.mql5.com/ru/forum/123072/page6#254964 (кстати очень интересная ветка)

в свое время я хотел (соединить эти две задачи) и посчитать, посмотреть, подумать, но руки как всегда не дошли (времени как всегда в сутках мало).

Посмотрите здесь.
Оптимальные значения SL и ТР ордеров для произвольной ТС. - MQL4 форум
  • www.mql5.com
Оптимальные значения SL и ТР ордеров для произвольной ТС. - MQL4 форум
Причина обращения: