there are no trading operations - page 5

 
Lorentzos Roussos :

So what was the solution to this ? wait 24hours and if its not validated try again ?

Edit :   this passes validation standalone .Will test with scanners.

It works on scanners too . 

Note to sellers : Dont ever [ever never] use MQLInfoInteger to detect if you are in tester . 

This worked. The problem is that when someone downloads the EA for testing it will generate a lot of random order instead of following the EA's trading system.

 
Bruno Souza:

This worked. The problem is that when someone downloads the EA for testing it will generate a lot of random order instead of following the EA's trading system.

Im using it in my scanners which cannot be tested in MT4 and i also throw a message to the user with links to actual demos. [I Cant change category to utility unfortunately]

If you have a normal ea system you just make sure :

  • There is enough margin for the order
  • The lot is properly formatted (lot digits)
  • You are not exceeding the Max lot allowed
  • You are not going bellow the Min lot allowed
  • Some assets also have lot step (volume step) 
  • You are not breaching the maximum open orders of the broker
  • You are getting the correct price 
  • Your stops are within the limits of the broker stop limit 

I will wrap a trading library later today for normal ea use and test it.

The problem is though , that if the tester tests your ea on 100 bars ,and your ea does not trade (because of your strategy) then it will reject the ea.Thats the issue.

Also i think there is a time limit for the test .I tested this on 2 different ea's ,and the "titanic" one was rejected with the exact same trading algorithm.

They are probably restricting mt4 related services.  

 
Lorentzos Roussos:

Im using it in my scanners which cannot be tested in MT4 and i also throw a message to the user with links to actual demos. [I Cant change category to utility unfortunately]

If you have a normal ea system you just make sure :

  • There is enough margin for the order
  • The lot is properly formatted (lot digits)
  • You are not exceeding the Max lot allowed
  • You are not going bellow the Min lot allowed
  • Some assets also have lot step (volume step) 
  • You are not breaching the maximum open orders of the broker
  • You are getting the correct price 
  • Your stops are within the limits of the broker stop limit 

I will wrap a trading library later today for normal ea use and test it.

The problem is though , that if the tester tests your ea on 100 bars ,and your ea does not trade (because of your strategy) then it will reject the ea.Thats the issue.

Also i think there is a time limit for the test .I tested this on 2 different ea's ,and the "titanic" one was rejected with the exact same trading algorithm.

They are probably restricting mt4 related services.  

they changed some validator setting, i have the same problem i can't update mt4, the only way is to set start lot 0.20 then passed
 
Lorentzos Roussos :

Im using it in my scanners which cannot be tested in MT4 and i also throw a message to the user with links to actual demos. [I Cant change category to utility unfortunately]

If you have a normal ea system you just make sure :

  • There is enough margin for the order
  • The lot is properly formatted (lot digits)
  • You are not exceeding the Max lot allowed
  • You are not going bellow the Min lot allowed
  • Some assets also have lot step (volume step) 
  • You are not breaching the maximum open orders of the broker
  • You are getting the correct price 
  • Your stops are within the limits of the broker stop limit 

I will wrap a trading library later today for normal ea use and test it.

The problem is though , that if the tester tests your ea on 100 bars ,and your ea does not trade (because of your strategy) then it will reject the ea.Thats the issue.

Also i think there is a time limit for the test .I tested this on 2 different ea's ,and the "titanic" one was rejected with the exact same trading algorithm.

They are probably restricting mt4 related services.  

I made some adjustments to my function of sending orders and managed to pass using it to send random orders as in your example, but when I do the test with my EA it doesn't really open any operations. My EA works on EURUSD M5 and I believe that is why, in the battery of tests, no tests are made using this period and timeframe and in the others it opens very few orders.

The solution I found was to call the function to generate random orders when it passes through XAUUSD D1, so it passes the tests. Once my EA was not created for this Active/Timeframe, then no problem when users are testing:

 if((StringFind(Symbol(),"XAU")!=(-1)) && (Period()==PERIOD_D1))
       {
         GetTestData();
       }
 

I had same problem "No trading operation", but insert to code procedures CheckVolumeValue and  CheckMoneyForTrade problem was solved. 

But when I try to trade limit-orders in exactly the same code, problem  "No trading operation" comes back! 

What sould i do to trade  limit-orders ? 

 
Stephen Reynolds:

I test me EA on my own broker it works okay. But when I send in for validation I get the following :

test on EURUSD,H1
there are no trading operations
test on NZDUSD,H1
there are no trading operations
test on GBPUSDcheck,M30
there are no trading operations
test on XAUUSDcheck,Daily
there are no trading operations

What does this mean?

I've the same exactly the test notification, and do not know what to solve this issue.

 
Rio Purwanggono:

I have solved this problem.

Add this code before CheckVolumeValue :


Before :


After :


Regards

Rio Purwanggono

It's not work!

 
Bruno Souza:

I started having this problem now trying to update my product  version 

I don't know what is causing this problem, all previous versions have been successfully validated and this error has only just started to appear.

I have already reviewed all the code that has about 4 thousand lines, I have tried everything. EA works perfectly in testing and updating is a small adjustment in 2 lines of code that do not affect the overall functionality at all.

I've tried to set the lot at 0.01, I've tried to generate random orders when it's not in the real market to try to pass the tests and nothing.

Finally I tried to validate the previous version that had already passed the tests and to my surprise it gave the same error ie the code that had already been successfully validated presented this problem now.

I don't know what was changed in the EA's validation algorithm but they should be more transparent.

I contacted the customer service and they simply sent me to ask on the forum. I found it very disregard.

I have the same issues, then i try to the following step:

1. Do the same direction of the MQL5 instruction

2. Set Extern Lots=0.01

3. Change Lots = MinLot according to the symbol

4. Set NormalDouble to Price,TP and SL on OrderSent.

 
Ryutaro Yumoto:


In the sample of the CheckVolumeValue function,false is returned.

Therefore, it will be an error not to trade even once.

Instead, you should change the volume.

The correction example is as follows.


Thanks. I have been struggling with this problem for very long and your solution worked. 

 

The thread#40 from  Lorentzos Roussos fixed this issue for me.


He stated:  "Note to sellers : Dont ever [ever never] use MQLInfoInteger to detect if you are in tester . "


Probably all verifications stated here are true. But another thing to check is to be sure to not return by only checking if the market is opened or the trades are allowed

because they always are in the MQL5 automatic tester:


https://www.mql5.com/en/blogs/post/686716 


==>

There are no trading operations

This error is specific for expert advisers only. The rule is: expert advisers must trade. If your robot should be used only on a specific symbol timeframe, then here is what MetaQuotes say: "Products can not apply restrictions. All limitations should be marked as recommendations in the product description." If your robot does not trade by design (a helper tool, for example), choose approriate category ("Utilities") in the product properties.

One of possible reasons for this error to come is when your code contains a checkup like this:

if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
{
  return ERROR_CODE;
}

Such conditions should be accompanied with IsTesting()/MQLInfoInteger(MQL_TESTER) call. The automatic tester is not connected to an account, and the tester is always considered as allowed to trade. Correct code should be:

if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && ! MQLInfoInteger(MQL_TESTER))
{
  return ERROR_CODE;
}


My specific check was the following:


if(!IsMarketOpened()) return;


changed by


if(!IsMarketOpened() && !MQLInfoInteger(MQL_TESTER) ) return;


This solved my issue with the MQL5 automatic tester.

Lorentzos Roussos
Lorentzos Roussos
  • 2021.07.26
  • www.mql5.com
Trader's profile
Reason: