Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У Вас 4 параметра, вот Вам и нужно организовать как то работу этих 4х параметров только с корректными значениями, тогда от генетики может быть толк.
Это как?
Если каждый парам_ может принимать 3 корректных значения, то при использовать_параметр = true получается 81 проход, а если = false, то 80 проходов получаются бесполезными.
Ну и как же "как то" это организовать?
Это как?
Если каждый парам_ может принимать 3 корректных значения, то при использовать_параметр = true получается 81 проход, а если = false, то 80 проходов получаются бесполезными.
Ну и как же "как то" это организовать?
Я не могу дать ответ на данный вопрос, так-как минимум не понимаю условий оптимизации - либо Вы плохо излагаете либо я туплю.
У Вас 4 параметра взаимозависимых или по две пары?
Если 4 взаимозависимых, и Вы, как ранее писали, все варианты положили в один файл в виде одной настройки, то генетика случайным(а может и другим методом - вопрос к MQ) образом заполнит поле и оптимизирует выбранную часть. Если же у Вас есть другие параметры для оптимизации, вне этих 4х, то генетика сможет искать оптимальные настройки относительно выбранных и других параметров.
уже не раз говорили разными словами. преобразование пространства входов. в вашем случае можно генерить только валидные цепочки.
у вас 1953 валидных комбинации. выносите настройку int от 0 до 1952 и по порядковому номеру генерите правильную комбинацию. это как вариант.
Вот в этом и состоит ваша ошибка. "Лишних" проходов в генетике нет. Она сама всё раскладывает по полочкам, отсеивая лишнее, за счёт чего в итоге и достигается экономия времени и ресурсов. А вы только мешаете ей.
По сути, вы противоречите сами себе. Сначала говорите, что нужно чтобы всё само работало при нажатии волшебной кнопки, без каких либо дополнительных усилий с вашей стороны. Но при этом сами же устраиваете шаманства в коде, якобы помогая алгоритму оптимизации.
Короче, теперь всё проясняется:
Не нужно ничего отсеивать по INIT_PARAMETERS_INCORRECT, вычисляйте 121 в соответствии с логикой вашей программы, а генетика сделает своё дело, и результат будет получен менее, чем за 1953 прохода.
Если же проводить оптимизацию полным перебором, тогда конечно лишние проходы не нужны. Можно ввести дополнительный параметр в вашем советнике, задающий тип оптимизации. Если полный перебор, то лишние проходы отсеиваются, а если генетика - то нет. Жаль что в MQL отсутствует штатная возможность узнать тип оптимизации. Надо попросить разработчиков добавить такую функцию.
В том то и дело, что когда я впервые столкнулся с проблемой того, что в результатах оптимизации десятки результатов были эдентичны, я тогда создал тему в которой спрашивал как от этого избавиться. К сожалению, после бана из моих публикаций исчезли все мои темы и все мои комментарии, так что ссылку дать не могу.
Так вот именно там мне и подсказали использовать INIT_PARAMETERS_INCORRECT
И да, я не понимаю зачем нужно заниматься заведомо бесполезными прогонами:
если это, по сути, одно и то же?
А из того, что я знаю про генетику, получается что будут крутиться эти повторяющиеся цепочки, а наилучшие вообще могут в поле зрения этого алгоритма не попасть... Разве не так?
уже не раз говорили разными словами. преобразование пространства входов. в вашем случае можно генерить только валидные цепочки.
у вас 1953 валидных комбинации. выносите настройку int от 0 до 1952 и по порядковому номеру генерите правильную комбинацию. это как вариант.
В итоге я так и сделал...
И да, я не понимаю зачем нужно заниматься заведомо бесполезными прогонами:
если это, по сути, одно и то же?
А из того, что я знаю про генетику, получается что будут крутиться эти повторяющиеся цепочки, а наилучшие вообще могут в поле зрения этого алгоритма не попасть... Разве не так?
Так а что такое наилучшие цепочки? Это тоже некоторое число повторяющихся копий. И эта повторяемость увеличивает шансы того, что одну из этих копий зацепит поиск.
Т.е. по сути шансы (вероятности) абсолютно одинаковы, что с повторениями, что без. Соответственно и время генетического поиска будет тоже одинаковым в обоих случаях.
В общем, я вам всё-таки рекомендую разобраться, как работает генетический алгоритм. Иначе бесполезно вам что-то объяснять.
Так а что такое наилучшие цепочки? ...
Если бы я знал, то и оптимизация была бы не нужна.
Возможно наилучшая это 326000, 514300 или 346215?
Если бы я знал, то и оптимизация была бы не нужна.
Возможно наилучшая это 326000, 514300 или 346215?
То был просто вводный вопрос, на который я давал объяснение.
Поэтому не "наилучшая", а "наилучшИЕ, учитывая всевозможные копии этой цепочки.
Вы не понимаете простую вещь, что отсеивая цепочку по INIT_PARAMETERS_INCORRECT, вы возможно упускаете именно одну из этих успешных цепочек, или близкую к ним. Поэтому поиск короче не становится.
То был просто вводный вопрос, на который я давал объяснение.
Поэтому не "наилучшая", а "наилучшИЕ, учитывая всевозможные копии этой цепочки.
Вы не понимаете простую вещь, что отсеивая цепочку по INIT_PARAMETERS_INCORRECT, вы возможно упускаете именно одну из этих успешных цепочек, или близкую к ним. Поэтому поиск короче не становится.
Я отсеиваю ИСКЛЮЧИТЕЛЬНО повторяющиеся! В примере отмечены красным фоном.
Чем может быть лучше цепочка 120000 цепочки 010020 ??? Это одна и та же цепочка! И 100002, и 000012! Так нафига эти повторения одного и того же?
Я отсеиваю ИСКЛЮЧИТЕЛЬНО повторяющиеся! В примере отмечены красным фоном.
Чем может быть лучше цепочка 120000 цепочки 010020 ??? Это одна и та же цепочка! И 100002, и 000012! Так нафига эти повторения одного и того же?
Ладно, вы не понимаете, но это и ожидаемо. Для слышащих людей я уже сказал всё, что хотел донести. Более не вижу смысла продолжать