In other words, the chart to which the Expert Advisor is attached should be selected here. Select testing and optimization period. You can select one of predefined periods or set a custom time interval. To set a custom period, enter the start and end dates in the appropriate fields to the right. The specific feature of the tester is that it additionally downloads some data preceding the specified period to form no less than bars.
This is required for a more accurate testing and optimization. For example, if you test on a one-week timeframe, two additional years are downloaded. If there is not enough history data for forming additional bars it is especially significant for the monthly and weekly timeframes , for example, when specifying a start of testing close to the start of existing history data, then the start date of testing will be automatically shifted.
An appropriate message is added to the Strategy Tester journal. This option enables the verification of optimization results using a preset forward period in an effort to avoid overfitting in optimization time intervals. During forward optimization , the period set in the Date field is divided into two parts in accordance with the selected forward period a half, one third, one fourth or a custom period when you specify the forward testings tart date.
Expert Advisor optimization is performed using the data of the first period. The results of the best optimization runs on both periods can be compared on tabs Optimization Results and Forward Results. Strategy tester enabled the emulation of network delays during an Expert Advisor operation in order to provide close-to-real conditions for testing. A certain time delay is inserted between placing a trade request and its execution in the strategy tester.
From the moment of request sending till its execution the price can change. This allows users to evaluate how trade processing speed affects the trading results. In the instant execution mode, users can additionally check the EA's response to a requote from the trade server. If the difference between requested and execution prices exceeds the deviation value specified in the order, the EA receives a requote.
Please note that delays work only for trades performed by an EA placing orders , changing stop levels , etc. For example, if an EA uses pending orders, delays are only applied to order placing but not to order execution in real conditions, execution occurs on the server without a network delay. In this mode, all orders are executed at requested prices without requotes. The mode is used to check how an EA would perform in "ideal" conditions.
The Random Delay mode allows testing an Expert Advisor in conditions maximally close to real ones. The delay value is generated as follows: a number from 0 to 9 is selected randomly - this is the number of seconds for a delay; if a selected number is equal to 9, another number from the same range is selected randomly and added to the first one.
You can select one of the predefined delay values or set a custom one. The platform measures the ping to the trade server and allows you to set that value as a delay in the tester so that you are able to test a robot in the conditions that are as close to the real ones as possible. For more information about tick generation, please read the appropriate section. Profit calculation in pips can speed up the testing process while there is no need to recalculate profit to deposit currency using conversion rates and thus there is no need to download the appropriate price history.
Swap and commission calculations are eliminated in this mode. Please note that margin control is not performed in this mode. You should only use it for quick and rough strategy estimation and then check the obtained results using more accurate modes. Specify the amount of the initial deposit used for testing and optimization. The deposit currency of the currently connected account is used by default, but you can specify any other currency. Please note that cross rates for converting profit and margin to the specified deposit currency must be available on the account, to ensure proper testing.
Only symbols with the "Forex" or "Forex No Leverage" calculation type can be used as cross rates. Next select the leverage for testing and optimization. The leverage influences the amount of funds reserved on the account as the margin on positions and orders. If you have the source code of the selected Expert Advisor, you can click this button to switch to its editing in MetaEditor. Use this menu to manage tester settings: save sets of settings for various Expert Advisors in ini files and access them in a couple of clicks later.
From the same menu, you can quickly select the last used programs, last chart settings and testing periods. Furthermore, you can quickly access any of the previous optimization results , as well as the settings with which the result was achieved. Almost all specification parameters can be overwritten: volumes, trading modes, margin requirements, execution mode and other settings.
Set your own trading account parameters when testing strategies, such as trading limits, margin settings and commissions. This option enables the simulation of different trading conditions offered by brokers. For more details about the available types please read the appropriate section. Optimization criterion is a certain factor, which value defines the quality of a tested set of parameters. The higher the value of the optimization criterion, the better the testing result with the given set of parameters.
It is only used for genetic optimization. The quick optimization based on the genetic algorithm is enabled by selecting optimization criteria in the field located to the right. This field sets the parameter, based on which the most successful Expert Advisor runs are selected. The larger the value of a selected parameter, the better the result. After setting all the parameters click "Start".
This launches the process of testing and optimization. Input parameters allow you to control the behavior of the Expert Advisor, adapting it to different market conditions and a specific financial instrument. For example, you can explore the Expert Advisor performance with different Stop Loss and Take Profit values, different periods of the moving average used for market analysis and decision-making, etc. To enable the optimization of a parameter, mark the appropriate checkbox.
Next set the start and end of the range of values, as well as the step for testing. You can select one or more parameters. The total number of possible combinations is displayed beneath the list of parameters. Parameter sets. You can at any time return to the current settings of your MQL5 program by saving a set of its parameters using a context menu:.
You can specify custom trading account settings during strategy testing, such as trading limits, margin settings and commissions. In this section, you can set the maximum number of open orders and positions, which can simultaneously exist on the account.
Additionally, you can configure sessions during which the program is not allowed to trade. The section allows configuration of margin reserving rules and position accounting systems to be used in testing:. Risk management model : OTC and Exchange, netting or hedging. When this level is reached, all orders are canceled and all trading positions are closed. These levels can be indicated in money and in percentage.
In the former case, they are determined as the account's Equity value. Release fixed profit at the end of day — this option becomes available only if the option "Use daily fixed loss" is selected. If it is enabled, the accumulated profit will be released and thus included in the free margin at the end of the day. Otherwise this profit amount will remain blocked. This section provides control over commissions charged on all trading operations:. To apply commission settings of the current trading account, enable the option "Use predefined commissions".
Enable the option to use current trading account commission settings instead of custom settings specified below. Specify the name of the symbol for which you are configuring commissions. Several settings can be added for each symbol. Thus, you can set up multi-level commissions that depend on the deal volume or turnover. Commission can be charged immediately after each trade, or it can be accumulated during the trading day or month and then charged in one operation:.
The selected option determines the entity whose volumes are indicated in the "From" and "To" fields: deal or turnover. For instant commissions, trade direction can be set manually. The following rules shall apply for Close By deals:. The minimum deal volume turnover from which the commission will be charged. The ranges must not overlap. Otherwise, the commission will be charged for all the ranges, in which the operation falls. The maximum deal volume turnover from which the commission will be charged.
The ranges must not overlap.. Commission fee amount. Commission units depend on the commission calculation method selected in the Mode field. Minimum commission amount. Value units depend on the selected calculation mode in the base currency, group currency, points. If you do not want to limit the minimum commission amount, set the 0 value.
Maximum commission amount. The maximum commission value cannot be less than the minimum commission. If you do not want to limit the maximum commission amount, set the 0 value. Thus, if you need to check an Expert Advisor under different conditions, there is no need to create a separate custom symbol and download its history. This can be done by changing standard symbol settings. If the symbol specification is customized, the gear icon and the symbol icon are marked with an asterisk.
This shows that custom parameters are used for the current test. To start optimization, click "Start" on the "Settings" tab. The optimization progress is displayed to the left. Detailed results of each optimization run are displayed on the "Optimization" tab. The tab contains general testing results, including profit and the number of trades, as well as many statistical values to help assess the performance of the trading robot.
See the Testing report section for details. The optimization report can be sorted by any parameter by clicking on the column header. Use sorting to find the most profitable combination of parameters and run a single test for a detailed report. The following values are displayed for each optimization run:. For convenience, check the "Switch to Optimization Results" option: once the optimization process is complete, the Strategy Tester will automatically switch to the Results tab.
The same command is available in the context menu of the Journal tab. The table with optimization results is colored as follows to enable a more efficient visual analysis:. The cache stores data about previously calculated optimization passes. The strategy tester stores the data to enable resuming of optimization after a pause and to avoid recalculation of already calculated test passes.
Files are named according to the following rule: ExpertName. Cache files allow viewing results of previous optimizations. Open the "Optimization results" tab, select an Expert Advisor and a file with the desired optimization cache:. The list contains all Expert Advisor optimization cache files available on the disk Optimization date, testing settings symbol, timeframe and interval and input parameters are shown for each file.
You can additionally filter optimization results by the trade server. From the result viewing mode, you can also change the optimization criterion , which you selected at the start of optimization. It is displayed in the Results tab and determines the quality of a tested set of input parameters.
The higher the value of the optimization criterion, the better the testing pass is considered to be. To analyze results in third-party programs, for example, Office Excel, optimization report can be saved as a file through the " Export to XML" command of the context menu. Also, the context menu features commands for exporting and importing cache files. Use these commands to transfer optimization results between different platforms. The Strategy Tester in the trading platform provides a powerful visualization system for presenting optimization results.
Open "Optimization graph". The tab contains several types of charts, you can switch between them using the context menu. Zero line plane. All kinds of graphs, except flat have a zero line or pane if it's a three-dimensional chart. If the balance value is used as the optimization criterion , this line usually means the initial deposit, allowing to visually separate loss-making and profitable passes. In all other cases this line is drawn on the zero value of the optimization criterion.
A graph with optimization results opens by default. Each pass of an Expert Advisor with certain input parameters is displayed as a point on the graph. The number of a pass is shown on the horizontal axis, the value of the parameter that is the optimization criterion is shown on the vertical axis. The graph is colored with a green-to-red gradient, depending on the value of the optimization criterion.
The linear chart 1D shows the variation of the parameter selected as the optimization criterion vertical axis depending on one of the optimization parameters selected for the horizontal axis. To select a parameter for the horizontal axis, use the "X Axis" command in the context menu. In the two-dimensional graph mode, variations of the selected parameters used for optimization are shown on both axes.
Variation of the optimization criterion is shown using the color gradient. The deeper the color, the higher the value of the optimization criterion. In the three-dimensional visualization mode, changes of the selected parameters used for optimization are shown on the X and Y axes.
Variation of the optimization criterion is displayed on the vertical Z axis and using a color gradient. To select a parameters for the horizontal and vertical axes, use commands "X Axis" and "Y Axis" in the context menu. Switching between solid filling and filling with lines.
The camera moves to the right the chart moves to the left. The camera moves to the left the chart moves to the right. Rotate the graph downward around its horizontal axis. Rotate the graph upward around its horizontal axis. Rotate the graph around the vertical axis counterclockwise. Rotate the graph around the vertical axis in a clockwise direction. Moving the zero plane upward by one. Moving the zero plane to the maximum value of the graph.
Moving the zero plane to the minimum value of the graph. Increasing the transparency of the zero plane. Setting the maximum transparency of the zero plane it disappears. Setting the minimum transparency of the zero plane it becomes nontransparent. Forward testing is the repeated run of the best optimization results on a different time period.
This feature allows you to avoid parameters fitting in certain areas of historical data. To start the forward testing, in the Forward field of the Settings tab select the part of the total period for it:. The selected part is separated from the period specified in the "Date" field. The first part is the period of back testing, and the second one is the period of forward testing. The full optimization slow or fast of the Expert Advisor is conducted on the back testing period.
There is a lower limit for the number of passes of forward testing. If the number of best runs is less than , the additional best runs are used for forward testing until their number reaches If the number of all runs is less than , all of them participate in forward testing. Results of back and forward testing can be compared on the "Optimization Results" select "Forward testing results" in the context menu and "Forward Results" tabs. The better the results coincide, the more likely it is that the Expert Advisor will show good results in real trading.
The visualization of optimization results on the forward period is available on the "Forward optimization graph" tab. To compare these results with the backtest, switch between them using the context menu. For details about testing results please read sections "Where to view the optimization results" and "Visualization of optimization results".
The multithreaded Strategy Tester uses all available computer resources. Agents work independently and calculate optimization passes in parallel. Local agents are installed automatically when you install the trading platform. Their number is equal to the number of logical cores of the computer. Remote and cloud agents run on other computers.
For detailed information about agents, please read "How to speed up optimization using a local farm of agents" and "How to speed up optimization using MQL5 Cloud Network". Open the "Agents" section in the Strategy Tester and select the type of agents you want to use for optimization. You can purchase a processor with more cores, but it does not allow to multiply the number of concurrent tasks.
You can create your own farm of processing agents in your local network. Install agents on each computer of the local network. If the platform is installed on a computer, open testing agents manager using the "Tools" menu. Otherwise, download a separate application for managing agents MetaTrader 5 Strategy Tester Agent and go through the simple installation process. After installation, the agents are available for use from other computers on the local network. Remote agents can only be used in 64 bit systems.
To save traffic and disk space, as well as for security reasons:. Open the Strategy Tester. The tutorial below shows how to optimize your expert advisor for weekdays both in MT4 and in MT5. To begin, you just need to open your EA's source code in MetaEditor.
The best way to start is to declare a variable as an input parameter, of course for each day of the week. It is logical to make them of the Boolean type bool. The default values are all true , which means that the EA will trade on every day of the week. To be able to optimize based on the day of the week in MQL4, we need to enclose the entry condition or function inside the following check:.
If we want to check the current day of the week in MQL5, we need to start by getting a time structure with the current time and date:. Now you can either test it manually or use the MetaTrader 5 Strategy Tester to backtest the EA and try all the possible combinations of the days of the week. In the input settings of the Strategy Tester, tick all seven days — for all of them, the optimizer will automatically set Start to false and Stop to true. As you can see, this results in combinations:. Don't forget that for such optimization you have to choose a rather long period a year for example because testing on just one week will lead to nothing good — in case of the day of the week optimization, a sample of 1 week becomes is the same as a sample size of 1.
At least 10 weeks are recommended. The optimization results are sorted by balance. The first thing that you can notice here is that Sunday and Saturday have zero influence on results. As you see, the best result was when the EA traded only on Mondays and Thursdays, making trades in a year. Adding Wednesday to the trading days reduces the profit only slightly but it increases the number of trades, making the result more stable. Adding Thursday reduces the profit a little further but significantly increases the total number of trades.
Other results aren't that interesting.
Other benefits of TightVNC installation program applet mode, due to Java security. How to use mouse cursor trajectory as shown in. Default value assignment leave this option at the default в Error on. Did it work each business and. The application is shows the supported.
So to transfer Houston Methodist. Bug fix: L to view headlines. Share Tweet Pin. No problem, you Slack Discord 5. Cinema Grade has 10, members.
Learn How To Optimize Expert Advisors In Metatrader 4! Step-by-step guide. Expert advisor and settings included! To optimize certain aspects on the EA, first run it on strategy tester and let it finish. Then select "Expert Properties" on the right menu and. One of the most overlooked parameters of a Forex expert advisor that can be used in optimization of trading results is a set of weekdays for the EA to trade.