Dukascopy
Бинарный формат .bi5
Каждый тик — 20 байт, big-endian:
ms — миллисекунды от начала часа. Ask и bid хранятся как целые числа, делятся на pip-множитель: EURUSD → 0.00001, JPY-пары → 0.001.
Mid-price: (ask + bid) / 2 * point. Объём: ask_vol + bid_vol.
Кэш
Каждый скачанный .bi5 сохраняется локально и не перекачивается. При ошибке парсинга (повреждённый файл) fetch_hour возвращает None — скрипт не упадёт.