Validation error when releasing the trading robot to the market. - page 9

 

When updating the EA (MT4), it writes that the report was not found:


 
Evgeniy Zhdan:

When updating the Expert Advisor (MT4) it writes that no report has been found:


how long does the test take?

If 30 minutes or more, thenthe Expert Advisor hangs in some cycle and the error has to be found in the code

 
Denis Nikolaev:

how long does the test take?

If 30 minutes or more, thenthe EA has frozen in some cycle and the error should be looked for in the code

On the screenshot it says how long it takes
 
Evgeniy Zhdan:
It says on the screenshot how long it takes

exactly

but now a different error pops up

tt

I updated recently - it went through on the first try, but now I just changed the version number and it won't go through

Something must be broken again.

 
I ran into a validation problem myself. The solution was straightforward. I set the initial risk settings in the Expert Advisor to be different from zero. Under such conditions the value of the selected fixed lot did not matter. The Expert Advisor did not pass the customs. I set the risk to zero, changed the EA version and uploaded it for checking - it got gobbled up with a crunch in just a few seconds. And approved.
 
Uladzimir Balmatou:
Ran into a validation problem myself. The solution was on the surface. I had set the initial risk settings in the Expert Advisor to be different from zero. Under these conditions, the value of a selected fixed lot does not matter. The Expert Advisor did not pass the customs. I set the risk to zero, changed the EA version and uploaded it for checking - it got gobbled up with a crunch in just a few seconds. And approved.

Yes, it's working today - it's been fixed


Thank you!
 
Good afternoon, could you please tell me if the validator is working or not? I get the error test on EURUSD,H1 strategy tester report not found and I don't know if it's me or not. Thank you
 
Aliaksandr Pechan:
Hello, Could you please tell me if the validator is working? I get an error message "test on EURUSD,H1 strategy tester report not found" and I don't know if it is me or not. Thank you

It's like that for everyone now. I went through this validation in three stages. At first there was an error of no trading operations. Naturally, I checked for correctness of lot and availability of funds to open an order, but it didn't work. I simply copied the check for the Lot from the Reference, which only checks if the lot is correct but if it is not, the error was not corrected and was simply written to the journal. And, of course, the orders were not opened. I altered it a little and checked it.

 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);
  }

Then I got the errorEURUSD,H1 strategy tester report not found. I started to reason. If there is no tester report, it means that the EA does not work at all. In what case? In case trading is prohibited to this account or there is no connection. I have inserted in the beginning of the code everything I found in the Reference on this subject.

 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");

I have passed this error at once. But I got another one - error 148:

The number of open and pending orders has reached the limit set by the broker.


I inserted a check for the maximum number of orders before OrderSend and it finally passed the validation.

 
Good evening!
I have a question when placing an EA in MQL5 Market at testing stage.
How to specify the timeframe for autotesting when placing the *.ex5 file, otherwise the autotesting is performed by default on the H1 timeframe?
What should I do if I have only one pair to trade and one timeframe?
So far, I don't really understand this checking process.

P.S.: I check the volumes myself.
Maybe I should insert the code, which is suggested in the help?
 
Alexandr Plys:
Good evening!
I have a question during the testing stage of placing the Expert Advisor in MQL5 Market.
How to specify the timeframe for autotesting when placing the *.ex5 file, otherwise the autotesting is performed by default on the H1 timeframe?
What should I do if I have only one pair to trade and one timeframe?
So far, I don't really understand this checking process.

P.S.: I check the volumes myself.
Maybe I should insert the code, which is suggested in the help?

During automatic validation in the Market the financial results do not matter, the check goes on possible errors under different conditions of the trading environment, different deposits, different timeframes and trading instruments. Testing should be performed in all possible conditions without errors, restrictions on pairs and timeframes cannot be set. In the description specify the recommended trading tools and timeframes.

Reason: