Tick story - page 4

 
Tapochun:

The way... not good, don't you think?!

Well, that's the first thing that came to mind.
 
Vasiliy Sokolov:
Suggestion to the developers: introduce a more accurate time format into the MqlTick structure, so that each tick has a number of milliseconds.
Without this, it makes no sense to start all this if I want to simultaneously analyze the history of several instruments, because without it I will not see the sequence of mutual influence of the instruments on each other.
 
Renat Fatkhullin:

Everything comes in, it's just that the first call triggers the paging and subsequent calls are instantaneous.

Here's an example:

A request for 2,000,000 ticks:

The tick files lie here, so they can be easily transferred (for they will be huge):
10-20 mb per month. Requested 20,000,000 ticks, and the files are only up to May this year. However...
 
Oleg Tsarkov:
You can't expect brokers to give you deep regular history. They have learned to turn minutes into hours on a five and if you complain about this, they say they cannot afford to load the server with gigabytes of historical data. What kind of ticks are there...
The defunct RVD allowed you to download more than a year's worth of tick history.
 
No need for tick collectors now - tick history is available in the terminal.
 
Tapochun:
10-20 mb per month. Requested 20,000,000 ticks, and files only until May this year. However...

That's right, 20,000,000 ticks is about (it all depends on the symbol) until May 15, 2015.

2015.10.15 16:03:08.585 CopyTicks (EURGBP,M1)   Тик 19999999: 2015.10.15 16:03:04 bid: 0.73775 last: 0.0
2015.10.15 16:03:08.585 CopyTicks (EURGBP,M1)   Тик 0: 2015.05.15 16:00:47 bid: 0.72077 last: 0.72077
2015.10.15 16:03:08.585 CopyTicks (EURGBP,M1)   Получено тиков: 20000000 код ошибки: 0
Request more.
 
Renat Fatkhullin:

That's right, 20,000,000 ticks is up to 15 May 2015.

Request more.
The RAM made it clear that it had run out. The terminal was consuming 1.5 to 2 gb. Checked as much as it could with a script. In increments of 100,000.
 
Tapochun:
The RAM made it clear that it had run out. The terminal was consuming 1.5 to 2 gb. The script checked as much as it could. In 100,000 increments.

What kind of script? Show me the code, please.

Maybe you didn't free (directly or indirectly) previously used memory?

 
Renat Fatkhullin:

That's right, 20,000,000 ticks is up to 15 May 2015.

Request more.
Yes, it would be good to add CopyTicks() overload just like other Copy... functions. To be able to get from date to date. Right now, for example, you can't get ticks from the beginning of the current day to the current moment.
 
Renat Fatkhullin:

What kind of script?

Maybe just not freeing previously occupied memory?

Most likely, I wrote it myself. Um, how do you free up previously occupied memory here?

MqlTick array[];
int value = inpStep;
int num = 0;
while( num >= 0 )
   {
    num = CopyTicks( _Symbol, array, COPY_TICKS_ALL, 0, value );
    if( num > 0 )
      {
       value += inpStep;
       Print( ": Получено тиков: ",value );
       continue;
      }
    else
      {
       Print( "Максимально доступно ",value-inpStep," тиков! Шаг = ",inpStep );
       break;
      }
   }