MetaTrader 5 Strategy Tester и MQL5 Cloud Network - страница 26

 
notused:

При генетике то всё понятно - ждёт, когда же остальные проходы популяции возвратят результат.

А, так вот в чём дело может быть. Тогда при быстрых локальных агентах работа  с "облаками" противопоказана?
 
Yedelkin:
А, так вот в чём дело может быть. Тогда при быстрых локальных агентах работа  с "облаками" противопоказана?
Смотря сколько Ваших локальных/удалённых агентов есть - если с полтора-два десятка - то облако врядли принесёт прирост, а если всего пару штук, то с облаком будет быстрее. Для экспертов, которые тестятся относительно "быстро", облако поможет даже, когда локальных/удалённых агентов много
 
notused:

И всё-таки нужно что-то с этим делать:

 

 

Обратитет внимание, какой ответ возвращает облако. Вроде бы, со вчерашнего дня ни одного корректного ответа не пришло (а проходы 100% со сделками и без ошибок). Толку от сети в таком случае - 0. А случай - 12 инструментов с начала года. Хотя ещё пару дней назад временами проскакивали правильные результаты, а сегодня - вообще отсутствуют. 

 В свете того, что облако скоро станет платным, не хотелось бы выкидывать деньги на ветер без какого-либо результата (расчёты мне в тестовом режиме насчитали $7 за вчера и сегодня за использование сети, хотя, опять таки, ничего от неё не получил, и использовал сеть вчера только вечером, ибо она днём не работала).

 + иногда облако переходит в состояние finished при полном переборе(!). Как такое может быть, если ещё осталось несколько тысяч проходов? 

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

Можете описать параметры запуска, перечень агентов, параметры оптимизации в заявке в сервисдеск + приложить эксперта (хотя бы ex5)? Ну и логи очень не помешали бы.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
alexvd:

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

Можете описать параметры запуска, перечень агентов, параметры оптимизации в заявке в сервисдеск + приложить эксперта (хотя бы ex5)? Ну и логи очень не помешали бы.

Вопрос не мне, но да, пробовал. На локальном агенте тест проходит без ошибок. Есть предположение, что проблема связана с таймером (EST = EventSetTimer(3600)), т.к. в моём случае critical runtime error возникала в начале тестирования (время тестирования - 0 секунд). Буквальный текст OnInit (как исходник вставить почему-то не получается, IE8):

int OnInit()
   {
   Print("hh=",hh," mm=",mm," MLEVEL=",MLEVEL," TP=",TP," SL=",SL," TS=",TS);
Print("OnInit begins SymbolsTotal: ",SymbolsTotal(true),"/",SymbolsTotal(false));


// танцы с бубном для инициализации в тестере
   for(uint i=0; i<maxsym; i++)
     {
   SymbolSelect(SymbolName(i,false),true);
     }

   EST = EventSetTimer(3600);
   if (!EST) {
     Comment("Error: EventSetTimer= ", GetLastError());
     Print("Error: EventSetTimer= ", GetLastError());
    
   }

   for(uint i=0; i<maxsym; i++)
     {
      ea[i].Init(SymbolName(i,true),PERIOD_M1); // инициализируем эксперт
Print(i,SymbolName(i,true));
     }
                                 // пример инициализации
// ea.Init(Symbol(), PERIOD_M5); // для фиксированного таймфрейма
// ea.Init("USDJPY", PERIOD_H2); // для фиксированного символа и таймфрейма

Print("OnInit ends   SymbolsTotal: ",SymbolsTotal(true),"/",SymbolsTotal(false));

   return(0);
  } 

 

Подскажите кто может, как сделать?

Пытаюсь ускорить оптимизацию, мне не нужны (например) результаты с просадкой больше 30%.

Делаю так:

input double Max_DD_EQ = 30;


double max_eq,max_dd,dd_percent;
bool dd_valid=true;

 

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(!dd_valid) return; 
   if(MQL5InfoInteger(MQL5_OPTIMIZATION) || MQL5InfoInteger(MQL5_TESTING))
     {
      max_eq=MathMax(max_eq,AccountInfoDouble(ACCOUNT_EQUITY));
      max_dd=MathMax(max_eq-AccountInfoDouble(ACCOUNT_EQUITY),max_dd);
      dd_percent=max_dd/(max_eq*0.01);
      if(dd_percent>Max_DD_EQ) { ClosAllPos(); dd_valid=false; return; }
     }
// дальше идет блок открытия (закрытия) поз

 

Хочу чтобы после превышения допустимой просадки, прогон завершался.

Но тестер, после достижения максимальной просадки, считает  как и прежде. Мне не нужны пустые(бесполезные) прогоны.

Есть какие варианты? Или к разработчикам? 

 

Или короче: как принудительно завершить пpогон? (В МТ4 была такая фишка.)

 
ExpertRemove();
?
 
Vigor:
?

БООльшое спасибо! Помогло!

Проверил. Теперь гораздо быстрее все пошло. 

 
alexvd:

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

notused:

 Запускаю проход на локальном ядре - всё замечательно (пробовал неоднократно, на разных параметрах). Предполагаю, что возможно у агента сети или место на диске закончилось или памяти не хватает (мультивалютник) или ещё что. 

alexvd:

Можете описать параметры запуска, перечень агентов, параметры оптимизации в заявке в сервисдеск + приложить эксперта (хотя бы ex5)? Ну и логи очень не помешали бы.

Отправил (#232346). Извините, что без логов - затираются они терминалом. Но, думаю, вы без проблем всё воспроизведёте
Ashes:

Вопрос не мне, но да, пробовал. На локальном агенте тест проходит без ошибок. Есть предположение, что проблема связана с таймером (EST = EventSetTimer(3600)), т.к. в моём случае critical runtime error возникала в начале тестирования (время тестирования - 0 секунд). 

Действительно, применяется таймер. Только в моём случае видно, что агенты сети трудятся около 5 минут над вычислениями, а потом дают пустой результат.
 
notused:

как бороться?

 

 Иногда приходят такие вот ответы от сети пачками (Critical Runtime Error). Запускаю проход на локальном ядре - всё замечательно (пробовал неоднократно, на разных параметрах). Предполагаю, что возможно у агента сети или место на диске закончилось или памяти не хватает (мультивалютник) или ещё что. Но, очень жаль, что в общем-то прибыльный проход исключается из дальнейшего рассмотрения. Хотя, с другой стороны, чувствую, что проблема не решаема в принципе (как понять, что проблемы у агента, а не у експерта?) . Или может настройку ввести "Не использовать агентов, вернувших Critical Runtime Error в последние 24часа по вашему аккаунту"?

Для меня не критично (хватает удалённых ядер), но в целом - неудобство. 

Мы сейчас как раз лечим эту проблему.
 

Такой вопрос. У меня 8-ядерный Core i7, и после завершения этапа подготовки к чемпионату он как бы и не нужен стал особо. Разве что на игрушку какую-нибудь подсесть на полгодика. Чтоб не простаивал, можно было бы отдать скромные мощности в облако, но интересует, будет ли комп греться также, как и при локальной оптимизации. Конечно, комп выдерживал и 5-дневную непрерывную оптимизацию с постоянным перегревом, но всё-так за ним приходилось следить, охлаждать и т.д.

..Денежная составляющая не интересует. Если доходы от облака будут копеечные, можно и бесплатно - НиВапрос. 

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