Skip to content

Dukascopy - WARNING or timeout causes missing data #43

Open
@halterc

Description

@halterc

Hi. Thank you for this great package. However, I experienced a problem: When downloading Dukascopy forex tick data, if there is a:
WARNING - Didn't download on 1 attempt
or
WARNING - Problem downloading.. https://www.dukascopy.com/datafeed/GBPJPY/2012/10/03/14h_ticks.bi5 HTTPConnectionPool(host='datafeed.dukascopy.com', port=80): Max retries exceeded with url: /datafeed/GBPJPY/2012/10/03/14h_ticks.bi5 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x000001F49D7B09A0>, 'Connection to datafeed.dukascopy.com timed out. (connect timeout=10)')).. will try again 0 occasion

it says "retry". But I noticed that it will cause missing data (in blocks of 1 hour, probably missing 1 h chunk file). It also causes to retry downloading seemingly in a random order also chunk files that were (I assume, as there was no warning) correctly downloaded. For an example:

2023-06-16 12:14:01,292 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-21 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/21/00h_ticks.bi5
2023-06-16 12:14:04,706 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-22 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/22/00h_ticks.bi5
2023-06-16 12:14:08,215 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-23 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/23/00h_ticks.bi5
2023-06-16 12:14:11,705 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-24 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/24/00h_ticks.bi5
2023-06-16 12:14:15,614 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-25 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/25/00h_ticks.bi5
2023-06-16 12:14:18,989 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-26 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/26/00h_ticks.bi5
2023-06-16 12:14:22,176 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-27 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/27/00h_ticks.bi5
2023-06-16 12:14:25,274 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-28 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/28/00h_ticks.bi5
2023-06-16 12:14:28,754 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-29 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/29/00h_ticks.bi5
2023-06-16 12:14:32,250 - findatapy.market.datavendorweb - WARNING - Didn't download on 2 attempt... 
2023-06-16 12:14:33,773 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-30 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/30/00h_ticks.bi5
2023-06-16 12:14:36,856 - findatapy.market.datavendorweb - WARNING - Problem downloading.. https://www.dukascopy.com/datafeed/USDCHF/2022/07/28/13h_ticks.bi5 HTTPConnectionPool(host='datafeed.dukascopy.com', port=80): Max retries exceeded with url: /datafeed/USDCHF/2022/07/28/13h_ticks.bi5 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x0000021DAA1151B0>, 'Connection to datafeed.dukascopy.com timed out. (connect timeout=10)')).. will try again 0 occasion
2023-06-16 12:14:38,859 - findatapy.market.datavendorweb - INFO - Downloading... 2022-08-31 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/07/31/00h_ticks.bi5
2023-06-16 12:14:42,527 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-01 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/01/00h_ticks.bi5
2023-06-16 12:14:46,194 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-02 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/02/00h_ticks.bi5
2023-06-16 12:14:46,251 - findatapy.market.datavendorweb - INFO - Downloading... 2022-09-01 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/08/01/00h_ticks.bi5
2023-06-16 12:14:49,868 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-03 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/03/00h_ticks.bi5
2023-06-16 12:14:53,487 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-04 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/04/00h_ticks.bi5
2023-06-16 12:14:56,346 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-05 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/05/00h_ticks.bi5
2023-06-16 12:14:58,170 - findatapy.market.datavendorweb - INFO - Downloading... 2022-09-02 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/08/02/00h_ticks.bi5
2023-06-16 12:15:00,116 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-06 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/06/00h_ticks.bi5
2023-06-16 12:15:03,554 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-07 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/07/00h_ticks.bi5
2023-06-16 12:15:07,646 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-08 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/08/00h_ticks.bi5
2023-06-16 12:15:10,204 - findatapy.market.datavendorweb - INFO - Downloading... 2022-09-03 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/08/03/00h_ticks.bi5
2023-06-16 12:15:11,014 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-09 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/09/00h_ticks.bi5
2023-06-16 12:15:14,305 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-10 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/10/00h_ticks.bi5
2023-06-16 12:15:18,668 - findatapy.market.datavendorweb - INFO - Downloading... 2022-01-11 00:00:00 https://www.dukascopy.com/datafeed/USDCHF/2022/00/11/00h_ticks.bi5

Do you know what could be the culprit? Could it be the multiprocessing in combination with Windows? (edit: I will try it out with "thread" instead of "multiprocessing" and post back after the test)
Data connection should be fine, I'm in a large institution. Firewall should not be the problem.

For your information, I'm on Windows 11 and using the following code:

SwimPool()
market = Market(market_data_generator=MarketDataGenerator())
DataConstants.market_thread_technique = "multiprocessing"
md_request = MarketDataRequest(start_date='01 Jan ' + str(year),
                                finish_date='31 Dec ' + str(year),
                                category='fx', fields=['bid', 'ask', 'bidv', 'askv'],
                                freq='tick', data_source='dukascopy', tickers=ticker)
df = market.fetch_market(md_request)

Thank you very much for your help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions