2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] Link: file:////home/p01-s3-dev/dev/trading/trading-framework/ci_cd/docker/postgres/db_trading/market_data/feed/runners/history_data_fetch/brokers/ftmo/instruments/cfd/C:\DEV\Trading\ci_cd\docker\postgres\db_trading\logs/mt5_tick_feed_20260730_055249_FTMO_EURUSD.log
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT] MT5TickDataFeedMerged starting
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT]   table        : tbl_tick_data
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT]   feed_type    : tick
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT]   live_mode    : False
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT]   zmq_publish  : True
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] Database connected (async commit enabled)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT]   broker_id    : 1 (FTMO)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT]   instrument_id: 1 (CFD)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [INIT] [SKIP] ZMQ infrastructure init skipped (not live_mode or zmq_publish disabled)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] compacted mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: 309 → 308 record(s) (1 merged/dropped, bridge ≤ 1:00:00)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] Connecting to MT5 via MT5ConnectionManager...
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] OK: MT5 connected successfully
2026-07-30 05:52:49 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Account: 1514124510, Server: FTMO-Demo
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [utc-sync] Authoritative UTC anchored (2026-07-30 04:52:49 UTC; system skew +0.18s)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ============================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   TIMEZONE INFO
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   PC  local time : 2026-07-30 05:52:49 (local)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   PC  UTC (auth) : 2026-07-30 04:52:49 UTC  [authoritative]
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   MT5 server     : 2026-07-30 07:52:49 (UTC+3)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Server offset  : UTC+3
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ============================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ======================================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   DATA-STORAGE TIMEZONE CALIBRATION (genuine-UTC guarantee)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ----------------------------------------------------------------------
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Current PC UTC time     : 2026-07-30 04:52:49 UTC
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Server live-clock offset: UTC+3 (detected via symbol_info_tick)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   -- 1-MINUTE BAR FEED --
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   MT5 sample bar raw .time: 2026-07-30 06:51:00 (broker bar-storage epoch, read as if-UTC)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Data comes at           : UTC+2  (copy_rates_range bar-storage tz)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Will be stored as       : 2026-07-30 04:51:00 UTC (raw - 2h)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   -- TICK FEED --
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   MT5 sample tick raw.time: 2026-07-30 06:52:42 (broker tick-storage epoch, read as if-UTC)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Data comes at           : UTC+2  (copy_ticks_range broker tz)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Will be stored as       : 2026-07-30 04:52:42 UTC (raw - 2h)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick]   Sanity check            : OK (matches real UTC)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ======================================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] STEP 1: Historical backfill (tick data)
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] Broker  : FTMO
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] Symbol  : EURUSD
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] Range   : 2025-01-01 00:00 UTC  ->  2026-07-31 04:52 UTC
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] 530 day(s) already fully attempted per mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history — skipped (no re-fetch).
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] 9 uncovered range(s) to fetch (after mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history).
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] Backfill plan: 9 interval(s), total missing span 56,249 minutes
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [01] 2025-01-01T00:00:00+00:00 -> 2025-01-03T21:54:59.000100+00:00 | 2 days, 21:54:59.000100
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [02] 2025-01-05T22:05:00+00:00 -> 2025-01-10T21:54:59.000200+00:00 | 4 days, 23:49:59.000200
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [03] 2025-01-12T22:05:00+00:00 -> 2025-01-17T21:54:57+00:00 | 4 days, 23:49:57
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [04] 2025-01-19T22:05:00+00:00 -> 2025-01-24T21:54:49+00:00 | 4 days, 23:49:49
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [05] 2025-01-26T22:05:00+00:00 -> 2025-01-31T21:54:58+00:00 | 4 days, 23:49:58
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [06] 2025-02-02T22:05:00.000100+00:00 -> 2025-02-07T21:54:52.000100+00:00 | 4 days, 23:49:52
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [07] 2025-02-09T22:05:00+00:00 -> 2025-02-14T21:54:59.000100+00:00 | 4 days, 23:49:59.000100
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [08] 2025-02-16T22:05:00+00:00 -> 2025-02-21T21:54:59+00:00 | 4 days, 23:49:59
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [09] 2026-07-30T00:00:00+00:00 -> 2026-07-31T04:52:49+00:00 | 1 day, 4:52:49
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 1/9] chunk 1/3  EURUSD  2025-01-01 -> 2025-01-02
2026-07-30 05:52:49 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-01 00:00:00 UTC -> 2025-01-02 00:00:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:52:51 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (1, 'Success')
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-01 -> 2025-01-02: no bars returned — skipping
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-01T00:00:00+00:00|2025-01-02T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 1/9] chunk 2/3  EURUSD  2025-01-02 -> 2025-01-03
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-02 00:00:00 UTC -> 2025-01-03 00:00:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 151,756 ticks for EURUSD
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-02 -> 2025-01-03: fetched 151,756 bars (0.15s)
2026-07-30 05:52:51 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-01 22:05:01+00:00  last UTC=2025-01-02 21:54:59+00:00
2026-07-30 05:52:51 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 151,755 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 151,755 rows into tbl_tick_data | 10.083s
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-01 22:05:02+00:00 → 2025-01-02 21:54:59+00:00  (151,755 rows processed)
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-02 -> 2025-01-03: inserted 151,755 bars (running total: 151,755)
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-02T00:00:00+00:00|2025-01-03T00:00:00+00:00  (151,755 row(s) inserted)
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 1/9] chunk 3/3  EURUSD  2025-01-03 -> 2025-01-03
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-03 00:00:00 UTC -> 2025-01-03 21:54:59 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 107,506 ticks for EURUSD
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-03 -> 2025-01-03: fetched 107,506 bars (0.10s)
2026-07-30 05:53:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-02 22:05:00+00:00  last UTC=2025-01-03 19:54:57+00:00
2026-07-30 05:53:07 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 107,505 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 107,505 rows into tbl_tick_data | 7.384s
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-02 22:05:00.000100+00:00 → 2025-01-03 19:54:57.000100+00:00  (107,505 rows processed)
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-03 -> 2025-01-03: inserted 107,505 bars (running total: 259,260)
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-03T00:00:00+00:00|2025-01-03T21:54:59.000100+00:00  (107,505 row(s) inserted)
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 2/9] chunk 1/5  EURUSD  2025-01-05 -> 2025-01-06
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-05 22:05:00 UTC -> 2025-01-06 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 183,971 ticks for EURUSD
2026-07-30 05:53:17 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-05 -> 2025-01-06: fetched 183,971 bars (0.14s)
2026-07-30 05:53:18 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-05 22:05:00+00:00  last UTC=2025-01-06 20:04:59+00:00
2026-07-30 05:53:18 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 183,970 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 183,970 rows into tbl_tick_data | 12.333s
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-05 22:05:00.000100+00:00 → 2025-01-06 20:04:59.000200+00:00  (183,970 rows processed)
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-05 -> 2025-01-06: inserted 183,970 bars (running total: 443,230)
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-05T22:05:00+00:00|2025-01-06T00:00:00+00:00  (183,970 row(s) inserted)
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-06T00:00:00+00:00|2025-01-06T22:05:00+00:00  (183,970 row(s) inserted)
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 2/9] chunk 2/5  EURUSD  2025-01-06 -> 2025-01-07
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-06 22:05:00 UTC -> 2025-01-07 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 117,291 ticks for EURUSD
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-06 -> 2025-01-07: fetched 117,291 bars (0.11s)
2026-07-30 05:53:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-06 20:05:00+00:00  last UTC=2025-01-07 20:04:58+00:00
2026-07-30 05:53:36 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 117,290 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 117,290 rows into tbl_tick_data | 8.018s
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-06 20:05:00.000100+00:00 → 2025-01-07 20:04:58.000100+00:00  (117,290 rows processed)
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-06 -> 2025-01-07: inserted 117,290 bars (running total: 560,520)
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-06T22:05:00+00:00|2025-01-07T00:00:00+00:00  (117,290 row(s) inserted)
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-07T00:00:00+00:00|2025-01-07T22:05:00+00:00  (117,290 row(s) inserted)
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 2/9] chunk 3/5  EURUSD  2025-01-07 -> 2025-01-08
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-07 22:05:00 UTC -> 2025-01-08 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 82,837 ticks for EURUSD
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-07 -> 2025-01-08: fetched 82,837 bars (0.09s)
2026-07-30 05:53:48 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-07 20:05:00+00:00  last UTC=2025-01-08 20:04:59+00:00
2026-07-30 05:53:48 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 82,836 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 82,836 rows into tbl_tick_data | 5.489s
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-07 20:05:09+00:00 → 2025-01-08 20:04:59+00:00  (82,836 rows processed)
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-07 -> 2025-01-08: inserted 82,836 bars (running total: 643,356)
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-07T22:05:00+00:00|2025-01-08T00:00:00+00:00  (82,836 row(s) inserted)
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-08T00:00:00+00:00|2025-01-08T22:05:00+00:00  (82,836 row(s) inserted)
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 2/9] chunk 4/5  EURUSD  2025-01-08 -> 2025-01-09
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-08 22:05:00 UTC -> 2025-01-09 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 65,835 ticks for EURUSD
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-08 -> 2025-01-09: fetched 65,835 bars (0.08s)
2026-07-30 05:53:56 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-08 20:05:00+00:00  last UTC=2025-01-09 20:04:56+00:00
2026-07-30 05:53:56 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 65,834 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 65,834 rows into tbl_tick_data | 4.564s
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-08 20:05:00.000100+00:00 → 2025-01-09 20:04:56+00:00  (65,834 rows processed)
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-08 -> 2025-01-09: inserted 65,834 bars (running total: 709,190)
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-08T22:05:00+00:00|2025-01-09T00:00:00+00:00  (65,834 row(s) inserted)
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-09T00:00:00+00:00|2025-01-09T22:05:00+00:00  (65,834 row(s) inserted)
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 2/9] chunk 5/5  EURUSD  2025-01-09 -> 2025-01-10
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-09 22:05:00 UTC -> 2025-01-10 21:54:59 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 79,672 ticks for EURUSD
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-09 -> 2025-01-10: fetched 79,672 bars (0.08s)
2026-07-30 05:54:03 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-09 20:05:00+00:00  last UTC=2025-01-10 19:54:45+00:00
2026-07-30 05:54:03 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 79,671 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 79,671 rows into tbl_tick_data | 5.262s
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-09 20:05:08+00:00 → 2025-01-10 19:54:45+00:00  (79,671 rows processed)
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-09 -> 2025-01-10: inserted 79,671 bars (running total: 788,861)
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-09T22:05:00+00:00|2025-01-10T00:00:00+00:00  (79,671 row(s) inserted)
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-10T00:00:00+00:00|2025-01-10T21:54:59.000200+00:00  (79,671 row(s) inserted)
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 3/9] chunk 1/5  EURUSD  2025-01-12 -> 2025-01-13
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-12 22:05:00 UTC -> 2025-01-13 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 77,716 ticks for EURUSD
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-12 -> 2025-01-13: fetched 77,716 bars (0.08s)
2026-07-30 05:54:11 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-12 22:05:00+00:00  last UTC=2025-01-13 20:04:59+00:00
2026-07-30 05:54:11 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 77,715 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 77,715 rows into tbl_tick_data | 5.129s
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-12 22:05:09+00:00 → 2025-01-13 20:04:59.000100+00:00  (77,715 rows processed)
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-12 -> 2025-01-13: inserted 77,715 bars (running total: 866,576)
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-12T22:05:00+00:00|2025-01-13T00:00:00+00:00  (77,715 row(s) inserted)
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-13T00:00:00+00:00|2025-01-13T22:05:00+00:00  (77,715 row(s) inserted)
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 3/9] chunk 2/5  EURUSD  2025-01-13 -> 2025-01-14
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-13 22:05:00 UTC -> 2025-01-14 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 86,161 ticks for EURUSD
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-13 -> 2025-01-14: fetched 86,161 bars (0.09s)
2026-07-30 05:54:19 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-13 20:05:00+00:00  last UTC=2025-01-14 20:04:54+00:00
2026-07-30 05:54:19 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 86,160 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 86,160 rows into tbl_tick_data | 5.887s
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-13 20:05:00.000100+00:00 → 2025-01-14 20:04:54.000100+00:00  (86,160 rows processed)
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-13 -> 2025-01-14: inserted 86,160 bars (running total: 952,736)
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-13T22:05:00+00:00|2025-01-14T00:00:00+00:00  (86,160 row(s) inserted)
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-14T00:00:00+00:00|2025-01-14T22:05:00+00:00  (86,160 row(s) inserted)
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 3/9] chunk 3/5  EURUSD  2025-01-14 -> 2025-01-15
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-14 22:05:00 UTC -> 2025-01-15 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 73,764 ticks for EURUSD
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-14 -> 2025-01-15: fetched 73,764 bars (0.09s)
2026-07-30 05:54:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-14 20:05:00+00:00  last UTC=2025-01-15 20:04:59+00:00
2026-07-30 05:54:28 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 73,763 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 73,763 rows into tbl_tick_data | 4.803s
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-14 20:05:00.000100+00:00 → 2025-01-15 20:04:59+00:00  (73,763 rows processed)
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-14 -> 2025-01-15: inserted 73,763 bars (running total: 1,026,499)
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-14T22:05:00+00:00|2025-01-15T00:00:00+00:00  (73,763 row(s) inserted)
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-15T00:00:00+00:00|2025-01-15T22:05:00+00:00  (73,763 row(s) inserted)
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 3/9] chunk 4/5  EURUSD  2025-01-15 -> 2025-01-16
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-15 22:05:00 UTC -> 2025-01-16 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 79,174 ticks for EURUSD
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-15 -> 2025-01-16: fetched 79,174 bars (0.09s)
2026-07-30 05:54:35 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-15 20:05:00+00:00  last UTC=2025-01-16 20:04:57+00:00
2026-07-30 05:54:35 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 79,173 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 79,173 rows into tbl_tick_data | 5.400s
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-15 20:05:01+00:00 → 2025-01-16 20:04:57.000100+00:00  (79,173 rows processed)
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-15 -> 2025-01-16: inserted 79,173 bars (running total: 1,105,672)
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-15T22:05:00+00:00|2025-01-16T00:00:00+00:00  (79,173 row(s) inserted)
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-16T00:00:00+00:00|2025-01-16T22:05:00+00:00  (79,173 row(s) inserted)
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 3/9] chunk 5/5  EURUSD  2025-01-16 -> 2025-01-17
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-16 22:05:00 UTC -> 2025-01-17 21:54:57 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 67,773 ticks for EURUSD
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-16 -> 2025-01-17: fetched 67,773 bars (0.08s)
2026-07-30 05:54:43 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-16 20:05:00+00:00  last UTC=2025-01-17 19:54:48+00:00
2026-07-30 05:54:43 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 67,772 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 67,772 rows into tbl_tick_data | 4.437s
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-16 20:05:02+00:00 → 2025-01-17 19:54:48+00:00  (67,772 rows processed)
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-16 -> 2025-01-17: inserted 67,772 bars (running total: 1,173,444)
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-16T22:05:00+00:00|2025-01-17T00:00:00+00:00  (67,772 row(s) inserted)
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-17T00:00:00+00:00|2025-01-17T21:54:57+00:00  (67,772 row(s) inserted)
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 4/9] chunk 1/5  EURUSD  2025-01-19 -> 2025-01-20
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-19 22:05:00 UTC -> 2025-01-20 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 68,355 ticks for EURUSD
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-19 -> 2025-01-20: fetched 68,355 bars (0.08s)
2026-07-30 05:54:50 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-19 22:05:00+00:00  last UTC=2025-01-20 20:04:59+00:00
2026-07-30 05:54:50 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 68,354 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 68,354 rows into tbl_tick_data | 4.535s
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-19 22:05:01+00:00 → 2025-01-20 20:04:59.000100+00:00  (68,354 rows processed)
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-19 -> 2025-01-20: inserted 68,354 bars (running total: 1,241,798)
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-19T22:05:00+00:00|2025-01-20T00:00:00+00:00  (68,354 row(s) inserted)
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-20T00:00:00+00:00|2025-01-20T22:05:00+00:00  (68,354 row(s) inserted)
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 4/9] chunk 2/5  EURUSD  2025-01-20 -> 2025-01-21
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-20 22:05:00 UTC -> 2025-01-21 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 87,804 ticks for EURUSD
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-20 -> 2025-01-21: fetched 87,804 bars (0.09s)
2026-07-30 05:54:57 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-20 20:05:00+00:00  last UTC=2025-01-21 20:04:54+00:00
2026-07-30 05:54:57 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 87,803 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 87,803 rows into tbl_tick_data | 6.019s
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-20 20:05:00.000100+00:00 → 2025-01-21 20:04:54+00:00  (87,803 rows processed)
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-20 -> 2025-01-21: inserted 87,803 bars (running total: 1,329,601)
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-20T22:05:00+00:00|2025-01-21T00:00:00+00:00  (87,803 row(s) inserted)
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-21T00:00:00+00:00|2025-01-21T22:05:00+00:00  (87,803 row(s) inserted)
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 4/9] chunk 3/5  EURUSD  2025-01-21 -> 2025-01-22
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-21 22:05:00 UTC -> 2025-01-22 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 70,368 ticks for EURUSD
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-21 -> 2025-01-22: fetched 70,368 bars (0.08s)
2026-07-30 05:55:06 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-21 20:05:00+00:00  last UTC=2025-01-22 20:04:58+00:00
2026-07-30 05:55:06 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 70,367 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 70,367 rows into tbl_tick_data | 4.799s
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-21 20:05:00.000100+00:00 → 2025-01-22 20:04:58+00:00  (70,367 rows processed)
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-21 -> 2025-01-22: inserted 70,367 bars (running total: 1,399,968)
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-21T22:05:00+00:00|2025-01-22T00:00:00+00:00  (70,367 row(s) inserted)
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-22T00:00:00+00:00|2025-01-22T22:05:00+00:00  (70,367 row(s) inserted)
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 4/9] chunk 4/5  EURUSD  2025-01-22 -> 2025-01-23
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-22 22:05:00 UTC -> 2025-01-23 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 69,953 ticks for EURUSD
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-22 -> 2025-01-23: fetched 69,953 bars (0.08s)
2026-07-30 05:55:13 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-22 20:05:00+00:00  last UTC=2025-01-23 20:04:59+00:00
2026-07-30 05:55:13 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 69,952 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 69,952 rows into tbl_tick_data | 4.770s
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-22 20:05:07+00:00 → 2025-01-23 20:04:59+00:00  (69,952 rows processed)
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-22 -> 2025-01-23: inserted 69,952 bars (running total: 1,469,920)
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-22T22:05:00+00:00|2025-01-23T00:00:00+00:00  (69,952 row(s) inserted)
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-23T00:00:00+00:00|2025-01-23T22:05:00+00:00  (69,952 row(s) inserted)
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 4/9] chunk 5/5  EURUSD  2025-01-23 -> 2025-01-24
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-23 22:05:00 UTC -> 2025-01-24 21:54:49 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 78,506 ticks for EURUSD
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-23 -> 2025-01-24: fetched 78,506 bars (0.08s)
2026-07-30 05:55:20 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-23 20:05:00+00:00  last UTC=2025-01-24 19:54:45+00:00
2026-07-30 05:55:20 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 78,505 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 78,505 rows into tbl_tick_data | 5.356s
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-23 20:05:03+00:00 → 2025-01-24 19:54:45+00:00  (78,505 rows processed)
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-23 -> 2025-01-24: inserted 78,505 bars (running total: 1,548,425)
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-23T22:05:00+00:00|2025-01-24T00:00:00+00:00  (78,505 row(s) inserted)
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-24T00:00:00+00:00|2025-01-24T21:54:49+00:00  (78,505 row(s) inserted)
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 5/9] chunk 1/5  EURUSD  2025-01-26 -> 2025-01-27
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-26 22:05:00 UTC -> 2025-01-27 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 79,311 ticks for EURUSD
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-26 -> 2025-01-27: fetched 79,311 bars (0.08s)
2026-07-30 05:55:28 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-26 22:05:00+00:00  last UTC=2025-01-27 20:04:57+00:00
2026-07-30 05:55:28 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 79,310 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 79,310 rows into tbl_tick_data | 5.386s
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-26 22:05:00.000100+00:00 → 2025-01-27 20:04:57+00:00  (79,310 rows processed)
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-26 -> 2025-01-27: inserted 79,310 bars (running total: 1,627,735)
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-26T22:05:00+00:00|2025-01-27T00:00:00+00:00  (79,310 row(s) inserted)
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-27T00:00:00+00:00|2025-01-27T22:05:00+00:00  (79,310 row(s) inserted)
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 5/9] chunk 2/5  EURUSD  2025-01-27 -> 2025-01-28
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-27 22:05:00 UTC -> 2025-01-28 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 76,078 ticks for EURUSD
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-27 -> 2025-01-28: fetched 76,078 bars (0.08s)
2026-07-30 05:55:36 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-27 20:05:00+00:00  last UTC=2025-01-28 20:04:59+00:00
2026-07-30 05:55:36 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 76,077 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 76,077 rows into tbl_tick_data | 5.180s
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-27 20:05:01+00:00 → 2025-01-28 20:04:59.000100+00:00  (76,077 rows processed)
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-27 -> 2025-01-28: inserted 76,077 bars (running total: 1,703,812)
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-27T22:05:00+00:00|2025-01-28T00:00:00+00:00  (76,077 row(s) inserted)
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-28T00:00:00+00:00|2025-01-28T22:05:00+00:00  (76,077 row(s) inserted)
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 5/9] chunk 3/5  EURUSD  2025-01-28 -> 2025-01-29
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-28 22:05:00 UTC -> 2025-01-29 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 75,933 ticks for EURUSD
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-28 -> 2025-01-29: fetched 75,933 bars (0.08s)
2026-07-30 05:55:44 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-28 20:05:00+00:00  last UTC=2025-01-29 20:04:56+00:00
2026-07-30 05:55:44 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 75,932 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 75,932 rows into tbl_tick_data | 5.001s
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-28 20:05:00.000100+00:00 → 2025-01-29 20:04:56.000100+00:00  (75,932 rows processed)
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-28 -> 2025-01-29: inserted 75,932 bars (running total: 1,779,744)
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-28T22:05:00+00:00|2025-01-29T00:00:00+00:00  (75,932 row(s) inserted)
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-29T00:00:00+00:00|2025-01-29T22:05:00+00:00  (75,932 row(s) inserted)
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 5/9] chunk 4/5  EURUSD  2025-01-29 -> 2025-01-30
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-29 22:05:00 UTC -> 2025-01-30 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 71,814 ticks for EURUSD
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-29 -> 2025-01-30: fetched 71,814 bars (0.08s)
2026-07-30 05:55:52 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-29 20:05:00+00:00  last UTC=2025-01-30 20:04:58+00:00
2026-07-30 05:55:52 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 71,813 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 71,813 rows into tbl_tick_data | 4.977s
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-29 20:05:00.000100+00:00 → 2025-01-30 20:04:58+00:00  (71,813 rows processed)
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-29 -> 2025-01-30: inserted 71,813 bars (running total: 1,851,557)
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-29T22:05:00+00:00|2025-01-30T00:00:00+00:00  (71,813 row(s) inserted)
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-30T00:00:00+00:00|2025-01-30T22:05:00+00:00  (71,813 row(s) inserted)
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 5/9] chunk 5/5  EURUSD  2025-01-30 -> 2025-01-31
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-01-30 22:05:00 UTC -> 2025-01-31 21:54:58 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 88,109 ticks for EURUSD
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-30 -> 2025-01-31: fetched 88,109 bars (0.09s)
2026-07-30 05:55:59 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-01-30 20:05:00+00:00  last UTC=2025-01-31 19:54:56+00:00
2026-07-30 05:55:59 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 88,108 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 88,108 rows into tbl_tick_data | 5.880s
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-01-30 20:05:02+00:00 → 2025-01-31 19:54:56+00:00  (88,108 rows processed)
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-01-30 -> 2025-01-31: inserted 88,108 bars (running total: 1,939,665)
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-30T22:05:00+00:00|2025-01-31T00:00:00+00:00  (88,108 row(s) inserted)
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-01-31T00:00:00+00:00|2025-01-31T21:54:58+00:00  (88,108 row(s) inserted)
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 6/9] chunk 1/5  EURUSD  2025-02-02 -> 2025-02-03
2026-07-30 05:56:08 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-02 22:05:00 UTC -> 2025-02-03 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:22 [    INFO] [FTMO/CFD/EURUSD/Tick] Retrieved 112,234 ticks for EURUSD
2026-07-30 05:56:22 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-02 -> 2025-02-03: fetched 112,234 bars (13.77s)
2026-07-30 05:56:22 [    INFO] [FTMO/CFD/EURUSD/Tick] [TZ-CORRECT] derived offset=+2h (ref=window-end) | first UTC=2025-02-02 22:05:00+00:00  last UTC=2025-02-03 20:04:57+00:00
2026-07-30 05:56:22 [   DEBUG] [FTMO/CFD/EURUSD/Tick] Transformed 112,233 tick records for EURUSD (1 leading row dropped for diff initialisation)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] Upserted 112,233 rows into tbl_tick_data | 7.778s
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick]   [DB] 2025-02-02 22:05:00.000100+00:00 → 2025-02-03 20:04:57+00:00  (112,233 rows processed)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-02 -> 2025-02-03: inserted 112,233 bars (running total: 2,051,898)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-02T22:05:00.000100+00:00|2025-02-03T00:00:00+00:00  (112,233 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-03T00:00:00+00:00|2025-02-03T22:05:00.000100+00:00  (112,233 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 6/9] chunk 2/5  EURUSD  2025-02-03 -> 2025-02-04
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-03 22:05:00 UTC -> 2025-02-04 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-03 -> 2025-02-04: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-03T22:05:00.000100+00:00|2025-02-04T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-04T00:00:00+00:00|2025-02-04T22:05:00.000100+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 6/9] chunk 3/5  EURUSD  2025-02-04 -> 2025-02-05
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-04 22:05:00 UTC -> 2025-02-05 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-04 -> 2025-02-05: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-04T22:05:00.000100+00:00|2025-02-05T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-05T00:00:00+00:00|2025-02-05T22:05:00.000100+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 6/9] chunk 4/5  EURUSD  2025-02-05 -> 2025-02-06
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-05 22:05:00 UTC -> 2025-02-06 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-05 -> 2025-02-06: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-05T22:05:00.000100+00:00|2025-02-06T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-06T00:00:00+00:00|2025-02-06T22:05:00.000100+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 6/9] chunk 5/5  EURUSD  2025-02-06 -> 2025-02-07
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-06 22:05:00 UTC -> 2025-02-07 21:54:52 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-06 -> 2025-02-07: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-06T22:05:00.000100+00:00|2025-02-07T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-07T00:00:00+00:00|2025-02-07T21:54:52.000100+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 7/9] chunk 1/5  EURUSD  2025-02-09 -> 2025-02-10
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-09 22:05:00 UTC -> 2025-02-10 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-09 -> 2025-02-10: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-09T22:05:00+00:00|2025-02-10T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-10T00:00:00+00:00|2025-02-10T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 7/9] chunk 2/5  EURUSD  2025-02-10 -> 2025-02-11
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-10 22:05:00 UTC -> 2025-02-11 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-10 -> 2025-02-11: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-10T22:05:00+00:00|2025-02-11T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-11T00:00:00+00:00|2025-02-11T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 7/9] chunk 3/5  EURUSD  2025-02-11 -> 2025-02-12
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-11 22:05:00 UTC -> 2025-02-12 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-11 -> 2025-02-12: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-11T22:05:00+00:00|2025-02-12T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-12T00:00:00+00:00|2025-02-12T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 7/9] chunk 4/5  EURUSD  2025-02-12 -> 2025-02-13
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-12 22:05:00 UTC -> 2025-02-13 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-12 -> 2025-02-13: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-12T22:05:00+00:00|2025-02-13T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-13T00:00:00+00:00|2025-02-13T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 7/9] chunk 5/5  EURUSD  2025-02-13 -> 2025-02-14
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-13 22:05:00 UTC -> 2025-02-14 21:54:59 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-13 -> 2025-02-14: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-13T22:05:00+00:00|2025-02-14T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-14T00:00:00+00:00|2025-02-14T21:54:59.000100+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 8/9] chunk 1/5  EURUSD  2025-02-16 -> 2025-02-17
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-16 22:05:00 UTC -> 2025-02-17 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-16 -> 2025-02-17: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-16T22:05:00+00:00|2025-02-17T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-17T00:00:00+00:00|2025-02-17T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 8/9] chunk 2/5  EURUSD  2025-02-17 -> 2025-02-18
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-17 22:05:00 UTC -> 2025-02-18 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-17 -> 2025-02-18: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-17T22:05:00+00:00|2025-02-18T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-18T00:00:00+00:00|2025-02-18T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 8/9] chunk 3/5  EURUSD  2025-02-18 -> 2025-02-19
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-18 22:05:00 UTC -> 2025-02-19 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-18 -> 2025-02-19: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-18T22:05:00+00:00|2025-02-19T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-19T00:00:00+00:00|2025-02-19T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 8/9] chunk 4/5  EURUSD  2025-02-19 -> 2025-02-20
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-19 22:05:00 UTC -> 2025-02-20 22:05:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-19 -> 2025-02-20: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-19T22:05:00+00:00|2025-02-20T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-20T00:00:00+00:00|2025-02-20T22:05:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 8/9] chunk 5/5  EURUSD  2025-02-20 -> 2025-02-21
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2025-02-20 22:05:00 UTC -> 2025-02-21 21:54:59 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2025-02-20 -> 2025-02-21: no bars returned — skipping
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-20T22:05:00+00:00|2025-02-21T00:00:00+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] ADDED TO HISTORY → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history: FTMO|CFD|EURUSD|2025-02-21T00:00:00+00:00|2025-02-21T21:54:59+00:00  (0 row(s) inserted)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] recorded 2 attempted day-window(s) → mt5_db_data_filled_gaps_tick_data_ftmo_cfd_eurusd.history
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 9/9] chunk 1/2  EURUSD  2026-07-30 -> 2026-07-31
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2026-07-30 00:00:00 UTC -> 2026-07-31 00:00:00 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2026-07-30 -> 2026-07-31: no bars returned — skipping
2026-07-30 05:56:33 [   DEBUG] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] not recording still-open / most-recent window 2026-07-30T00:00:00+00:00 → 2026-07-31T00:00:00+00:00 (today or within the last hour — keeps re-fetching)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ------------------------------------------------------------
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [interval 9/9] chunk 2/2  EURUSD  2026-07-31 -> 2026-07-31
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] [MT5 FETCH] 2026-07-31 00:00:00 UTC -> 2026-07-31 04:52:49 UTC | → per-batch derived offset → stored UTC
2026-07-30 05:56:33 [ WARNING] [FTMO/CFD/EURUSD/Tick] No ticks returned for EURUSD: (-10004, 'No IPC connection')
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] 2026-07-31 -> 2026-07-31: no bars returned — skipping
2026-07-30 05:56:33 [   DEBUG] [FTMO/CFD/EURUSD/Tick] [GAP-HISTORY] not recording still-open / most-recent window 2026-07-31T00:00:00+00:00 → 2026-07-31T04:52:49+00:00 (today or within the last hour — keeps re-fetching)
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] Backfill complete for EURUSD. Total inserted: 2,051,898 bars
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] MT5 connection closed
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] Raw DB connection (self.conn) closed
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] Service stopped
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] FEED COMPLETE
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] ================================================================================
2026-07-30 05:56:33 [    INFO] [FTMO/CFD/EURUSD/Tick] EURUSD: 2051898 bars inserted
