Advice on not using the MetaTrader 4 Strategy Tester

 

Back in MetaTrader 3, it was noted that it was useless to use a strategy on a real account that made a profit when tested in the strategy tester. In those days the only solution was to test in real time. It was a little help to use the M1 period version of the Expert Advisor. In the new MetaTrader 4 terminal, the developers have added to the strategy tester the model "All ticks (based on all the smallest available periods with the fractal interpolation of each)". It would seem: if we have a complete history of minutes, then for periods M5, M15, M30, H1, H4, Daily - the same set of ticks will always be formed. But it is not. We write any tick strategy and try to test it on different periods. If the strategy has a profitability higher than 1, then the higher the period, the more exorbitant the results. Moreover, if we translate a strategy showing profit on, say, H1 period, into a variant working on M1 period, the strategy almost always turns out to be unprofitable. The conversion into a period-independent variant in MQL4 is enabled by functions of Access to timeseries group: iClose(), iHigh(), iLow(), iOpen(), iTime(). The second parameter of these functions allows to explicitly access values of the chart of a certain period.

Conclusion. Before testing, be sure to change the strategy into a period-independent form, and always test it on the period M1. Even more real results can be obtained by testing on the tick chart. But MetaQuotes tries to avoid introducing tick technologies in its terminal. Apparently, it's not about the complexity, but its attractiveness and simplicity. All beginners in the market research fall for this in the first place. Another way is to use testers from third-party manufacturers, which use tick quotes history. Only after the strategy testing on such a tester it makes sense to translate the strategy code in MQL4.

© Herurg

 
You forgot the more conceptual rule of thumb (for those who have actually spent many years testing): moving to the smallest timeframes leads to imminent failure.

Many beginners look for a solution to their problems in micro analysis, trying to get into tick levels and engaging in pipsing. As a result their strategies fail due to deviations of 1-2 pips. This happens all the time. No one can resist trying to analyse the noise :-)

And those who have gone through several rounds of losses understand that it's insanity to analyze on ticks and minutes. And they go in the opposite direction - analyzing on higher and higher periods, where the pip noise is almost irrelevant.


We are well aware of everyone's desire to step on the rake of the pipsqueak microanalysis. They really should be stepped on.
 
Interesting. Is it true that ticks are generated differently on different timeframes (if there is a minute history), or is the problem that the minute history does not cover the whole period of the higher timeframes?


And where can we get the tick history? It can also be used in MT.
 
Renat писал (а):
You forgot the more conceptual rule of thumb (for those who have actually spent many years testing): moving to the smallest timeframes leads to imminent failure.

Many beginners look for a solution to their problems in micro analysis, trying to get into tick levels and engaging in pipsing. As a result their strategies fail due to deviations of 1-2 pips. This happens all the time. No one can resist trying to analyse the noise :-)

And those who have gone through several rounds of losses understand that it's insanity to analyze on ticks and minutes. And they go in the opposite direction - analyzing on higher and higher periods, where the pip noise is almost irrelevant.


We are well aware of everyone's desire to step on the rake of the pipsqueak microanalysis. They really should be stepped on.

It seems to me that what is meant is not analysis on M1, but testing with selection of M1 period in the tester, and the timeframe on which the analysis is performed is specified in the indicators called by the Expert Advisor.
 
Renat писал (а):
You forgot the more conceptual rule of thumb (for those who have actually spent many years testing): moving to the smallest timeframes leads to imminent failure.

Many beginners look for a solution to their problems in micro analysis, trying to get into tick levels and engaging in pipsing. As a result their strategies crash because of deviations of 1-2 pips.
Note that my customized strategies have shown very good results on M15 to H4 timeframes. They had targets around 30 - 200 pips, trailing stop and stop loss. But then we received complaints that it did not work on the real account. These strategies cannot be called pip-based by any means. After converting to a period-independent form and testing on M1 period it was found out that the strategies are unprofitable. Nothing can be debugged on large periods. The strategy tester's tick-flow differs greatly from period to period and does not correspond to the nature of the real market at all. The technical analysis is useless under such conditions. Only the quotes flow that is maximally close to the real one can provide an objective testing. And it is not about catching 1-2 pips.

© Herurg
 
Integer писал (а):
Interesting. Are ticks really generated differently on different timeframes (when there is a one minute history)...?
We write any tick strategy and try to test it on different timeframes. It selects the model "All ticks (based on all smallest available periods with fractal interpolation of each)". Personally, I have seen that even with a full minute history, the results are very different. See here and here. The H1 period shows exorbitant results. M1 period is more real and modest. The technique is purely tick and does not depend on period.

© Herburg
 
Renat писал (а):
You forgot the more conceptual rule of thumb (for those who have actually spent many years testing): moving to the smallest timeframes leads to imminent failure.

Many beginners look for a solution to their problems in micro analysis, trying to get into tick levels and engaging in pipsing. As a result their strategies fail due to deviations of 1-2 pips. This happens all the time. No one can resist trying to analyse the noise :-)

And those who have gone through several rounds of losses understand that it's insanity to analyze on ticks and minutes. And they go in the opposite direction - analyzing on higher and higher periods, where the pip noise is almost irrelevant.


We are well aware of everyone's desire to step on the rake of the pipsqueak microanalysis. They really should be stepped on.

It's very simple, in fact. The model should be as close to reality as possible... and better yet, it should be the story of reality itself... and don't scare us with noises... :) The question has been asked more than once - why model what is already known... :)
 
mandor:
Integer:
Interesting. Are ticks really generated differently on different timeframes (when there is a one-minute history)...?
We write any tick strategy and try to test it on different timeframes. It selects the model "All ticks (based on all smallest available periods with fractal interpolation of each)". Personally, I have seen that even with a full minute history, the results are very different. See here and here. The H1 period shows exorbitant results. M1 period is more real and modest. The technique is purely tick and does not depend on period.

© Herurg.

If I understood you correctly, you don't see any difference between different periods? That is, a strategy written for H1 should work fine/also well on M1?

If you actually claim that (testing the strategy on different timeframes should be the same), then I express my sincere condolences to your customers. This is a completely wild misunderstanding of the situation or an attempt to play with words in the "if what I said is wrong, you just misunderstood me" mode.
 
Renat писал (а):
If I understand you correctly, you don't see any difference between the different periods? That is, a strategy written for H1 should work fine/also well on M1?

If you actually claim that (testing the strategy on different timeframes should be the same), then I express my sincere condolences to your customers. This is a completely wild misunderstanding of the situation or an attempt to play with words in the "if what I said is wrong, you just misunderstood me" mode.
I meant only that the strategy tester gives different set of ticks for different periods when using "All ticks (based on all the smallest available periods with fractal interpolation of each)" model and when having a complete history of minutes for the tested interval. I haven't investigated how different this set is. Apparently it is significantly different if profitable strategies for H1 become loss-making on M1, though H1 chart data is still used with functions of Access to timeseries group: iClose(NULL,PERIOD_H1,.......), iHigh(NULL,PERIOD_H1,...), iLow(NULL,PERIOD_H1,...), iOpen(NULL,PERIOD_H1,...), iTime(NULL, PERIOD_H1,...). Well, how else to explain this point to the leader of the nobility (MQ)?

I have not received or written any stats specifically for M1 as orders. It's just a question of the way it's tested. A tester on H1 produces a completely far from market set of ticks.

© Herculean
 
Registr:

It's very simple, in fact. The model should be as close to reality as possible... and better yet, it should be the story of reality itself... and don't scare us with noise... :) The question has been asked more than once - why model what is already known... :)

Good luck on the rake :) Minute-based testing works almost perfectly. Well you don't understand it yet - that's why you are trying to do/say what the banal logic of any novice trader suggests and what I am warning you about:

Many beginners look for a solution to their problems in micro analysis, trying to get to the level of ticks and doing pips. As a result their strategies crash because of deviations of 1-2 pips. This happens all the time. No one can resist trying to analyse the noise:-)

And those who have gone through several rounds of losses understand that it's insanity to analyze on ticks and minutes. And they go in the opposite direction - analyzing on higher and higher periods, where the pip noise is almost irrelevant.


We are well aware of everyone's desire to step on the rake of the pipsqueak microanalysis. They actually have to be stepped on.

We will perform poticky testing (in future systems) - it is not difficult, but it will by no means solve the problem. But it will raise understanding (through the same problem of differences between the tester and the real) - trading on poticky noises is unstable and unprofitable.


By the way, analysis of preliminary tests during the Automated Trading Championship 2006 showed that about 60% of Expert Advisors sent to us were not even able to follow some simple rules. What's inside their code is a real mystery.

Practically _all_ written EAs (not only the Championship ones) do not contain the "coarsening/thickness" block and that is why they get nervous at any murmur. It means that programmers just don't think about special "stuffing" of their EAs. It is much easier for them to think about "wrong ticks" instead of understanding the essence of "ticks are always wrong and I should earn at a standard noise of 2-3 pips".

 
mandor:
Renat:
If I understand you correctly, you don't see any difference between different periods? That is, a strategy written for H1 should work fine/also well on M1?

If you actually claim that (testing the strategy on different timeframes should be the same), then I express my sincere condolences to your customers. This is a completely wild misunderstanding of the situation or an attempt to play with words in the "if what I said is wrong, you just misunderstood me" mode.
I meant only that the strategy tester gives different set of ticks for different periods when using "All ticks (based on all the smallest available periods with fractal interpolation of each)" model and when having a complete history of minutes for the tested interval. I haven't investigated how different this set is. Apparently it is significantly different if profitable strategies for H1 become loss-making on M1, though H1 chart data is still used with functions of Access to timeseries group: iClose(NULL,PERIOD_H1,.......), iHigh(NULL,PERIOD_H1,...), iLow(NULL,PERIOD_H1,...), iOpen(NULL,PERIOD_H1,...), iTime(NULL, PERIOD_H1,...). How else to explain in more detail a leader of nobility (MQ)?

© Herurg.

And you make a research and publish the discrepancies of the results - it will be interesting to all. And first of all for us. If you make it into an article for the Articles section, we'll pay for it (we've paid $1,720 for a number of articles so far).