Скачать MetaTrader 5

Проблемы с облаком при генетике

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Oles Filonenko
585
Oles Filonenko  

Господа, возможно это не баг, а фича. Тогда объясните мне, почему при генетической оптимизации в облаке у меня появляется море подобных "как бы результатов" в поколениях. Я хочу знать, что это такое, как это понимать, и главное - как это влияет на результаты оптимизации. Заранее уточняю - подобных результатов заведомо не может быть.

Unknown Cloud Report

Yedelkin
4532
Yedelkin  
wtvirtual: Господа, возможно это не баг, а фича. Тогда объясните мне, почему при генетической оптимизации в облаке у меня появляется море подобных "как бы результатов" в поколениях. Я хочу знать, что это такое, как это понимать, и главное - как это влияет на результаты оптимизации.
 Получается, что при определённых наборах параметров эксперт не осуществляет ни одной сделки. Вы пробовали запускать одиночное тестирование на этих же "безрезультатных" наборах параметров?
Дмитрий
304
Дмитрий  
Я тоже с подобным сталкивался, но при полном переборе. И результат одиночного тестирования отличен от нуля, т.е. при одиночном тестировании сделки есть
Oles Filonenko
585
Oles Filonenko  
Yedelkin:
 Получается, что при определённых наборах параметров эксперт не осуществляет ни одной сделки. Вы пробовали запускать одиночное тестирование на этих же "безрезультатных" наборах параметров?
Да, конечно. Дело в том, что не может быть никаких сочетаний параметров, при которых эксперт не совершил бы ни одной сделки. Интервал истории - с 85 года по сей день. И там минимальное количество трейдов никак не может быть менее ~500 при сотне ордеров на трейд. Разумеется я прогонял эти нулевые результаты вручную, и разумеется трейды были. Вот и что это?
Oles Filonenko
585
Oles Filonenko  

Ну так что, мне здесь кто-нибудь объяснит ситуацию? За что, спрашивается, тогда платить деньги, если половина результатов просто псу под хвост?
MetaQuotes
Админ
25306
Renat Fatkhullin  
wtvirtual:

Ну так что, мне здесь кто-нибудь объяснит ситуацию? За что, спрашивается, тогда платить деньги, если половина результатов просто псу под хвост?

1) А Вы уверены, что логика программы не нарушается, например при совокупном использовании NNN мегабайт памяти? То есть, из-за нехватки памяти эксперт не торгует.

2) Сколько реально потребляет памяти эксперт, который выдает нули?


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

Для затратных экспертов, запускаемых в удаленные расчеты, надо в OnInit() добавлять проверку наличия доступной памяти, например:

int OnInit()
  {
//--- мой эксперт реально потребляет 1 Gb в расчетах
//--- принципиально не работать на компьютерах, у кого меньше 2 Gb физ. памяти
   if(TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL)<2048)  return(INIT_AGENT_NOT_SUITABLE);
//--- доступной памяти должно быть не меньше 1 Gb
   if(TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE)<1024) return(INIT_AGENT_NOT_SUITABLE);
//--- все ок
   return(INIT_SUCCEEDED);
  }


void OnDeinit(const int reason)
  {
//--- покажем объем использованной памяти (грубо, нельзя слепо верить)
   Print("Used ",TerminalInfoInteger(TERMINAL_MEMORY_USED)," Mb of memory");
//---
  }  

Вернув INIT_AGENT_NOT_SUITABLE в OnInit, эксперт имеет возможность штатно отказаться от запуска задачи на этом агенте. В результате задача будет направлена на других агентов.

Статистика распределения памяти у агентов доступна по ссылке: https://cloud.mql5.com/ru/stats

По ней видно, что 18% агентов имеют объем памяти меньше 2 Gb, обычно 1 Gb. Этого не всем экспертам хватает, особенно, если на компьютере с 1 Gb установлено 2-4 агента.

Статистика - MQL5 Cloud Network
Статистика - MQL5 Cloud Network
  • cloud.mql5.com
Произведенный объем работы, распределение агентов по странам, RAM, CPU и битности OS
Oles Filonenko
585
Oles Filonenko  
Renat:

1) А Вы уверены, что логика программы не нарушается, например при совокупном использовании NNN мегабайт памяти? То есть, из-за нехватки памяти эксперт не торгует.

2) Сколько реально потребляет памяти эксперт, который выдает нули?

Ренат, я очень просто скажу. Меня достало разбираться с обломами в облаке. Я снарядил два десятка компов с простыми полуторагиговыми Целеронами, ВинХР и 128Мб оперативки на каждом компе, и эта сетка прекрасно всё считает, без сбоев и нулевых резульатов. И памяти более чем хватает. Это видно на индикаторах загрузки оперативной памяти.
Oles Filonenko
585
Oles Filonenko  
wtvirtual:

с простыми полуторагиговыми Целеронами, ВинХР и 128Мб оперативки на каждом компе, и эта сетка прекрасно всё считает, без сбоев и нулевых резульатов.

И я ничуть этому не удивлён, поскольку так и должно быть. Эксперт без наворотов, я бы сказал примитив. Один-единственный штатный индикатор использует из поставки терминала. Оптимизация пробовалась проводиться по одной валютной паре, на дневках по ценам открытия. В общем, эта задача, что совершенно очевидно, никак не может ни процессоры в облаке перегрузить, ни памяти не сожрёт. Мне не жалко сотни баксов, выброшенных "на посмотреть" что такое облако у вас. Мне непонятны результаты его работы. Конечный результат оптимизации в облаке гораздо хуже, чем должен был бы быть.
MetaQuotes
Админ
25306
Renat Fatkhullin  
wtvirtual:
Ренат, я очень просто скажу. Меня достало разбираться с обломами в облаке. Я снарядил два десятка компов с простыми полуторагиговыми Целеронами, ВинХР и 128Мб оперативки на каждом компе, и эта сетка прекрасно всё считает, без сбоев и нулевых резульатов. И памяти более чем хватает. Это видно на индикаторах загрузки оперативной памяти.

Не надо просто на уровне общечеловеческих сравнений.

Надо детально. Я специально задал вопрос "какое потребление памяти и какая реакция эксперта на ее нехватку?" и привел объяснения.

Да и нереал в виде "на 128 Mb с WinXP все считает" желательно подтвердить четкими логами и скринами. Тут технический ресурс.

Valerii Mazurenko
3484
Valerii Mazurenko  
wtvirtual:
Мне не жалко сотни баксов, выброшенных "на посмотреть" что такое облако у вас.
Вы даже полсотни не потратили. И каким же надо быть маньяком, чтобы так долго "смотреть" и на 47-м баксе (а это как минимум неделя тестов) понять, что вы всё ещё смотрите
Valerii Mazurenko
3484
Valerii Mazurenko  
Renat:

TERMINAL_MEMORY_AVAILABLE выдаёт какой-то бред (видимо доступную память от теоретически возможной) - у меня это 8387556 (+\-). 

И в OnDeinit нужно  TERMINAL_MEMORY_USED вместо  TERMINAL_MEMORY_AVAILABLE

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