Validation fails due to safety checks

 

Hello,

My EA can work only on single specific pair but on validation step it was tested with many others pairs.

If EA due to recognition of wrong pair return INIT_PARAMETERS_INCORRECT or INIT_FAILED (which totally makes sense) then validation fails (why?).

if EA tries to behave in other safe way and make 0 transactions then also validation fails (also way?).

Whats the intended way for EA to not work with incorrect input and pass the validation?

Thanks,

Piotr

 
Piotr Wojciech ChodorowskiMy EA can work only on single specific pair but on validation step it was tested with many others pairs. If EA due to recognition of wrong pair return INIT_PARAMETERS_INCORRECT or INIT_FAILED (which totally makes sense) then validation fails (why?). if EA tries to behave in other safe way and make 0 transactions then also validation fails (also way?). Whats the intended way for EA to not work with incorrect input and pass the validation?

As per the Market rules, your EA cannot be restricted or limited in functionality, for example, only to work on a single symbol or time-frame, even if the original design is for a specific symbol or time-frame.

You must make your EA work on other symbols too, by reading the contract specifications of the current symbol and adjusting parameters for it, such as the tick size and value, the minimum and maximum lots, stops levels, etc.

Forum on trading, automated trading systems and testing trading strategies

Auto Validation for publishing Error

Fernando Carreiro, 2022.09.14 01:44

Even if your EA is designed for Boom & Crash, it has to be able to pass verification on other symbols and types of markets.

You have to properly code your EA to automatically adjust to different contract specifications and broker conditions, irrespective of it being intended for only one specific symbol or market.

Read the following for more information on the validation process.


Articles

The checks a trading robot must pass before publication in the Market

MetaQuotes, 2016.08.01 09:30

Before any product is published in the Market, it must undergo compulsory preliminary checks in order to ensure a uniform quality standard. This article considers the most frequent errors made by developers in their technical indicators and trading robots. An also shows how to self-test a product before sending it to the Market.
 
Fernando Carreiro #:

As per the Market rules, your EA cannot be restricted or limited in functionality, for example, only to work on a single symbol or time-frame, even if the original design is for a specific symbol or time-frame.

You must make your EA work on other symbols too, by reading the contract specifications of the current symbol and adjusting parameters for it, such as the tick size and value, the minimum and maximum lots, stops levels, etc.

Do you know what is rationale behind those requirements?

It doesnt makes sense to me to expect that every EA should work on every pair.

 
Piotr Wojciech Chodorowski #: Do you know what is rationale behind those requirements? It doesnt makes sense to me to expect that every EA should work on every pair.

There are many reasons. For example each broker may rename a symbol in different ways, with a suffix or a prefix, or both. Some may call it "XAUUSD" and another may call it "Gold", for example.

Each broker may have different volume requirements, or different stops-level. The tick value will differ by account currency. The tick size may be different if working with a cent account, or for example in the case of Gold, they may represent the price in different ways at different decimal positions depending on how many ounces of gold they are working with.

So, in essence, there are many possibilities, and reasons for this. What is important is that you code your EA properly, to adjust to a broker's contract specification for a symbol and not hard-code things into your EA (which is considered bad programming). The more adaptable your code, the more robust it will be, as you neve know the conditions under which a customer may run your EA.

If a customer is unable to run your EA under their conditions, they will feel very unsatisfied and demand that it get fixed or request a refund. So, MetaQuotes is doing all those tests to minimise the chances of that happening.

Reason: