# All (not yet) about Strategy Tester, Optimization and Cloud - page 2

More article:

Genetic algorithms - it's easy!

Genetic algorithm (GA) refers to the heuristic algorithm (EA), which gives an acceptable solution to the problem in the majority of practically significant cases, but the correctness of the decisions has not been proven mathematically, and is used most often for problems, the analytical solution of which is very difficult or even impossible.

A classic example of a problem of this class (class NP) is a "traveling salesman problem" (is one of the most famous combinatorial optimization problems). The main challenge is finding the most advantageous route, which passes through the given cities at least one time, and then returns to the initial city). But nothing prevents to use them for tasks, which yield to formalization.

EA are widely used for solving problems of high computational complexity, instead of going through all of the options, which takes up a significant amount of time. They are used in the fields of artificial intelligence, such as pattern recognition, in antivirus software, engineering, computer games, and other areas.

It should be mentioned that MetaQuotes Software Corp. uses GA in their software products of MetaTrader4 / 5. We all know about the strategy tester and about how much time and effort can be saved by using a built-in strategy optimizer, in which, just like with the direct enumeration, it is possible to optimize with the use of GA. In addition, the MetaTrader 5 tester allows us to use the user optimization criteria. Perhaps the reader will be interested in reading the articles about theGAand the advantages, provided by EA, in contrast todirect enumeration.

More article related:

The MetaTrader 5 Client Terminal offers a wide range of opportunities for optimization of Expert Advisor parameters. In addition to the optimization criteria included in the strategy tester, developers are given the opportunity of creating their own criteria. This leads to an almost limitless number of possibilities of testing and optimizing of Expert Advisors. The article describes practical ways of creating such criteria - both complex and simple ones.

After we have defined our strategy and implemented it in our Expert Advisor, we face two issues that may completely invalidate our efforts.

• What are the most suitable input values?
• How long do these values remain reliable? When do we need to perform a re-optimization?
Apart from predefined parameters (symbol, timeframe, etc.), there are other (editable) settings: indicator calculation period, buy/sell levels, TP/SL levels, etc. This may cause some issues when using the EA.

Is it possible to develop an Expert Advisor able to optimize position open and close conditions at defined intervals?

Some discussion threads which may help to newbies:

MetaTester Agents won't start to work

Little question of a newbie

And this is something which may be important for example:

============

MetaTrader 5 Help → MQL5 Cloud Network → How to Participate - Restrictions of Participation on MQL5 Cloud Network

There are several limitations of participation on MQL5 Cloud Network:

• An agent should have at least 768 MB of available physical memory to perform calculations.
• To connect your agents to the MQL5 Cloud Network, the computer where the agents are installed must have at least 2048MB of RAM.
• The agent's productivity index (PR) should not be less than 50.
• Agents installed on a virtual machine cannot participate in MQL5 Cloud Network.
• Agents having PR below 100 are not used in  genetic optimization in order not to slow down the calculation process. The reason is that the calculation is performed by generations (256 passes). While one generation is not calculated, calculation of the next one cannot start. Even if a single pass out of 256 ones is calculated by a low PR agent, the total calculation speed is reduced.
• An agent will not be able to receive new tasks from the MQL5 Cloud Network if the free disk space on the computer where the agent is installed falls below 500MB.
• Agents do not receive tasks from the cloud network in case the PC they are installed at is powered by a battery (it refers to laptops).

### Multi-Currency Expert Advisors in MT5  - backtesting and optimization

• Buying or Selling all 7 pairs - the thread with the explanation.
• Multi-Currency Expert Advisors the post with the examples of backtesting/optimization

CodeBase

The articles

Documentation

• MetaTrader 5 Help → Algorithmic Trading, Trading Robots → Optimization Types - All Symbols Selected in Market Watch

Sergey Golubev, 2019.05.22 14:25

Since its introduction, MetaTrader 5 provides multicurrency testing options. This possibility is often used by traders. However the function is not universal. In particular, after running a test, the user can open a chart with performed trading operations. But this is only a chart of one traded symbol selected in the strategy tester settings. The entire trading history of all used symbols cannot be viewed after testing, while visual examination is not always efficient. Additional analysis may be required after some time after testing. Also, a report can be provided by another person. Therefore, a tool for visualizing trading on multiple working symbols based on the HTML testing report would be very useful.

The previous article provided a description of the HTML parser based on CSS selectors[1]. The parser extracts the list of deals from the HTML report, based on which we can trades can be formed (graphical objects). Parsing of CSV files from the Signals section is a bit easier, while the file format for the MetaTrader 4 (*.history.csv) and MetaTrader 5 (*.positions.csv) signals is supported by the built-in MQL functions.

This type of optimization is based on the genetic algorithm of search for the best values of input parameters. This type is much faster than the first one and is almost of the same quality. The slow complete optimization that would take several years can be performed within several hours using the genetic algorithm. Each individual has a...