Мы запускаем облачный сервис MQL5 Cloud Network! - страница 60

 

У одних 23095 тестов за 24 минуты, у других - неделями включенные агенты и едва наберется с несколько сотен.

Каким образом вообще тут распределяются задания? 

 
borg:

У одних 23095 тестов за 24 минуты, у других - неделями включенные агенты и едва наберется с несколько сотен.

Каким образом вообще тут распределяются задания? 

По большому блату. :)
 
Ashes:

Присоединяюсь к мнению papaklass:

проблемы с облачным тестированием (по крайней мере, для мультивалютников), существуют.

Прогнал тест с фиктивным параметром (задал 100 проходов). Результат (должна быть прямая линия):

Можете предоставить исходный код эксперта? Уж больно сильно в представленном логе отличается время тестирования между разными проходами. Можно мне в личку или написать в сервисдеск. И нужны будут условия воспроизведения: имя торгового сервера, настройки тестирования и входные параметры. Какой у Вас билд терминала установлен,  на всякий случай?
 
Rosh:
Можете предоставить исходный код эксперта? Уж больно сильно в представленном логе отличается время тестирования между разными проходами. Можно мне в личку или написать в сервисдеск. И нужны будут условия воспроизведения: имя торгового сервера, настройки тестирования и входные параметры. Какой у Вас билд терминала установлен,  на всякий случай?

Билд 540.

Счёт 933297, MetaQuotes-Demo. Остальное чуть позже.

Меня в результатах этого теста больше заинтересовало разнообразие ошибок, выданных агентами (напоминаю, что единственный заданный для оптимизации параметр был фиктивным, т.е. не влияющим на логику работы эксперта):

pass 82 tested with error "cannot synchronize history"

pass 63 tested with error "cannot initialize expert"

pass 55 tested with error "expert rejected by MQL5 Cloud Network due to endless loop" 

 

а также загадочные (для меня) строки в конце лога про то, что 87==94==100(было задано 100 прогонов):

Tester 14:35:26 optimization finished, total passes 87 (successfull 85 passes).

...
Statistics 14:35:26 locals 0 tasks (0%), remote 0 tasks (0%), cloud 94 tasks (100%)

 
borg:

У одних 23095 тестов за 24 минуты, у других - неделями включенные агенты и едва наберется с несколько сотен.

Каким образом вообще тут распределяются задания? 

Тоже по 200-250 агентов (ядер)?
 
Ashes:

Билд 540.

Счёт 933297, MetaQuotes-Demo. Остальное чуть позже.

Меня в результатах этого теста больше заинтересовало разнообразие ошибок, выданных агентами (напоминаю, что единственный заданный для оптимизации параметр был фиктивным, т.е. не влияющим на логику работы эксперта):

pass 82 tested with error "cannot synchronize history"

pass 63 tested with error "cannot initialize expert"

pass 55 tested with error "expert rejected by MQL5 Cloud Network due to endless loop" 

 

а также загадочные (для меня) строки в конце лога про то, что 87==94==100(было задано 100 прогонов):

Tester 14:35:26 optimization finished, total passes 87 (successfull 85 passes).

...
Statistics 14:35:26 locals 0 tasks (0%), remote 0 tasks (0%), cloud 94 tasks (100%)

 

 

cannot synchronize history - не смог закачать историю (может быть канал фиговый)

cannot initialize expert - OnInit возвратил не 0. Во многих экспертах, которые я видел, при неудаче создания хэндла индикатора возвращается не 0, то есть, тоже может быть отсутствие истории

endless loop - это уже серьёзнее. На облачных агентах мы строго контролируем время работы OnInit, OnDeinit, OnTick, OnTrade, OnTester, OnChartEvent, OnTimer etc не более 10 минут на один вызов

Некоторые задания запускаются на повторное выполнение (no history, no memory, cannot initialize), а некоторые - не перезапускаются (endless loop, cannot load expert, например), но считаются выполненными, хоть и неудачно. Поэтому полное тестирование может закончиться несколько ранее, чтобы не попасть в "мёртвую петлю"

 
stringo:

cannot synchronize history - не смог закачать историю (может быть канал фиговый)

... 

Закачать историю откуда? От меня или от сервера? У меня да, канал довольно фигОвый (в данном конкретном случае) - 3G-modem в режиме GPRS/EDGE или около того...

Создал тикет в Сервисдеске (#275524).

PS. При цитировании не удается выйти из рамки цитаты, приходится править в HTML... 

 
Ashes:

Закачать историю откуда? От меня или от сервера? У меня да, канал довольно фигОвый (в данном конкретном случае) - 3G-modem в режиме GPRS/EDGE или около того...

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

Если у клауда нет соответствующей истории, то влияет скорость Вашего исходящего соединения. Если у клауда есть история, то влияет скорость входящего соединения агента

 
stringo:

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

...

Может, проблема в этом? У меня есть некоторые основания полагать, что история бывает разная у разных терминалов на одном и том же сервере. При описанном Вами алгоритме у разных клаудов может быть разная история. Но тогда мне пока непонятно, откуда в моём случае взялось 6 различных результатов, когда клаудов только 5. Кстати, нельзя ли переименовать один из европейских, чтобы имена в тестере (а точнее, в логе) были разные?

Подумал, и решил, что число клаудов надо умножить на число инструментов (в экстремальном случае). 

 
Ashes:

Может, проблема в этом? У меня есть некоторые основания полагать, что история бывает разная у разных терминалов на одном и том же сервере. При описанном Вами алгоритме у разных клаудов может быть разная история. Но тогда мне пока непонятно, откуда в моём случае взялось 6 различных результатов, когда клаудов только 5. Кстати, нельзя ли переименовать один из европейских, чтобы имена в тестере (а точнее, в логе) были разные?

Подумал, и решил, что число клаудов надо умножить на число инструментов (в экстремальном случае). 

История разная у каждого брокера/ДЦ. Поэтому в норме на всех клаудах по одному и тому же торговому серверу (брокеру) история должна быть одинаковой.

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

Если же истории нет у конкретного агента (либо она не синхронизирована) уже агент запросит историю у клауда - тут важен входящий трафик (трафик между клаудом и агентом).

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