Go back to the forum

Forex Stock Exchange Forum    

"EmaPro" Trading Robot (Expert Advisor) for MT5 trading platform

Admin | Published on the wed Mar 24, 2021 7:48 pm | 1562 Views

Hello guys, if you are reading this text, it means you are interested to know how this robot works. Nothing is too complicated, in fact, it is so simple that it could not be simpler. So, let's get started :)


When I started making a strategy for this robot, I tried to make things simplest as possible. So, yes, it’s a cross-strategy like one million other similar cross EA's, but to make my Ema special and different from other robots, the strategy involves advanced logic, which works independently or in combination with data mining, and that thing is the reason why this robot is different from other similar robots on the market today. 

Direct link to the EA:


I will divide the adjustable inputs into three groups. The first group is used for money management and entry-exit rules. The second group of inputs is involved in signal logic, and the final third group belongs to Data Mining.

Money Management

There are three possible options

1. Lots Min. If you select this option, the robot will open only the mini lot "0.01" per each position. In this case, the next input >> The value for "Money management" << was ignored.

2. Constant lot. If we select this option then we need to set our lot manually in the appropriate field.

3. Risk in percent for a deal. If you select this option, it means that the system will automatically calculate the level of risk depending on the size we previously entered and is calculated as a percentage according to the free margin.

So if we choose Constant lot we simply set the volume size we want to, starting from 0.01,0.1,1, etc... If previously selected Risk in percent, then we adjust this input to the appropriate level of risk we want to, which can be 1,2,3,4,5, etc... If we selected a mini lot. Then, as I pointed earlier, this input is ignored, regardless of the value entered in this field, and the system will open the mini lot, only.

Exit Rules

Trailing Rules

Break-Even Rules

Everything I wrote for TS also applies to BE, so there is no need to repeat myself.


So, we come to the part where we talk about the signal group. The signal is generated based on the crossing of two Moving Average indicators. It would be something like a simple explanation and a basic concept, but some other details are also included in the signal logic, which refers to the price position, Ask/ Bid ratio, etc ...

Fast Moving Average

Slow Moving Average

I did not optimize these inputs or change them at all, because I focused more on optimizing in the  Data Mining section. They are simply as they are. So, If you want a faster strategy, choose a smaller number for the Averagin Period, for both indicators. For example, for fast MA, it can be number ONE, and for slow MA, choose FIVE. Basically here you can play the games you want, to get the best possible parameters, or simply leave them as they are.

Now we finally come to the third and final part of this robot and that is Data Mining. Don't be afraid, nothing is too complicated, actually, it's very simple :). So, guys, we can use this option or we don't. In both cases, the robot will trade for us according to the set parameters.


Indi Data

These three inputs control the fast Moving Average

And these three inputs control slow Moving Average

Price Data

These nine inputs control the operation of the price. Now when we know everything, what would be our gain by using this option? 

So, mining serves to get the best start/stop positions for our indicators and for prices as well, in a certain period of time. In this way, we achieve a small relative drawdown and on other hand generate profit at a satisfactory level.

The optimization process is exactly the same as for other inputs. We select our start/step and stop. It's recommended to use as large steps as possible, for example, Start 0, Step 10 Stop 100, in order to avoid over-optimizing parameters. Try to use a forward optimization to confirm obtained parameters. It's recommended to use six cycles of the Walk Forward in a period of 10 years. After that, you need to work with the data to get the most profitable inputs, and so on...

You should also need to know that the robot has already optimized in six cycles of WF optimization on the EURUSD currency pair on H1. Could the result be better? Of course. This is not the best result, but for me, it is quite okay for now.

Now I will show you some example

First, the example shows us a one-year test using the Data Mining option.

Another example is for a period of three years also with data mining.

Now I will show you a sample test without using the data mining option. DD is a little higher in this test because I use a risk level of 10 percent.

So, guys, that would be all for now. Don't forget one fact, the past performance are not necessarily indicative of future performance.

About the author