Автоматическое переключение на генетический алгоритм, как бороться с бедой.

 

Здравствуйте уважаемые коллеги. Решился, таки, перейти на МТ5. Конечно, очень много нового и интересного. Одно сильно расстроило, в 64-битной версии невозможно работать без генетического алгоритма при вариантах перебора более 100 млн. Даже, если задаешь полный перебор, при числе вариантов более 100 млн., тестер автоматически включает генетический алгоритм. В моем случае, я ставлю комп на несколько дней и меня устраивает и большее число вариантов. Есть ли способ увеличить это число, или, может быть, кто-то знает, как связаться с разработчиком? На сайте MetaQuotes я не нашел контактов.

Заранее всем спасибо.

 

Разбейте ваш диапазон на несколько, так, чтобы каждый из поддиапазонов включал менее 100 млн вариантов. И перебирайте последовательно.

Интересно, что у вас там за такой суперкомпьютер, и суперпростой эксперт, что 100 млн вариантов  требует всего лишь несколько дней перебора ? Даже если вы ставите на неделю - вам надо делать по 200 проходов в секунду.

 

Там даже сохранить настройки и результаты 100 000 000 проходов (сколько байт на проход?) может памяти не хватить.

Если техника останавливает лобовой метод, значит надо искать другой более умный вариант.

Если у вас сотни миллионов/миллиардов проходов при минимальных затратах, то перепишите свой алгоритм как:

for(int i=0;i<xxxxx;i++)
  {
   for(int j=0;j<xxxxx;j++)
     {
      for(int k=0;k<xxxxx;k++)
        ....
и сделайте лобовой проход.
 
George Merts:

Разбейте ваш диапазон на несколько, так, чтобы каждый из поддиапазонов включал менее 100 млн вариантов. И перебирайте последовательно.

Интересно, что у вас там за такой суперкомпьютер, и суперпростой эксперт, что 100 млн вариантов  требует всего лишь несколько дней перебора ? Даже если вы ставите на неделю - вам надо делать по 200 проходов в секунду.


Спасибо, разбивка дело понятное. Проблема  в том, что, нередко тестер заканчивает ночью, а это потеря времени. Комп конфигурировал специально. Core i9-7980 - 18 ядер, память 32 Гига, DDR4 частота 2666 Мгц.Что до советника, он действительно простой MA/BB. Он работает с 2014 года, но число сделок 10-15 в год, много не заработаешь. На предыдущем компе мне удалось только 2 пары довести до ума, тестирование занимает 2-3 месяца. Надеюсь на этом подключить еще с десяток.

 
Renat Fatkhullin:

Там даже сохранить настройки и результаты 100 000 000 проходов (сколько байт на проход?) может памяти не хватить.

Если техника останавливает лобовой метод, значит надо искать другой более умный вариант.

Если у вас сотни миллионов/миллиардов проходов при минимальных затратах, то перепишите свой алгоритм как:

и сделайте лобовой проход.

Спасибо, можете уточнить по алгоритму? Я в MQL4 не копенгаген. Мне советника делал специалист, судя по коду, там так и есть вложенные циклы.

 
Luchezar Shalomaev:

Спасибо, можете уточнить по алгоритму. Я в MQL4 не копенгаген. Мне советника делал специалист, судя по коду, там так и есть вложенные циклы.

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

Уже потом в пределах этих областей можно пройтись с детальным шагом в узком диапазоне.


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

 
Renat Fatkhullin:

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

Уже потом в пределах этих областей можно пройтись с детальным шагом в узком диапазоне.


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


Спасибо. Это хорошая идея. Генетический алгоритм не дает нужных результатов, т.к. область смещается во времени и приходится прогонять короткие промежутки, но с маленькими шагами. Причем, если прогнать на всех тех же параметрах генетический алгоритм 2 раза, то он выдает совершенно разные результаты. При этом, очень редко находит область денег. 

 
Renat Fatkhullin:
 

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

Мне тоже непонятно, какая необходимость в полном переборе.

Если в фитнесс-функции есть область высоких значений - то генетический алгоритм ее найдет, и выйдет на максимальную точку.

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

 
Luchezar Shalomaev:

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

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

 
George Merts:

Мне тоже непонятно, какая необходимость в полном переборе.

Если в фитнесс-функции есть область высоких значений - то генетический алгоритм ее найдет, и выйдет на максимальную точку.

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


В этом и дело. Работают именно выбросы. Притом, работают уже 3 года. Результат устойчивый, 600% в год.

 
Luchezar Shalomaev:

В этом и дело. Работают именно выбросы. Притом, работают уже 3 года. Результат устойчивый, 600% в год.

Удивительно.

Тогда - увы, генетический оптимизатор, и в самом деле, может их пропускать.  Лично я - кроме как "разбивать область на участки меньше 100млн проходов" - вариантов не вижу.

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