Discussion of article "The algorithm of ticks’ generation within the strategy tester of the MetaTrader 5 terminal" - page 20

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Forum on trading, automated trading systems and testing trading strategies
Beta version of MetaTrader 4 IDE including new MQL4 compiler and editor
Urain, 2013.09.12 13:18
You naively believe that by trading on higher TFs you get away from the curse of incorrect tick generation, it is not true. Crossing close to a certain level does not depend on the TF. It permeates all timeframes. And on W1 close crosses the same level as on M1.
Here's an example:
Horizontal sections are the best points for opening/closing (in terms of execution), the price is standing, there is enough volume in the market that the market is gradually picking (that's why the price is standing), the risk of getting requotes is minimal.
But the tester will generate this section as a comb of ticks (up down), so in real life you will open on any TF confidently enough (if there is a signal, for example close crossed the indicator line), but in the tester on these sections you will get a lot of false positives and pay 8 spreads, and then after another 100 ticks you will pay another 8 spreads. This is how the generation of false ticks will kill a normal TS, and all the rubbish will remain, and the optimiser will have to choose what to give you as the winning monkey.
By the way, there are many such sites in real life.
Forum on trading, automated trading systems and testing trading strategies.
Beta version of MetaTrader 4 IDE, including new MQL4 compiler and editor.
Urain, 2013.09.12 14:13
There are ticks. In real life, ticks are generated by the event of changing the state of the stack.
That is, there are four types of ticks: bid changed, ask changed, both bid and ask changed, and finally there was no change in prices but the volume in the stack changed.
It is just the fourth type that gives a straight line, and it and changes in ask are inadequately generated by the tester.
To the last post: ...
How exactly do monkeys get ahead... in real life a sharp jump, which will not open, and in the tester a smooth rise in prices that did not exist, on such a rise tester monkeys quite show a profit, although they lose in real life.
Forum on trading, automated trading systems and testing trading strategies.
Beta version of MetaTrader 4 IDE, including new MQL4 compiler and editor.
Urain, 2013.09.12 14:21
I'm not asking now by example, when you write a programme, you think about possible variants.
Now the question is the adequacy of modelling in specific situations. I gave a link to an example, but the situation may well happen on any instrument at any broker.
ZY out of 4 situations leading to tick generation, 2 of them are handled inadequately.
Of the remaining two, the situation with the change of both prices (bid and ask) is not always processed correctly.
For example, the situation with a sharp change in prices leads to the appearance of false prices.
In summary, only one situation is always processed correctly - bid changes.
ntchk
Slightly tweaked the Expert Advisor for recording tester ticks from the article.
http://www.gkfx.ru/trade_specs/tick_history.html
http://www.dukascopy.com/swiss/russian/marketwatch/historical/
https://www.alpari.ru/ru/login/ (ticks in my personal cabinet), http://ticks.alpari.org/
All files + xlsx in the trailer
Свеча в 14:30 (время в MetaTrader 5) объёмом в 39 тиков, в альпари она равна 86 на ECN и 136 тиков на стандарт,
but it is absolutely not important (number of ticks), because the principle of tick generation will be the same, just the ticks will be denser.
In the MetaTrader 5 tester, you can see that the price on this candle monotonically, evenly and without jerks for 36 seconds rises to the maximum, then there is a small pullback.
And on the futures (stock ticks) you can see that the price jumped sharply, in a fraction of a second, and then the normal trading started.
On other news/statistics with sharp jumps of quotations the principle will be the same.https://www.mql5.com/ru/forum/1031/page19#comment_597854
The difference between real FOREX and futures ticks is quite small because there is arbitrage between them and there is filtering and aggregation of ticks on FOREX.
+ When making real deals the delay in execution of orders is different, because at some futures brokers all orders are stored on the exchange and are executed in several microseconds unlike FOREX.
https://www.mql5.com/ru/forum/10454/page88#comment_584876
This is also why the arbitrary delay (option in the tester) is not relevant, because the exact time (milliseconds, seconds) of forming highs or lows or pullbacks within the M1 candlestick is not taken into account when generating tester ticks.
Or it (arbitrary delay) should be set manually more than 1 minute, but there is no such possibility (again there will be a decrease in accuracy in other cases).
New article The algorithm of ticks’ generation within the strategy tester of the MetaTrader 5 terminal is published:
Author: MetaQuotes Software Corp.
I have an indicator for micro scalping. It gives very good results on the Tester M1 time frame - Every tick
When it goes live the results are poor!
After banging my head against the wall for several days, I came down to the conclusions that the difference is due to this "algorithm of ticks’ generation".
Any suggestions?
For example, could I filter the live data? if yes, how?
thanks for your help.
ugo
Hi guys, I think I need some help.
I have an indicator for micro scalping. It gives very good results on the Tester M1 time frame - Every tick
When it goes live the results are poor!
After banging my head against the wall for several days, I came down to the conclusions that the difference is due to this "algorithm of ticks’ generation".
Any suggestions?
For example, could I filter the live data? if yes, how?
thanks for your help.
ugo
Scalper (relying on tick data) are probably not testable with the Strategy Tester.
If you do not use any additional indicators you could catch the auto generated ticks from the saved history bars, throw them away and insert the ticks for the same minute from a previous saved tick feed.
A binary tick feed saved to disc takes about 50 MBytes for one currency for one week so I think that only small periods are testable (if you do have to save your own tick data and cannot get ticks data from other sources).
But this may be enough to verify your algorithms.
Good luck, ugo58
If you do not use any additional indicators you could catch the auto generated ticks from the saved history bars, throw them away and insert the ticks for the same minute from a previous saved tick feed.
A binary tick feed saved to disc takes about 50 MBytes for one currency for one week so I think that only small periods are testable (if you do have to save your own tick data and cannot get ticks data from other sources).
But this may be enough to verify your algorithms.
Good luck, ugo58
Hi, thanks to you all!
Not sure I understand: " ... insert the ticks for the same minute". Do you mean to manually see what were the real tick values at the same opening and closing times or there is a way to run the Strategy Tester from a disk saved history? I undersood from angevoyageur that this is not possibile .
ugo
Right, the MQL5 strategy tester does not allow the use of a different history than the prices provided by the broker. But if you program your own EA you could handle this as long as you do not need any prefabricated indicators.
With the new MQL4 as far as I understand you could write code identical to MQL5. If you take care of the different way of order handling you could test there your EA with a history provided by you.
ugo58