Tick Audit - check real tick history and backtest quality month by month:
Author: Ayaz
can you add option to only give report on current state of the ticks recieved at point of attaching the script? ie without downloading more ticks.
nice. thanks for sharing!
can you add option to only give report on current state of the ticks recieved at point of attaching the script? ie without downloading more ticks.
Michael, on "only give report on current state of the ticks received, without downloading more" - I checked before answering rather than guessing, and the answer is partly no.
There is no way to read the tick database without touching it. The documentation for CopyTicks says the first call starts synchronising the symbol's tick database, and anything the local database does not hold is downloaded from the server. SeriesInfoInteger reports on the timeseries, so there is nothing to query about ticks either.
What can be improved is how hard the script leans on that. It samples six days a month at the moment, so a month you do not hold gets requested six times over. Stopping at the first sign a month is not cached, and marking it as not held locally rather than as having no ticks, would cut most of that. It is on the list for a future version.
What no setting can promise is zero downloading. A request for data the terminal does not have will wait while it arrives, and that wait happens inside the call, so on a heavy symbol the first month takes what it takes. I would rather say that than add an option that quietly does less than its name suggests.
Michael, on "only give report on current state of the ticks received, without downloading more" - I checked before answering rather than guessing, and the answer is partly no.
There is no way to read the tick database without touching it. The documentation for CopyTicks says the first call starts synchronising the symbol's tick database, and anything the local database does not hold is downloaded from the server. SeriesInfoInteger reports on the timeseries, so there is nothing to query about ticks either.
What can be improved is how hard the script leans on that. It samples six days a month at the moment, so a month you do not hold gets requested six times over. Stopping at the first sign a month is not cached, and marking it as not held locally rather than as having no ticks, would cut most of that. It is on the list for a future version.
What no setting can promise is zero downloading. A request for data the terminal does not have will wait while it arrives, and that wait happens inside the call, so on a heavy symbol the first month takes what it takes. I would rather say that than add an option that quietly does less than its name suggests.
Well done, Ayaz.👍 You coded an essential utility for any and every algorithmic trader.
Just so you know, real time ticks can be called with SymbolInfoTick():
- www.mql5.com
Well done, Ayaz.👍 You coded an essential utility for any and every algorithmic trader.
Just so you know, real time ticks can be called with SymbolInfoTick():
You're welcome.
I must have interpreted Michael's post a bit differently:
[C]an you add option to only give report on current state of the ticks rec[ei]ved at point of attaching the script? ie without downloading more ticks.
To me, the "point of attaching the script... without downloading more ticks" means currently arriving ticks only.
You're welcome.
I must have interpreted Michael's post a bit differently:
To me, the "point of attaching the script... without downloading more ticks" means currently arriving ticks only.
Fair reading, and looking at it again the wording carries both. "Ticks received at the point of attaching" can mean the ones already sitting in the database, or the ones that start arriving once it is on the chart. Those are two different tools. The first is what this script does, and it cannot avoid the sync. The second is a live monitor, and SymbolInfoTick handles that without touching the history at all, as you say. Michael, which of the two did you mean?
Fair reading, and looking at it again the wording carries both. "Ticks received at the point of attaching" can mean the ones already sitting in the database, or the ones that start arriving once it is on the chart. Those are two different tools. The first is what this script does, and it cannot avoid the sync. The second is a live monitor, and SymbolInfoTick handles that without touching the history at all, as you say. Michael, which of the two did you mean?
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Tick Audit - check real tick history and backtest quality month by month:
Reports, month by month, whether your symbol really has ticks or only bars - so you know which part of your backtest ran on generated ticks before you trust the curve. The Strategy Tester gives you one History Quality figure after the test has finished, and it never says which months were the problem. This script asks first.
Author: Ayaz