Impulse - page 20

 
Artyom Trishkin:
Naturally. What prevents you from having your own ticks file in csv format with the structure Time, Price, Volume ? It's a pity that the spread (Ask history) cannot be saved from the tester, but it can be saved realtime and then this file can be read in the tester.
understood.
 
Karputov Vladimir:
Just "Time" won't do. You need either milliseconds, or pause size between ticks in milliseconds. And the time itself only at the beginning and at the end of the file - to make it clear from which time interval the recording is made.
I meant the time to the millisecond accuracy.
 
Karputov Vladimir:
Just "Time" would not do....

Why? Won't be tested... Tick collectors I've found count seconds... It can be converted to miles...

There it just worked out that for example at the same time two ticks come in at different prices naturally...

So it won't work for the tester in this form?

 
Roman Shiredchenko:

Why? Won't be tested... Tick collectors I've found count seconds... It can be converted to miles...

There just turned out that for example at the same time comes two ticks at different prices of course...

I.e. in this form for a tester will not work?

I have already given an answer to this problem. Above.
 
Artyom Trishkin:
I have already given an answer that solves this problem. Above.
I saw it. Thank you.
 

Regarding assembling ticks into a *.cvs file - who has what version of Excel and what is the limit on the number of rows in a table?

I have Excel 2013 - the limit for the number of rows is 1,999,999,997.

 
Karputov Vladimir:

Regarding assembling ticks into a *.cvs file - who has what version of Excel and what is the limit on the number of rows in a table?

I have Excel 2013 - the limit on the number of rows is 1,999,999,997.

What difference does it make? It's the program that will read the file, not Excel...
 
Artyom Trishkin:
What difference does it make? It's the program that's going to read the file, not Excel...

You need to make it universal - what if you can find patterns in Exxele that you can't see in the terminal? I think you can only do three columns:

Pause, microseconds Price Volume


And the price is a close() array. And the symbol and time (start of recording) will be saved in the file name (e.g. GBPUSD.f_2015.07.20 10_48_24.csv).

 
Karputov Vladimir:

We need to make it universal - what if there are patterns in Exxele that you can't see in the terminal? I think you can only do three columns:

Pause, microseconds Price Volume


Price is a close() array. And the symbol and time (start of recording) will be saved in the file name (e.g. GBPUSD.f_2015.07.20 10_48_24.csv).

No. I think it's not the pause that needs to be written to the file, it's the tick arrival time with millisecond accuracy. Otherwise, if we immediately write the difference into the file, we will limit our own space for various variations with time - we won't have it, we will have to calculate it. Let the program deal with the difference, while Excel only stores what it is supposed to store - ticks in the accepted format of storing historical data in the terminal.

The volume is actually not necessary - it stores the number of ticks for the analyzed period (candlestick, bar). It can also be calculated programmatically, but we will not take the Ask price (at least for the time being), except for storing it instead of the volume. But we will have to study the spread. The real spread. And then its behavior can also be studied visually. We are looking for impulses, right? I think that spread behavior before impulses is also interesting to study.

So, my opinion is as follows: Time with an accuracy of msec; Bid; Ask; Volume can be added;

And about file name, it seems to me - it would not be bad to use a prefix in the name, for example:

Data_ticks_GBPUSD_2015.07.20 10-48-24.csv

Why a hyphen and not an underscore in the time format - because you have to look for delimiters programmatically. The underscore separates the tick data (Data_ticks) and the symbol itself (GBPUSD), the symbol and the start of the date (2015.07.20). A space indicates the start of the recording time (10-48-24) and hyphens in the time line separate the hours, minutes, seconds. You can quickly, and without searching for delimiters, change them programmatically to the correct time format - 10:48:24 with StringReplace(). If the program needs them, of course ...

 
  1. Good. The tick arrival time can be recorded not in increments, but directly in microseconds since the start of the MQL5 program. That is how the pause between ticks will be calculated.
  2. The second field will then be the price of array close[] - that is Bid.
  3. I have some doubts concerning Ask. Is it worth to receive it? The indicator receives spread[] array - it can be written. The person who needs it will calculate Ask.
  4. File name in this format: Data_ticks_GBPUSD.f_2015.07.20 16_02_36.csv

Added: This results in a table like this:

Время тика, микросекунд Bid             Спред
3774846                 1.55539         19
3775156                 1.55544         19
3775266                 1.55546         19
3775514                 1.55545         19
3775715                 1.55546         19
3775825                 1.55547         19
3775906                 1.55548         19
3775984                 1.55547         19
3776060                 1.55549         19
3776135                 1.55548         19
3776209                 1.55551         19
3780395                 1.55550         19
3780598                 1.55549         19
4087710                 1.55548         19
4211786                 1.55546         19
4211864                 1.55545         19
4714858                 1.55544         19
4830308                 1.55543         19
6660164                 1.55544         19
6660282                 1.55543         19
9085846                 1.55542         19
9086033                 1.55541         19
9086138                 1.55542         19