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

 
Renat:

А что мешает мешает использовать "встроенные в MQL5 код пределы критериев для автоматического нормирования" вместо вытаскивания их на уровень движка?

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

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

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


Замечены ситуации когда семеро нодов одного ждут. Причём долго.
В природе же бывают браки и между разными поколениями 80) У некоторых видов даже приветствуется, способность к размножению наступает у самок и самцов в различном возрасте.

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


Замечены ситуации когда семеро нодов одного ждут. Причём долго.
В природе же бывают браки и между разными поколениями 80) У некоторых видов даже приветствуется, способность к размножению наступает у самок и самцов в различном возрасте.

Это не немного в сторону, это сильно в сторону, прямо аж сюда Облако, "Turbo"-режим генетической оптимизации
 
Renat:

1. А что мешает мешает использовать "встроенные в MQL5 код пределы критериев для автоматического нормирования" вместо вытаскивания их на уровень движка?

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

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

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

2. Два-три прогона? Да нет, не хватит трёх прогонов (на первых нескольких прогонах прибыль была -1000 а на последующих появились значения порядка 10000 и они учтены не будут - вся нормализация полетит к чертям собачачьим).

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


Так что, повторюсь - решения на стороне MQL5 есть, но они не будут работать в облаке.

 

joo:
 Дело в области значений совокупного показателя критериев. Оптимизатор заведомо ищет не там (не потому что он плох, а потому что таков совокупный критерий - из за перекоса), где хотел бы искать пользователь. Отсюда, варианты оптимизации, любо-дороги пользователю, даже и не появятся вообще. Пользователю остается лишь выбирать среди тех вариантов, которые ‘‘получились‘‘, причем это единичные случаи среди остальных вариантов результатов, так как остальная масса результатов сосредоточена именно на тех, где баланс максимален. А для робастости, как говорят, необходим пологий участок нужных результатов (а он получится "дырявым"). 

!!!

Поэтому я сделал оптимизацию в сове на МТ4, а не из-за ограничений встроенного в терминал. 

 
joo:

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

2. Два-три прогона? Да нет, не хватит трёх прогонов (на первых нескольких прогонах прибыль была -1000 а на последующих появились значения порядка 10000 и они учтены не будут - вся нормализация полетит к чертям собачачьим).

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


Так что, повторюсь - решения на стороне MQL5 есть, но они не будут работать в облаке.

2. Я так и знал, что главным параметром выйдет прибыль. Остальные статистические торговые характеристики более-менее хорошо ложатся в заранее просчитываемые пределы.

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

 
Renat:

2. Я так и знал, что главным параметром выйдет прибыль. Остальные статистические торговые характеристики более-менее хорошо ложатся в заранее просчитываемые пределы.

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

Прибыль как критерий взял для примера, он не главный для меня (для кого то может и да).

Ну, тогда, для примера - количество сделок. Как быть тут?

Да мало ли ещё какие критерии? - заранее поставить предел критерию означает, что лучше уж так как сейчас есть.....

Профит фактор так вообще у некоторых ТС может быть заоблачным - вот ещё пример.

 

Сначала хотел написать на тему "многокритериальная оптимизация vs оптимизация по одному кастомному критерию". Затем передумал, захотелось написать про ГА, затем снова передумал и пришел опять к тому же:

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

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

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

Почему я формулирую (не задаю) такой вопрос? Причина в том, что многие даже не представляют, что исследовать. Получается, что их, своего рода, все устраивает. Что же тогда ограничивает в нахождении рыночных закономерностей? Напрашивается неприятный ответ - интеллектуальные возможности и лень.

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

Точно также допустим, что мы проводим не ГА нашей ТС, а полный перебор, при этом любой проход вычисляется мгновенно и доступен откуда угодно. Мы знаем значения любых, что только можем придумать, критериев для каждого прохода. Что при таких условиях делать дальше? Что мы вообще хотим получить? Как не оптимизировать, а как выбирать? У меня, как в цитате выше, ответы себе же, к сожалению, крайне примитивны.
 
hrenfx:
Точно также допустим, что мы проводим не ГА нашей ТС, а полный перебор, при этом любой проход вычисляется мгновенно и доступен откуда угодно. Мы знаем значения любых, что только можем придумать, критериев для каждого прохода. Что при таких условиях делать дальше? Что мы вообще хотим получить? Как не оптимизировать, а как выбирать? У меня, как в цитате выше, ответы себе же, к сожалению, крайне примитивны.

Хорошая постановка вопроса. Получить все варианты мгновенно.... Хммм.

Однако:

На первый, и даже на второй и третий и четвертый взгляд представляется, что оптимизация  и выбор не одно и тоже. На самом деле, это Одно и Тоже. Применим ли мы какой либо алгоритм оптимизации (в нашем случае ГА) или будем проводить полный перебор - цель на самом деле одна оптимизация, она же выбор. Просто в первом случае получится быстрее и автоматом применены критерии, а во втором случае соответственно намного дольше, но при выборе среди результатов мы так же будем руководствоваться теми же критериями! Вот пример, да простят меня админы. Эта программа как раз этим и занимается - выбором среди готовых вариантов перебора.

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

 

Оптимизация - это расчет и выбор. Допустим, первая часть (расчет) сделана - есть матрица, где строки - проходы, столбцы - критерии. Для того, чтобы определиться со способом выбора, нужно формализовать понимание, что же мы хотим получить. И если не ответить на него, то говорить о "многокритериальная оптимизация vs оптимизация по одному кастомному критерию" или о различных инструментах (а-ля ГА, НС и т.д.) становится несколько странным: инструмент ради инструмента. А цель, как была не формализована, так и остается.

 
hrenfx:

Оптимизация - это расчет и выбор. Допустим, первая часть (расчет) сделана - есть матрица, где строки - проходы, столбцы - критерии. Для того, чтобы определиться со способом выбора, нужно формализовать понимание, что же мы хотим получить. И если не ответить на него, то говорить о "многокритериальная оптимизация vs оптимизация по одному кастомному критерию" или о различных инструментах (а-ля ГА, НС и т.д.) становится несколько странным: инструмент ради инструмента. А цель, как была не формализована, так и остается.

Ну, здесь полная свобода. Кто сделает правильный выбор (подбор и настройка критериев), того и будут тапочки. Природный ГА никто никогда не отменял - все богатыми не будут никогда, к сожалению... или к счастью.

 Опять же, критерии это инструмент, облегчающий выбор, но не делающий его однозначно верным (никто никогда не знает, правильный ли выбор он делает в каждый момент соей жизни).

Причина обращения: