long meta_param = param1 + 100*param2 + 100^2*param3 + 100^3*param4 + 100^4*param5 param1 = meta_param % 100; param2 = (meta_param / 100) % 100; //...
повторов много будет, нужно хотя бы до 10 сочетаний без повторений
попробовал свой скрипт, кажется он не все комбинации перебирает, но даже если для этого скрипта поставить N=10, то результат в файле 2046 строк, но повторов там нет
повторов много будет, нужно хотя бы до 10 сочетаний без повторений
Как я понимаю, эти целые - номера стратегий, и надо чтобы в портфеле они не повторялись?
Значит они берутся из общего пула? (а иначе смысла сочетания без повторений и не имеют ведь)
тогда вижу такое простое решение - вычислить общее кол-во этих сочетаний, и задать один параметр перебираемый по этому кол-ву.
И закодить алгоритм чтоб от него находил уникальное сочетание по номеру.
Как я понимаю, эти целые - номера стратегий, и надо чтобы в портфеле они не повторялись?
Значит они берутся из общего пула? (а иначе смысла сочетания без повторений и не имеют ведь)
тогда вижу такое простое решение - вычислить общее кол-во этих сочетаний, и задать один параметр перебираемый по этому кол-ву.
И закодить алгоритм чтоб от него находил уникальное сочетание по номеру.
не хотел дополнительной инфой перегружать топик, если по подробнее то примерно так:
- базовый ЕА оптится и сбрасывает удачные проходы в файл с настройками
- на основе базового ЕА создан ЕА без входных параметров, вернее входной параметр один - имя файла , в файле настройки всё и индикаторы и ММ и сопровождение ордеров и время торговли....
Каждый .set торгует небольшой по времени торговли (внутри дня) промежуток времени и теперь я хочу из этих .set собрать портфель стратегий, и посмотреть общую картину.
Имена файлов в Тотал командере переименовал от 00 до 99.bin и нужно теперь в тестер загружать различные комбинации вот этих названий файлов - сколько стратегий одновременно нужно - я не знаю, какие из них будут вместе давать хороший график - я не знаю... но тестер знает!
ЗЫ: могу конечно в лоб решить задачу - сгенерировать файл - скрипт из первого поста и читать из него строки при оптимизации, в тестере будет один параметр оптимизации, для N=10 от 1 до 2046 строки
эээ это упаковка вообще без повторов ) с учетом того, что все параметры имеют значение от 0 до 99 чего нету в главном посте но есть по ссылке
как писал, думал лишняя инфа будет отвлекать
ну хотя бы так:
задача повторить в тестере за ХХХ-проходов результат скрипта из первого поста - кол-во вх.параметров ЕА для тестера любое, шаг оптимизации любой... но результат нужен как в скрипте из первого поста
ЗЫ: могу конечно в лоб решить задачу - сгенерировать файл - скрипт из первого поста и читать из него строки при оптимизации, в тестере будет один параметр оптимизации, для N=10 от 1 до 2046 строки
В вашем скрипте если в момент вместо записи нового сочетания инкремент счетчика делать и отдавать только значение в момент счетчика равного входному пар-ру (1 до 2046)
то это и будет нахождение уникального сочетания по его номеру. Если хочется как-то можно подумать и ускорить алгоритм наверное, чтоб не было лишних вычислений.
В вашем скрипте если в момент вместо записи нового сочетания инкремент счетчика делать и отдавать только значение в момент счетчика равного входному пар-ру (1 до 2046)
то это и будет нахождение уникального сочетания по его номеру. Если хочется как-то можно подумать и ускорить алгоритм наверное, чтоб не было лишних вычислений.
это будет просто чтение файла - это я могу, совсем не проблема, только нужно универсальное решение, может следом буду 100-500 оптить сетов
или не понято что Вы предлагаете - код дайте, запишите в файл из тестера значения которые Вы предлагаете
интересует именно возможность подстройки оптимизации под некое уникальное сочетание комбинаций - вот и открыл топик, админ @Rashid Umarov предлагал свое видение решения той задачи, но я пока не соображу с чего это начинать
это будет просто чтение файла - это я могу, совсем не проблема, только нужно универсальное решение, может следом буду 100-500 оптить сетов
интересует именно возможность подстройки оптимизации под некое уникальное сочетание комбинаций - вот и открыл топик, админ @Rashid Umarov предлагал свое видение решения той задачи, но я пока не соображу с чего это начинать
Нет я не об этом. Как выше говорил - один параметр по кол-ву сочетаний, а из скрипта брать только то сочетания, которое приходится по порядку получения на этот параметр.
грубо вместо
f.WriteString(s+"\n");
сделать
step++;if(step==Input) return s;
Нет я не об этом. Как выше говорил - один параметр по кол-ву сочетаний, а из скрипта брать только то сочетания, которое приходится по порядку получения на этот параметр.
грубо вместо
нет, откуда тестер будет знать какой проход сейчас идет? агенты тестера между собой не могут общаться
нужно такую вот таблицу генерировать и прогонять в оптимизации, вот для N=4
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть такой скрипт, который генерирует сочетания без повторений:
Скрипт работает исправно, пока проблем не замечал.
Как повторить этот же алгоритм, но с помощью тестера, чтобы тестер перебирал входные параметры:
и в массиве arr_combination[] мне нужно получить каждый раз при проходе оптимизации одну из новых комбинации как в первом скрипте void CombinationsToFile(int size)
очередность получения комбинаций не важна, но важен полный перебор всех комбинаций, в идеале без повторов бы комбинаций.... но пока хотя бы в тестер перенести эту работу
ЗЫ: зачем это нужно - я начинал тут спрашивать https://www.mql5.com/ru/forum/321656/page68#comment_15459093