Unrealistic Expectations
I think backtesting in MT4, the way it is typically done is a big waste of time. We are trying to test the robustness of an EA (or trading Robot) over a very long period of time in all types of market conditions. But this isn’t how we use EA’s… who cares if the EA cannot be profitable over a 5 year time period? The market has gone through so many changes during that time that to code an EA that will take all of that into account and adjust accordingly is rather silly.
Most of us think in terms of days, weeks and months when it comes to trading and EA’s. We care that it works in today’s market conditions. I don’t care that because of what happened for three months in 2015 my EA will fail to show a profit in the MT4 Strategy Tester.
If the EA you create is built on simple inputs and indicators it is highly unlikely that it will perform well day after day week after week over a very LONG period of time. Yes… at the very high end there are coders that develop very complex and detailed EA’s but that is not what most of us have the skill, the knowledge, the budget or the time to do.
Often though your EA does work over a shorter time period in a specific type of market condition. Does it have any value? I think it absolutely does. We just need to use it selectively going forward. The whole idea if your automation having to work on every currency pair, every time period and in every different market condition seems unrealistic and will typically result in a pretty unimpressive result, even if it does generate a profit unless one adds in loads of RISK.
I have been following several Signal Providers from MQL5 and I notice the successful ones are often trading one currency pair only on one timeframe.. often with fairly HIGH-RISK levels. I understand this completely and am comfortable with it in a smaller LIVE account where you are willing to take RISK.
The Way Forward
So what I want to work on going forward is small simple EA’s that are applied selectively during certain periods of time on certain currencies and in certain market conditions. If for example, you have identified a strong UPTREND in a currency pair applying an automated solution you have developed specifically geared towards that situation is a perfectly acceptable strategy in my opinion.
Many times I have coded an EA and run it through the MT4 Strategy Tester over a period of a few weeks and it has been very successful, but as soon as I run it through a few years it fails miserably. Does this mean is he a has no value? I don’t think so
I will be exploring this in more detail but I believe I have thrown away too many good strategies because they failed to perform well over a very long period of time which I now believe is really quite foolish on my part.
Using Strategy Tester In The Future
Rather than just plunking the EA on any old chart and timeframe and running it for several years to see if can be profitable I want to be FAR more selective in this process. There is much more work involved BUT I believe the right way to go. Testing on specific timeframes and in specific conditions that you are trying to work with makes sense to me.
So the end result would be a set of testing conditions that I would use. For example, I might have 10 HOURLY TRENDING settings or charts (currency pair, length of time and trending) that I will test my “TRENDING EA” against.