Write milliseconds as volume (trick to backtest with ms)

Have some interesting ideas about how to improve the software? Let us know in this section!
Post Reply
Posts: 1
Joined: Thu Aug 29, 2019 4:16 pm

Write milliseconds as volume (trick to backtest with ms)

Post by forket86 »


The normal Backtest in meta trader 4 doesn't allow to read the milliseconds of the tick. The functions GetTickCount() and GetMicrosecondCount() are useful online, but not in backtest (this problem has been around since a while)! In order to circumvent this problem and use the full potential of the tick data provided by tickstory, it would be useful to find a way to use milliseconds as well in backtest.

One possible trick is the following: an option in tickstory to export milliseconds as volume (hence, as an integer). In this way, meta trader will believe volumes are just volumes and it would be enough to retrieve milliseconds from mq4 using whatever get volume function provided by mq4.

Is there something, at the moment, that allow to perform a similar trick? If not, would it be possible to add such a feature?

I know one possible solution would be to export the data in CSV format from tickstory and then specify the format of the CSV to perform the trick specified above.
Problem is that when the CSV gets big (a lot of years of data) and requires manipulation/transformation to HST/FXT it becomes a big pain, it would be really nice if tickstory would include such a feature.

Thanks a lot,

Posts: 4380
Joined: Sun Jan 06, 2013 12:27 am

Re: Write milliseconds as volume (trick to backtest with ms)

Post by tickstory »

Hi Forket86,

Sorry for the delay in responding to this. We left it open to see if anyone else had some suggestions around it.

I imagine that volume is a way of embedding the millisecond component, however I suppose the question is, what sort of functionality will it provide for a typical user?

You are at least guaranteed to get the ticks in chronological order, so depending on what you need to do, perhaps this is sufficient? Just assign an index for each tick within the second? If you need to have some additional millisecond information, would it be sufficient to interpolate?

Hope this helps.

Post Reply