Posted By: kalmar
Checking gaps in data - 06/07/20 08:58
Hi all,
As far as I understand the included-in-Zorro script for checking gaps is GapFinder.c:
The script below is what I was using to check gaps in T6 files. This example is for FXCM assets:
So for the data I have all the assets have the same gaps. So just do not trade from 26 Dec till 2nd Jan :
04/06/2012 11:30:00 60
26/12/2012 04:30:00 2115
02/01/2013 04:15:00 2115
27/08/2013 04:45:00 60
02/09/2013 02:30:00 45
26/12/2013 04:45:00 2145
02/01/2014 05:00:00 2160
26/12/2014 04:00:00 1980
02/01/2015 03:45:00 1965
26/12/2016 00:00:00 3135
26/12/2016 09:30:00 30
26/12/2016 10:30:00 60
26/12/2016 12:15:00 30
26/12/2016 20:30:00 480
03/01/2017 00:00:00 2880
26/12/2017 04:15:00 3135
01/01/2018 20:15:00 2655
01/01/2018 21:30:00 75
02/01/2018 04:30:00 240
26/12/2018 05:45:00 2070
02/01/2019 05:30:00 2055
26/12/2019 07:00:00 2145
02/01/2020 07:00:00 2145
02/03/2020 05:15:00 1755
16/03/2020 22:00:00 30
20/03/2020 21:00:00 75
Hope this could help someone. I wonder if anybody could advise how this process could be improved.
Thank you!
As far as I understand the included-in-Zorro script for checking gaps is GapFinder.c:
Code
set(PLOTNOW); var m = minutesAgo(1); plot("Gap",m/(60*24),NEW,RED);
The script below is what I was using to check gaps in T6 files. This example is for FXCM assets:
Code
function run() { StartDate = 2012; BarPeriod = 15; LookBack = 0; string filename = "FXCM_GAPs.csv"; if(is(INITRUN)) // specifying the header in the first run { char header[500]; sprintf(header, "Asset, UTCDate, DoW, Time, Gap_Minutes, \n"); file_delete(filename); file_append(filename, header); } while(asset(loop( // FXCM assets "AUD/USD","EUR/USD","EUR/CHF","GBP/USD","USD/CAD","USD/CHF","USD/JPY", "GER30","NAS100","SPX500","UK100","US30", "XAG/USD","XAU/USD"))) { var tdiff = (wdate() - wdate(1)); // time difference in days of the last consecutive bars if(tdiff > (BarPeriod/1440)*1.5 && dow() != 7) // 1 day = 1440 minutes.... // search for time differences at 1.5 times longer than BarPeriod // skip gaps on Sundays { char line[500]; sprintf(line, "%s, %d-%02d-%02d, %i, %02d:%02d, %.0f, \n", Asset, year(), month(), day(), dow(), hour(), minute(),(wdate() - wdate(1))*1440); file_append(filename, line); } } }
So for the data I have all the assets have the same gaps. So just do not trade from 26 Dec till 2nd Jan :
04/06/2012 11:30:00 60
26/12/2012 04:30:00 2115
02/01/2013 04:15:00 2115
27/08/2013 04:45:00 60
02/09/2013 02:30:00 45
26/12/2013 04:45:00 2145
02/01/2014 05:00:00 2160
26/12/2014 04:00:00 1980
02/01/2015 03:45:00 1965
26/12/2016 00:00:00 3135
26/12/2016 09:30:00 30
26/12/2016 10:30:00 60
26/12/2016 12:15:00 30
26/12/2016 20:30:00 480
03/01/2017 00:00:00 2880
26/12/2017 04:15:00 3135
01/01/2018 20:15:00 2655
01/01/2018 21:30:00 75
02/01/2018 04:30:00 240
26/12/2018 05:45:00 2070
02/01/2019 05:30:00 2055
26/12/2019 07:00:00 2145
02/01/2020 07:00:00 2145
02/03/2020 05:15:00 1755
16/03/2020 22:00:00 30
20/03/2020 21:00:00 75
Hope this could help someone. I wonder if anybody could advise how this process could be improved.
Thank you!