Automated Trading Championship 2007: common mistakes in experts

 

Automatic tests


This year we've made a system of automatic checks of uploaded experts with reports and notifications to authors about test results. This solution has increased the speed and quality of checks. And the first few days of automatic checks of EAs have shown that many Competitors have not checked their EA before publishing it.


How testing should be done correctly


Testing of Expert Advisors on MetaTrader build 209 terminal (download from http://www.metatrader4.com/files/mt4setup.exe):
  • Each Participant has temporary accounts (indicated in the profile) with all trading conditions of the Championship set up. To connect to the demo.metaquotes.net:443 server, just specify your login, password and server name demo.metaquotes. net:443 manually in the authorization window



  • After you have connected to the test account, you need to fully download the minute history from HistoryCenter using the necessary symbols from 1999 (all timeframes will be automatically recalculated):




  • You should test from 2007.01.01 to 2007.08.20 using the symbol and period chosen by the Participant. On the Potik type of bar modelling with the recalculation data ticked on:



  • The maximum allowable test run time is 5 minutes (on modern Xeon, AMD X2). If the Expert Advisor spends more time, it fails the tests due to excessive resource consumption.

  • After the test run, you should make sure to check all the logs for trading errors. The presence of any (absolutely any!) trade errors in the test will not allow the Expert Advisor to take part in the Championship. Trading errors do not include network problems that can occur during the Championship.

  • If an Expert Advisor completes a margin call (Stop Out message), the Expert Advisor will not be allowed to participate in the competition.


Standard mistakes in EAs


First of all, we check the results of all trading operations. Here is a list of the most common errors:
  • OrderSend error 130 (ERR_INVALID_STOPS) - wrong or too close stops.

  • OrderSend error 131 (ERR_INVALID_TRADE_VOLUME) - wrong volume. Violated volume condition from 0.1 to 5.0 in increments of 0.1

  • OrderSend error 134 (ERR_NOT_ENOUGH_MONEY) - not enough money to execute the trade

  • OrderSend error 148 (ERR_TRADE_TOO_MANY_ORDERS) - the amount of open and pending orders has reached the limit set by a broker. Direct violation of the Championship conditions - not more than 3 open orders.

  • OrderXXXX error 4051 (ERR_INVALID_FUNCTION_PARAMETER_VALUE) - invalid value of the function parameter

  • OrderModify error 1 (ERR_NO_RESULT) - an attempt to modify the order with unchanged values (for example, setting the stop loss to the same value as before). Indicates careless programming.

  • zero divide - division by zero error due to careless programming.

According to ATC2007 Rules, the margin call level is 50%. But it was a complete surprise to see dozens of Expert Advisors ending up on margin call (stopped because of Stop Out). Experts who failed to pass the test between 2007.01.01 and 2007.08.20 will not be allowed to participate in the competition.


Multicurrency Expert Advisors


Multicurrency Expert Advisors cannot always be adequately tested in the MetaTrader strategy tester and often produce the following error:
  • OrderSend error 4106 (ERR_UNKNOWN_SYMBOL) - unknown character
This error is not fatal and can be ignored. We do not require successful test passing of multicurrency Expert Advisors if there are no other errors. Of course, these examiners must of course follow all the Rules.

The participant must explicitly state in the description of their EA that they are multi-currency. Since the EA will not be guaranteed to be tested by us, the author must independently verify its performance. We will do the final acceptance of multicurrency Expert Advisors manually after September 21. Unfortunately, if errors are detected after September 21, the multicurrency Expert Advisor cannot be updated.


Excessive consumption of computer resources


The Automated Trading Championship 2007 is held not only to demonstrate successful trading strategies, but also to show the efficient software solutions. This means that Expert Advisors must be well and efficiently/economically written. On each server with Dual Xeon RAM 4Gb configuration about 30 terminals with Expert Advisors will be running. If any of the experts starts to consume an excessive amount of resources (CPU, RAM and disk memory) and clearly interferes with the work of the other experts, it will be disqualified.

We have set a limit of 5 minutes for automatic tests. If an expert fails the test from 2007.01.01 to 2007.08.20 within this time, he is stopped forcibly with the reason: expert takes too long time (more than 5 minutes). Unfortunately, several dozens of experts did not pass the test precisely because of excessive consumption of resources.

All participants are requested to check their profiles, read the remarks and make changes in the code of their experts.
 

Dear organisers!

Can I ask for a precise definition of a multi-currency expert? I did a search on the website for the words "multi-currency expert". As a result, nothing was found in the documentation, and the rest of the pages (mostly from the Championships forum) didn't have the definition either. I have an approximate idea of what a multi-currency expert is, but I need a precise definition as well.

 

Why is an expert not allowed to participate in the Championship if he reaches the Stop Out?

(This does not apply to me yet)

The Championship Organizer replied that the Expert Advisor remains in the game after the Stop Out, but with a smaller deposit.

Why not use the same principle for checking EAs as well?

 
Aleksey24:

Why is an expert not allowed to participate in the Championship if he reaches the Stop Out?

(This does not apply to me yet)

The Championship Organizer replied that the Expert Advisor remains in the game after the Stop Out, but with a smaller deposit.

Why not use the same principle for checking EAs as well?

Our main task before we start is to weed out the knowingly bad assessors.

So far, only ~25 per cent of the published experts have passed the automatic tests, while the rest have errors. This is a truly discouraging result.
 
Martes:

Dear organisers!

Can I ask for a precise definition of a multi-currency expert? I did a search on the website for the words "multi-currency expert". As a result, nothing was found in the documentation, and the rest of the pages (mostly from the Championships forum) didn't have the definition either. I have an approximate idea of what a multi-currency expert is, but I need a precise definition as well.

A multi-currency Expert Advisor is someone who opens trading positions in other instruments, apart from the symbol to which it is attached. Any Expert Advisor can refer to charts and parameters of other symbols for information, but because of this it is not considered multicurrency.
 

Dear Renat Rashidovich!

My multicurrency Expert Advisor takes 5 minutes and 11 seconds to test.

You write that when testing, you can ignore errors like "OrderSend ERROR 4106".

The Expert Advisor uses 9 currency pairs and when tested on one of them, eight others generate this error.

As a result, from 01.01.2007 till 20.08.2007 we have 35 trades only on GBPUSD, while the log-file is 96 680 Kb

and almost all entries are error "unknown symbol".

The Expert Advisor has been tested on a contest account and on a real account as well.

No obvious trading errors have been detected so far.

QUESTION: Is the 5 minute limit correct for a MULTIVATE Expert Advisor?

 

Testing an EA in single currency mode on my computer took 59 seconds (log file size 23 Kb).

Testing in multicurrency mode took 13 minutes (log file size 96,680 Kb).

 
Referent:

QUESTION: Is the 5 minute limit correct for such an EA?

What makes you think it is not correct? It has been repeatedly written - the limit is 5 minutes for any Expert Advisor.

By the way, the 100 MB log-file confirms the excessive consumption of resources. This is clearly stated in the rules and in the first post of this thread.
 

But all entries in this log file are "OrderSend ERROR 4106". As you wrote above - this is not a fatal error.

It is not "excessive resource consumption".

 
Referent:

But all entries in this log file are "OrderSend ERROR 4106". As you wrote above - this is not a fatal error.

It is not "excessive resource consumption".

Leave until 21 September for your examiner to fail in 5 minutes and look at the result.

I get the impression that a result of 25% success in the simplest test is a pattern.
Either the authors don't read the rules, or it's not their experts, or they live in their own world by their own rules...
 
Renat:

I get the impression that a result of 25% success in the simplest test is a pattern.
Either the authors don't read the rules, or it's not their experts, or they live in their own world by their own rules...


They just need to focus more attention on this explanation.

And in big, bold letters, write the EXACT steps and conditions of admission.

In such simple words that even a milkmaid can understand it, so to speak!

The 90/10 principle applies to all areas of life.

(90% of money in 10% of the population, 90% of intelligence in 10% of the population, etc.).