Reduce_risks – EA MetaTrader 5

This is an MQL5 version of the Expert Advisor from the article “How to reduce trader’s risks”.

The EA works on each tick and can be optimized:

  • Get some data (on indicators and time series) only if a new bar appears

Sample tester runs with the appropriate settings (the terminal was relaunched before each test, the caches were not cleared):

Reduce_risks Tester Settings

1 EURUSD,M1: 90097615 ticks, 1090402 bars generated. Environment synchronized in 0:00:00.173. Test passed in 0:08:34.093 (including ticks preprocessing 0:00:29.109)
2 EURUSD,M1: 90097615 ticks, 1090402 bars generated. Environment synchronized in 0:00:00.047. Test passed in 0:08:20.531 (including ticks preprocessing 0:00:28.453)
3 EURUSD,M1: 90097615 ticks, 1090402 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:07:56.172 (including ticks preprocessing 0:00:30.969)

Below is the graph before the code optimization:

Reduce_risks Tester Graph

Now, three runs after a small code optimization:

1 EURUSD,M1: 90097615 ticks, 1090402 bars generated. Environment synchronized in 0:00:00.047. Test passed in 0:06:25.609 (including ticks preprocessing 0:00:30.750)
2 EURUSD,M1: 90097615 ticks, 1090402 bars generated. Environment synchronized in 0:00:00.047. Test passed in 0:06:20.875 (including ticks preprocessing 0:00:28.743)
3 EURUSD,M1: 90097615 ticks, 1090402 bars generated. Environment synchronized in 0:00:00.043. Test passed in 0:06:15.305 (including ticks preprocessing 0:00:27.475)
Alternative:  BB Stops - multiple stops - indicator MetaTrader 5

As we can see, now that some variables are declared with ‘static’ type and re-written on a new bar only, we can save 2 minutes.

The attached file of the version 1.013 contains the optimized code.


📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks