Получается, что при определённых наборах параметров эксперт не осуществляет ни одной сделки. Вы пробовали запускать одиночное тестирование на этих же "безрезультатных" наборах параметров?
Ну так что, мне здесь кто-нибудь объяснит ситуацию? За что, спрашивается, тогда платить деньги, если половина результатов просто псу под хвост?
Ну так что, мне здесь кто-нибудь объяснит ситуацию? За что, спрашивается, тогда платить деньги, если половина результатов просто псу под хвост?
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 агента.
- cloud.mql5.com
1) А Вы уверены, что логика программы не нарушается, например при совокупном использовании NNN мегабайт памяти? То есть, из-за нехватки памяти эксперт не торгует.
2) Сколько реально потребляет памяти эксперт, который выдает нули?
с простыми полуторагиговыми Целеронами, ВинХР и 128Мб оперативки на каждом компе, и эта сетка прекрасно всё считает, без сбоев и нулевых резульатов.
Ренат, я очень просто скажу. Меня достало разбираться с обломами в облаке. Я снарядил два десятка компов с простыми полуторагиговыми Целеронами, ВинХР и 128Мб оперативки на каждом компе, и эта сетка прекрасно всё считает, без сбоев и нулевых резульатов. И памяти более чем хватает. Это видно на индикаторах загрузки оперативной памяти.
Не надо просто на уровне общечеловеческих сравнений.
Надо детально. Я специально задал вопрос "какое потребление памяти и какая реакция эксперта на ее нехватку?" и привел объяснения.
Да и нереал в виде "на 128 Mb с WinXP все считает" желательно подтвердить четкими логами и скринами. Тут технический ресурс.
Мне не жалко сотни баксов, выброшенных "на посмотреть" что такое облако у вас.
TERMINAL_MEMORY_AVAILABLE выдаёт какой-то бред (видимо доступную память от теоретически возможной) - у меня это 8387556 (+\-).
И в OnDeinit нужно TERMINAL_MEMORY_USED вместо TERMINAL_MEMORY_AVAILABLE
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Господа, возможно это не баг, а фича. Тогда объясните мне, почему при генетической оптимизации в облаке у меня появляется море подобных "как бы результатов" в поколениях. Я хочу знать, что это такое, как это понимать, и главное - как это влияет на результаты оптимизации. Заранее уточняю - подобных результатов заведомо не может быть.