How to setup MT4 Expert Advisor Simulation?

Below are some configurations for your consideration.

1) The choice of simulation chart period. The commonly used charting period
is 1 minute chart (M1), 5 minutes chart (M5), 15 minutes chart (M15), 1 hour
chart (H1), 4 hour chart (H4) and 1 day chart (D1). From my experiences,
simulating with M1 period result will produce accurate results from your EA.
Any chart time frame greater then 1M, will result in frame stepping by the
simulator. The simulator will step thru the time frame and aggregate the closet
to your number, which can cause false breakout and unrealistic result.

2) Use fully downloaded M1 result from a data server. Many broker nowadays
support client to backwards download data from now to 2002 (at least last 10
years of data). Once full M1 data downloaded, you can use period converter to
convert to M5, M15, H1, H4 and D1 database. This will complete the database
that is used by simulator when called to run back testing for your EA.

3) Most EA are ready to be used for live and demo trading. However, if you
are modifying a EA that is meant for live trading, you need to include below
3lines of code to let it run in back testing mode by the simulator.

line1: static datetime nextRund

line2: if( nextRund > TimeCurrent() ) return(0);

line3: nextRund = TimeCurrent() + 30;

The above codes with delay your program by 30 seconds before it proceed to
executed the next program. You cannot use while loop or jump program as it is
non static and will stop the moment the program executed the last line of code.
The above actually set a static variable and this variable is match with the
time in the PC. As this variable is static, it will stay in memory when your
program exist and execute again. The 30 is default in terms of seconds. This
may be difficult at first, but after some trial and error, you will get use to
it and use different time seconds to your advantage.

4) Delay is non static but it can be use to temporarily stop the program
while running other function. This is extremely using if you are running
multiple EA and executing on a single data server. By setting different delaysFree Articles,
your program will execute at different time thus not congesting the order send
to your server. This act as multitasking your order and does average your CPU
utilisation over time.

The above are some factor to consider. Thank you


Rejected Everywhere For A Merchant Account? We have a solution! Low – High-Risk Merchant Account Specialists. Unlimited Processing at 0%. No Contracts. No Shut Downs. No Set-Up & Application Fees. FREE Gateway Set-Up – Secured Transactions.


Leave a Reply

Your email address will not be published.