Ошибка валидации при релизе торгового робота в маркет. - страница 9

 

При обновлении эксперта (МТ4) пишет, что отчет не найден:


 
Evgeniy Zhdan:

При обновлении эксперта (МТ4) пишет, что отчет не найден:


как долго идет тест?

если 30 минут и больше, тогда советник завис в каком-то цикле и ошибку надо искать в коде

 
Denis Nikolaev:

как долго идет тест?

если 30 минут и больше, тогда советник завис в каком-то цикле и ошибку надо искать в коде

На скрине написано, сколько идёт
 
Evgeniy Zhdan:
На скрине написано, сколько идёт

точно

но теперь вылетает другая ошибка

тт

недавно обновлялся - прошло с первой попытки, а сейчас только номер версии поменял - и не проходит

наверно, опять что-то сломалось

 
Сам столкнулся с проблемой при валидации. Решение оказалось на поверхности. Я выставил в советник начальные настройки риска отличные от нуля. При таких условиях значение выбранного фиксированного лота не имеет значения. Советник не пропускала таможня. Я установил риск равным нулю, изменил версию советника и загрузил на проверку - скушало с хрустом буквально за несколько секунд. И одобрило.
 
Uladzimir Balmatou:
Сам столкнулся с проблемой при валидации. Решение оказалось на поверхности. Я выставил в советник начальные настройки риска отличные от нуля. При таких условиях значение выбранного фиксированного лота не имеет значения. Советник не пропускала таможня. Я установил риск равным нулю, изменил версию советника и загрузил на проверку - скушало с хрустом буквально за несколько секунд. И одобрило.

да, сегодня работает - исправили


спасибо!
 
Добрый день! Скажите валидатор работает? а то выдаёт ошибку  test on EURUSD,H1 strategy tester report not found  и я не пойму это у меня или нет. Спасибо
 
Aliaksandr Pechan:
Добрый день! Скажите валидатор работает? а то выдаёт ошибку  test on EURUSD,H1 strategy tester report not found  и я не пойму это у меня или нет. Спасибо

Сейчас это у всех так. Я в три этапа прошел эту валидацию. Сначала выдавали ошибку no trading operations. Естественно в коде стояла проверка на корректность лота и на наличие средств для открытия ордера - но не проходило. Просто проверку на Лот скопировал из Справочника, а там только проверяется правильность лота, но если он не корректный, то и не исправлялось, а просто писалась ошибка в журнал. И естественно ордера не открывались. Я немного изменил и прошел эту проверку

 double CheckVolumeValue()
  { 
   double volume=lastLot;
//--- минимально допустимый объем для торговых операций
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
     {
      Print("Lot less than the minimum allowed value SYMBOL_VOLUME_MIN=",+min_volume);
      volume=min_volume;
     }
//--- максимально допустимый объем для торговых операций
   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
     {
      Print("Lot greater than the maximum allowed SYMBOL_VOLUME_MAX=",max_volume);
      volume=max_volume*0.99;
     }
//--- получим минимальную градацию объема
   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
     {
      Print("Lot is not a multiple of the minimum gradation SYMBOL_VOLUME_STEP=",volume_step);
      volume=MathRound(volume/volume_step);
      volume=volume*volume_step;
     }
   return(volume);
  }

 Потом стала выходить ошибка  EURUSD,H1 strategy tester report not found. Стал рассуждать. Если нет отчета тестера, значит вообще советник не работает. В каком случае? Только если торговля запрещена на этом счете или нет связи. Вставил в начало кода все, что нашел в Справочнике по этой теме.

 void OnTick()
  {
   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      {Print("Check the automatic trading permission in the terminal settings!");
      Alert("Check the automatic trading permission in the terminal settings!");
      }
   if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
      {
       Print("Automatic trading is prohibited in the program properties for",__FILE__);
       Alert("Automatic trading is prohibited in the program properties for",__FILE__);
      }
   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT)) 
      Print("Automatic trading is prohibited for the account",AccountInfoInteger(ACCOUNT_LOGIN), 
      " on the trading server side ");
   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)) 
      {Comment("Trading is prohibited for the account ",AccountInfoInteger(ACCOUNT_LOGIN), 
            ".\n It is possible that the connection to the trading account was made using an investment password.", 
            "\n Check the terminal log to see if there is such an entry:", 
            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode.");
       Print("Trading is prohibited for the account ",AccountInfoInteger(ACCOUNT_LOGIN));
      }
   if(!TerminalInfoInteger(TERMINAL_CONNECTED)) Print("No connection to the server");

 И сразу прошел эту ошибку. Но появилась другая - пошли одна за одной Ошибка 148 :  

Количество открытых и отложенных ордеров достигло предела, установленного брокером


 Вставил перед OrderSend проверку на максимум ордеров - и прошел наконец то валидацию.

 
Добрый вечер!
Вопрос возник при размещении советника в MQL5 Маркете на этапе проверки.
Как задать таймфрейм для автотестирования при размещении файла *.ex5, иначе автопроверка проходит по умолчанию на таймфрейме H1?
Что делать, если у меня только одна пара для торговли и один таймфрейм?
Что-то, пока, не очень понял этот процесс прохождения проверки.

П.С.: Объёмы я сам проверяю.
Может надо вставлять код, который в помощи предлагают?
 
Alexandr Plys:
Добрый вечер!
Вопрос возник при размещении советника в MQL5 Маркете на этапе проверки.
Как задать таймфрейм для автотестирования при размещении файла *.ex5, иначе автопроверка проходит по умолчанию на таймфрейме H1?
Что делать, если у меня только одна пара для торговли и один таймфрейм?
Что-то, пока, не очень понял этот процесс прохождения проверки.

П.С.: Объёмы я сам проверяю.
Может надо вставлять код, который в помощи предлагают?

При автоматической валидации в маркете финансовые результаты не имеют никакого значения, проверка идет на возможные ошибки при разных условиях торгового окружения, разных депозитах, разных таймфреймах и торговых инструментах. Проверку должен проходить во всех возможных условиях без ошибок, ограничения по парам и таймфреймам ставить нельзя. Ну а в описании уже указывайте рекомендуемые торговые инструменты и таймфреймы.

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