Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
На MQL5.community есть возможность хранить исходные коды в MQL5 Storage. Попробуй сам!
Oles Filonenko
582
Oles Filonenko 2012.09.28 08:18 

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

Unknown Cloud Report

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

Ну так что, мне здесь кто-нибудь объяснит ситуацию? За что, спрашивается, тогда платить деньги, если половина результатов просто псу под хвост?
MetaQuotes
Админ
24610
Renat Fatkhullin 2012.09.29 12:47  
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
582
Oles Filonenko 2012.09.29 14:15  
Renat:

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

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

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

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

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

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

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

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

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

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

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

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