Closed lezwright closed 4 years ago
@lezwright hi, yes, this is a work in progress.
I'm working on allowing custom output like json
or csv
, on top of that I'll be releasing a CLI version of this package soon.
I'll keep you updated! ;)
Thanks Leo, I got it sorted :-)
Hi Leo, on hourly timeframe I sometimes get the following error message: Could you please let me know why it happens?
Also why do I get Error in data stream
?
@lezwright can you share the exact search config with which you are getting this error?
Hi Leo,
Here is the code I use:
var fromdate = '2010-01-01 00:00'
let date_ob = new Date()
let date = ("0" + date_ob.getDate()).slice(-2);
let month = ("0" + (date_ob.getMonth() + 1)).slice(-2);
let year = date_ob.getFullYear();
let hours = ("0" +date_ob.getHours()).slice(-2);
let minutes = ("0" +date_ob.getMinutes()).slice(-2);
var todate = year + "-" + month + "-" + date + " " + hours + ":" + minutes
var currency = 'AUDCAD';
getHistoricRates({
instrument: currency.toLowerCase(),
dates: {
from: fromdate,
to: todate
},
timeframe: 'h1'
}).then(data => {
console.log(Data ${fromdate} to ${todate} stored in ${currency.toLowerCase()}.json
);
}).catch(error => {
console.log('error', error);
});
Here is the error I get
@lezwright can you update the version of the dukakcopy-node
to 1.1.4 - it should be fixed now. Plus, json
is now available as the format output
Thanks Leo!
Hi Leo,
I am still getting the same error. Based on my observations this error happens around 8pm until midnight and over the weekends.
"error Error in data stream"
Best wishes, Golnaz
@lezwright I think I know what can cause an issue here.
We get all the historical data from dukascopy. Their servers impose request-rate limitations. In cases when there are a lot of requests happening in a certain period of time, they might cut the connection - which means the requested data is not resolved in the required format, and we are not able to parse it, hence Error in data stream
.
In order not to overwhelm dukascopy servers with a lot of requests, we have a very basic rule - we split all requests in batches and call them sequentially with a pause in between (see batchSize
and pauseBetweenBatchesMs
in https://github.com/Leo4815162342/dukascopy-tools/blob/master/packages/dukascopy-core/src/buffer-fetcher/index.ts#L12). Those values are hardcoded for now. One of the solutions is to find a more optimal value for those or to search for shorter window.
In case of your search config: AUDCAD h1 from 2010.01.01 till today, we need to fetch ~150 files and properly aggregate them. This will generate ~150 requests to the following URLs:
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2010/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2011/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2012/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2013/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2014/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2015/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2016/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2017/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2018/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/03/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/05/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/06/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/04/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/08/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/09/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/07/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/10/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2019/11/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/00/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/01/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/02/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/04/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/05/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/01/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/02/BID_candles_hour_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/06/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/03/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/07/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/09/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/08/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/12/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/10/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/11/BID_candles_min_1.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/04h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/03h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/00h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/01h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/02h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/05h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/09h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/06h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/10h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/07h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/08h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/11h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/12h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/13h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/14h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/19h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/16h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/18h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/15h_ticks.bi5
https://datafeed.dukascopy.com/datafeed/AUDCAD/2020/03/13/17h_ticks.bi5
Opening a separate issue for it: https://github.com/Leo4815162342/dukascopy-tools/issues/7
Dear Leo,
Many thanks for such a wonderful package. Is it possible for you to provide a sample code that it provides the data in a different format? The current format that I receive is: [[1584489600000,1.05717,1.05726,1.05717,1.05721,63.54],[1584489660000,1.05718,1.05719,1.0571,1.05714,48.23],..,[1584490020000,1.05682,1.05693,1.0568,1.05692,50.37]]
I need to have at as:
{ s: "ok", t: [1584489600, 1584489660, 1584490020], c: [1.05721, 1.05714,1.05692], o: [1.05717, 1.05718, 1.05682], h: [1.05726,1.05719, 1.05693], l: [1.05717, 1.05693, 1.0568], v: [63.54, 48.23,50.37, 45000] }
Thank you very much.
Golnaz