2026-05-02 00:00:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 17, 859434, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17153, 'low': 1.17097, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 00:00:17'
2026-05-02 00:00:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 17, 860205, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17301, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 00:00:17'
2026-05-02 00:00:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 17, 861001, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17142, 'high': 1.17165, 'low': 1.17097, 'close': 1.17153, 'volume': 15.0} | asctime='2026-05-02 00:00:17'
2026-05-02 00:00:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 17, 861886, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17298, 'high': 1.17396, 'low': 1.17243, 'close': 1.17243, 'volume': 15.0} | asctime='2026-05-02 00:00:17'
2026-05-02 00:00:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 17, 863054, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17153, 'high': 1.17165, 'low': 1.17095, 'close': 1.17153, 'volume': 41.0} | asctime='2026-05-02 00:00:17'
2026-05-02 00:00:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 17, 863930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17243, 'high': 1.17396, 'low': 1.17238, 'close': 1.17243, 'volume': 41.0} | asctime='2026-05-02 00:00:17'
2026-05-02 00:00:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 17, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 00:00:17'
2026-05-02 00:00:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 28, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:00:28'
2026-05-02 00:00:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 28, 736000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:00:28'
2026-05-02 00:00:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 31, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 00:00:31'
2026-05-02 00:00:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 36, 555000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 00:00:36'
2026-05-02 00:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 44, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 00:00:44'
2026-05-02 00:00:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 0, 52, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:00:52'
2026-05-02 00:01:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 1, 18, 659335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17157, 'low': 1.17115, 'close': 1.17141, 'volume': 7.0} | asctime='2026-05-02 00:01:18'
2026-05-02 00:01:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 1, 18, 660311, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17276, 'low': 1.17247, 'close': 1.17273, 'volume': 7.0} | asctime='2026-05-02 00:01:18'
2026-05-02 00:01:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 1, 18, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 00:01:18'
2026-05-02 00:01:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 1, 21, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 00:01:21'
2026-05-02 00:01:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 1, 24, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 00:01:24'
2026-05-02 00:01:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 1, 46, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 00:01:46'
2026-05-02 00:02:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 18, 608527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17121, 'close': 1.17121, 'volume': 4.0} | asctime='2026-05-02 00:02:18'
2026-05-02 00:02:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 18, 609483, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17277, 'low': 1.17245, 'close': 1.17277, 'volume': 4.0} | asctime='2026-05-02 00:02:18'
2026-05-02 00:02:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 18, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 00:02:18'
2026-05-02 00:02:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 23, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 00:02:23'
2026-05-02 00:02:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 26, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:02:26'
2026-05-02 00:02:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 27, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 00:02:27'
2026-05-02 00:02:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 28, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:02:28'
2026-05-02 00:02:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 36, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 00:02:36'
2026-05-02 00:02:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 48, 868000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 00:02:48'
2026-05-02 00:02:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 2, 49, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 00:02:49'
2026-05-02 00:03:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 6, 157823, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17159, 'low': 1.17121, 'close': 1.17144, 'volume': 8.0} | asctime='2026-05-02 00:03:06'
2026-05-02 00:03:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 6, 159426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17277, 'low': 1.17234, 'close': 1.17234, 'volume': 8.0} | asctime='2026-05-02 00:03:06'
2026-05-02 00:03:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 6, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:03:06'
2026-05-02 00:03:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 9, 970000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 00:03:10'
2026-05-02 00:03:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 12, 576000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 00:03:12'
2026-05-02 00:03:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 19, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 00:03:19'
2026-05-02 00:03:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 22, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:03:22'
2026-05-02 00:03:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 22, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17055, 'volume': 0.0} | asctime='2026-05-02 00:03:22'
2026-05-02 00:03:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 24, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:03:24'
2026-05-02 00:03:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 33, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 00:03:33'
2026-05-02 00:03:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 33, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:03:33'
2026-05-02 00:03:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 3, 36, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:03:36'
2026-05-02 00:04:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 4, 26, 707764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17153, 'low': 1.17055, 'close': 1.17127, 'volume': 10.0} | asctime='2026-05-02 00:04:26'
2026-05-02 00:04:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 4, 26, 708770, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17228, 'high': 1.17293, 'low': 1.17228, 'close': 1.17283, 'volume': 10.0} | asctime='2026-05-02 00:04:26'
2026-05-02 00:04:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 4, 26, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:04:26'
2026-05-02 00:04:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 4, 36, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 00:04:36'
2026-05-02 00:04:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 4, 49, 392000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 00:04:49'
2026-05-02 00:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 5, 2, 707208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17158, 'low': 1.17112, 'close': 1.17158, 'volume': 3.0} | asctime='2026-05-02 00:05:02'
2026-05-02 00:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 5, 2, 708433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17268, 'low': 1.17248, 'close': 1.17248, 'volume': 3.0} | asctime='2026-05-02 00:05:02'
2026-05-02 00:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 5, 2, 709122, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17159, 'low': 1.17055, 'close': 1.17158, 'volume': 32.0} | asctime='2026-05-02 00:05:02'
2026-05-02 00:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 5, 2, 709678, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17272, 'high': 1.17293, 'low': 1.17228, 'close': 1.17248, 'volume': 32.0} | asctime='2026-05-02 00:05:02'
2026-05-02 00:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 5, 2, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 00:05:02'
2026-05-02 00:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 5, 3, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 00:05:03'
2026-05-02 00:06:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 16, 205911, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17122, 'low': 1.17109, 'close': 1.17122, 'volume': 2.0} | asctime='2026-05-02 00:06:16'
2026-05-02 00:06:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 16, 206938, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17278, 'close': 1.17278, 'volume': 2.0} | asctime='2026-05-02 00:06:16'
2026-05-02 00:06:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 16, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 00:06:16'
2026-05-02 00:06:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 25, 461000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 00:06:25'
2026-05-02 00:06:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 34, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 00:06:34'
2026-05-02 00:06:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 40, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 00:06:40'
2026-05-02 00:06:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 46, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 00:06:46'
2026-05-02 00:06:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 6, 57, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 00:06:58'
2026-05-02 00:07:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 7, 32, 155531, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17149, 'low': 1.17115, 'close': 1.17149, 'volume': 6.0} | asctime='2026-05-02 00:07:32'
2026-05-02 00:07:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 7, 32, 156452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17236, 'close': 1.17239, 'volume': 6.0} | asctime='2026-05-02 00:07:32'
2026-05-02 00:07:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 7, 32, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 00:07:32'
2026-05-02 00:08:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 8, 10, 655424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17156, 'close': 1.17156, 'volume': 1.0} | asctime='2026-05-02 00:08:10'
2026-05-02 00:08:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 8, 10, 656830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17246, 'close': 1.17246, 'volume': 1.0} | asctime='2026-05-02 00:08:10'
2026-05-02 00:08:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 8, 10, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 00:08:10'
2026-05-02 00:08:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 8, 55, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:08:55'
2026-05-02 00:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 2, 254748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17141, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 00:09:02'
2026-05-02 00:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 2, 256351, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17231, 'close': 1.17231, 'volume': 2.0} | asctime='2026-05-02 00:09:02'
2026-05-02 00:09:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 2, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:09:02'
2026-05-02 00:09:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 10, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:09:10'
2026-05-02 00:09:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 52, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 00:09:52'
2026-05-02 00:09:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 52, 746000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.17074, 'volume': 0.0} | asctime='2026-05-02 00:09:52'
2026-05-02 00:09:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 53, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17309, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 00:09:53'
2026-05-02 00:09:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 53, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17404, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 00:09:53'
2026-05-02 00:09:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 56, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17399, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 00:09:56'
2026-05-02 00:09:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 57, 214000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 00:09:57'
2026-05-02 00:09:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 57, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 00:09:57'
2026-05-02 00:09:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 9, 57, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 00:09:58'
2026-05-02 00:10:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 0, 454391, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.1716, 'low': 1.17074, 'close': 1.17154, 'volume': 10.0} | asctime='2026-05-02 00:10:00'
2026-05-02 00:10:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 0, 456034, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17228, 'high': 1.17404, 'low': 1.17228, 'close': 1.17244, 'volume': 10.0} | asctime='2026-05-02 00:10:00'
2026-05-02 00:10:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 0, 456657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.1716, 'low': 1.17074, 'close': 1.17154, 'volume': 21.0} | asctime='2026-05-02 00:10:00'
2026-05-02 00:10:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 0, 457645, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17289, 'high': 1.17404, 'low': 1.17228, 'close': 1.17244, 'volume': 21.0} | asctime='2026-05-02 00:10:00'
2026-05-02 00:10:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 0, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.174, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 00:10:00'
2026-05-02 00:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 2, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 00:10:02'
2026-05-02 00:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 2, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:10:02'
2026-05-02 00:10:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 3, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 00:10:03'
2026-05-02 00:10:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 20, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 00:10:20'
2026-05-02 00:10:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 49, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 00:10:49'
2026-05-02 00:10:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 10, 58, 34000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 00:10:58'
2026-05-02 00:11:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 11, 4, 653601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17168, 'low': 1.17113, 'close': 1.17168, 'volume': 7.0} | asctime='2026-05-02 00:11:04'
2026-05-02 00:11:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 11, 4, 654509, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.174, 'high': 1.174, 'low': 1.17244, 'close': 1.17258, 'volume': 7.0} | asctime='2026-05-02 00:11:04'
2026-05-02 00:11:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 11, 4, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:11:04'
2026-05-02 00:11:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 11, 14, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 00:11:14'
2026-05-02 00:11:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 11, 58, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 00:11:58'
2026-05-02 00:12:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 12, 20, 6671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.1716, 'low': 1.1713, 'close': 1.1713, 'volume': 3.0} | asctime='2026-05-02 00:12:20'
2026-05-02 00:12:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 12, 20, 7553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17273, 'low': 1.1725, 'close': 1.17262, 'volume': 3.0} | asctime='2026-05-02 00:12:20'
2026-05-02 00:12:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 12, 19, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 00:12:20'
2026-05-02 00:12:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 12, 22, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 00:12:22'
2026-05-02 00:12:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 12, 28, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 00:12:28'
2026-05-02 00:12:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 12, 54, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17094, 'volume': 0.0} | asctime='2026-05-02 00:12:54'
2026-05-02 00:12:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 12, 58, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 00:12:58'
2026-05-02 00:14:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 14, 32, 651347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17147, 'low': 1.17094, 'close': 1.17147, 'volume': 5.0} | asctime='2026-05-02 00:14:32'
2026-05-02 00:14:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 14, 32, 652885, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17272, 'low': 1.17237, 'close': 1.17237, 'volume': 5.0} | asctime='2026-05-02 00:14:32'
2026-05-02 00:14:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 14, 32, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:14:32'
2026-05-02 00:14:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 14, 55, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 00:14:55'
2026-05-02 00:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 14, 57, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 00:14:58'
2026-05-02 00:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 15, 32, 600657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17153, 'low': 1.17141, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 00:15:32'
2026-05-02 00:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 15, 32, 602328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17243, 'low': 1.17231, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 00:15:32'
2026-05-02 00:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 15, 32, 603368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17148, 'high': 1.17168, 'low': 1.17094, 'close': 1.17153, 'volume': 18.0} | asctime='2026-05-02 00:15:32'
2026-05-02 00:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 15, 32, 604809, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.174, 'high': 1.174, 'low': 1.17231, 'close': 1.17243, 'volume': 18.0} | asctime='2026-05-02 00:15:32'
2026-05-02 00:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 15, 32, 605328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1714, 'high': 1.17168, 'low': 1.17055, 'close': 1.17153, 'volume': 71.0} | asctime='2026-05-02 00:15:32'
2026-05-02 00:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 15, 32, 605778, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17272, 'high': 1.17404, 'low': 1.17228, 'close': 1.17243, 'volume': 71.0} | asctime='2026-05-02 00:15:32'
2026-05-02 00:15:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 15, 32, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 00:15:32'
2026-05-02 00:16:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 16, 45, 616, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17149, 'close': 1.17149, 'volume': 1.0} | asctime='2026-05-02 00:16:45'
2026-05-02 00:16:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 16, 45, 4048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17239, 'close': 1.17239, 'volume': 1.0} | asctime='2026-05-02 00:16:45'
2026-05-02 00:16:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 16, 44, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 00:16:45'
2026-05-02 00:16:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 16, 49, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 00:16:49'
2026-05-02 00:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 0, 149740, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17107, 'high': 1.17113, 'low': 1.17107, 'close': 1.17113, 'volume': 2.0} | asctime='2026-05-02 00:17:00'
2026-05-02 00:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 0, 150527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17269, 'low': 1.17263, 'close': 1.17269, 'volume': 2.0} | asctime='2026-05-02 00:17:00'
2026-05-02 00:17:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 0, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 00:17:00'
2026-05-02 00:17:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 21, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 00:17:21'
2026-05-02 00:17:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 32, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:17:32'
2026-05-02 00:17:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 51, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 00:17:51'
2026-05-02 00:17:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 57, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 00:17:57'
2026-05-02 00:17:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 17, 58, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 00:17:58'
2026-05-02 00:19:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 19, 19, 898491, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17155, 'low': 1.1712, 'close': 1.17155, 'volume': 6.0} | asctime='2026-05-02 00:19:19'
2026-05-02 00:19:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 19, 19, 901038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17287, 'low': 1.1724, 'close': 1.17245, 'volume': 6.0} | asctime='2026-05-02 00:19:19'
2026-05-02 00:19:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 19, 19, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 00:19:19'
2026-05-02 00:19:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 19, 52, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 00:19:52'
2026-05-02 00:19:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 19, 53, 366000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 00:19:53'
2026-05-02 00:19:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 19, 53, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 00:19:53'
2026-05-02 00:21:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 40, 146874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17154, 'low': 1.17149, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 00:21:40'
2026-05-02 00:21:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 40, 148054, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17244, 'low': 1.17239, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 00:21:40'
2026-05-02 00:21:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 40, 149450, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17149, 'high': 1.17155, 'low': 1.17107, 'close': 1.17154, 'volume': 13.0} | asctime='2026-05-02 00:21:40'
2026-05-02 00:21:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 40, 150441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17239, 'high': 1.17287, 'low': 1.17239, 'close': 1.17244, 'volume': 13.0} | asctime='2026-05-02 00:21:40'
2026-05-02 00:21:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 40, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 00:21:40'
2026-05-02 00:21:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 40, 357000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:21:40'
2026-05-02 00:21:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 40, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:21:40'
2026-05-02 00:21:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 48, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:21:48'
2026-05-02 00:21:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 51, 777000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 00:21:51'
2026-05-02 00:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 52, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 00:21:52'
2026-05-02 00:21:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 54, 507000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:21:54'
2026-05-02 00:21:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 21, 57, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 00:21:57'
2026-05-02 00:22:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 22, 58, 346090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17153, 'low': 1.17096, 'close': 1.17153, 'volume': 8.0} | asctime='2026-05-02 00:22:58'
2026-05-02 00:22:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 22, 58, 346957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.173, 'low': 1.17243, 'close': 1.17243, 'volume': 8.0} | asctime='2026-05-02 00:22:58'
2026-05-02 00:22:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 22, 58, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:22:58'
2026-05-02 00:23:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 12, 746242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17125, 'close': 1.17125, 'volume': 1.0} | asctime='2026-05-02 00:23:12'
2026-05-02 00:23:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 12, 747560, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17257, 'close': 1.17257, 'volume': 1.0} | asctime='2026-05-02 00:23:12'
2026-05-02 00:23:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 12, 706000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:23:12'
2026-05-02 00:23:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 29, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:23:29'
2026-05-02 00:23:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 31, 323000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:23:31'
2026-05-02 00:23:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 31, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 00:23:31'
2026-05-02 00:23:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 40, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:23:40'
2026-05-02 00:23:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 23, 54, 414000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 00:23:54'
2026-05-02 00:24:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 6, 745765, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17141, 'low': 1.17115, 'close': 1.17134, 'volume': 6.0} | asctime='2026-05-02 00:24:06'
2026-05-02 00:24:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 6, 746341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17295, 'low': 1.17256, 'close': 1.17266, 'volume': 6.0} | asctime='2026-05-02 00:24:06'
2026-05-02 00:24:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 6, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:24:06'
2026-05-02 00:24:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 9, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 00:24:09'
2026-05-02 00:24:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 22, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 00:24:22'
2026-05-02 00:24:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 22, 465000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17304, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:24:22'
2026-05-02 00:24:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 23, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 00:24:23'
2026-05-02 00:24:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 25, 941000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17297, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:24:25'
2026-05-02 00:24:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 35, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:24:36'
2026-05-02 00:24:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 42, 449000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17323, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 00:24:42'
2026-05-02 00:24:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 45, 428000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17322, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 00:24:45'
2026-05-02 00:24:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 45, 801000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 00:24:45'
2026-05-02 00:24:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 46, 421000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 00:24:46'
2026-05-02 00:24:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 46, 918000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 00:24:46'
2026-05-02 00:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 56, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 00:24:56'
2026-05-02 00:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 24, 57, 966000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 00:24:57'
2026-05-02 00:25:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 25, 41, 694596, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17163, 'low': 1.17118, 'close': 1.17163, 'volume': 14.0} | asctime='2026-05-02 00:25:41'
2026-05-02 00:25:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 25, 41, 695865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.17323, 'low': 1.17253, 'close': 1.17253, 'volume': 14.0} | asctime='2026-05-02 00:25:41'
2026-05-02 00:25:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 25, 41, 696459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17163, 'low': 1.17096, 'close': 1.17163, 'volume': 29.0} | asctime='2026-05-02 00:25:41'
2026-05-02 00:25:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 25, 41, 696906, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17323, 'low': 1.17243, 'close': 1.17253, 'volume': 29.0} | asctime='2026-05-02 00:25:41'
2026-05-02 00:25:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 25, 41, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 00:25:41'
2026-05-02 00:25:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 25, 50, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:25:50'
2026-05-02 00:25:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 25, 59, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 00:25:59'
2026-05-02 00:26:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 0, 444511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.1713, 'low': 1.17123, 'close': 1.17123, 'volume': 3.0} | asctime='2026-05-02 00:26:00'
2026-05-02 00:26:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 0, 445251, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17262, 'low': 1.17255, 'close': 1.17255, 'volume': 3.0} | asctime='2026-05-02 00:26:00'
2026-05-02 00:26:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 0, 400000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 00:26:00'
2026-05-02 00:26:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 8, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 00:26:08'
2026-05-02 00:26:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 19, 390000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 00:26:19'
2026-05-02 00:26:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 33, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 00:26:33'
2026-05-02 00:26:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 36, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 00:26:36'
2026-05-02 00:26:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 39, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.17098, 'volume': 0.0} | asctime='2026-05-02 00:26:39'
2026-05-02 00:26:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 41, 856000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:26:41'
2026-05-02 00:26:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 44, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 00:26:44'
2026-05-02 00:26:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 52, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 00:26:52'
2026-05-02 00:26:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 53, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:26:53'
2026-05-02 00:26:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 26, 57, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:26:57'
2026-05-02 00:27:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 12, 893690, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17167, 'low': 1.17096, 'close': 1.17128, 'volume': 11.0} | asctime='2026-05-02 00:27:12'
2026-05-02 00:27:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 12, 895343, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17302, 'low': 1.17253, 'close': 1.17284, 'volume': 11.0} | asctime='2026-05-02 00:27:12'
2026-05-02 00:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 12, 888000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 00:27:12'
2026-05-02 00:27:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 14, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 00:27:14'
2026-05-02 00:27:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 19, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 00:27:19'
2026-05-02 00:27:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 20, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:27:20'
2026-05-02 00:27:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 37, 217000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 00:27:37'
2026-05-02 00:27:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 37, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 00:27:37'
2026-05-02 00:27:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 38, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 00:27:38'
2026-05-02 00:27:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 27, 42, 927000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 00:27:42'
2026-05-02 00:28:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 10, 643379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17157, 'low': 1.1711, 'close': 1.1711, 'volume': 8.0} | asctime='2026-05-02 00:28:10'
2026-05-02 00:28:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 10, 644172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17276, 'low': 1.17236, 'close': 1.17266, 'volume': 8.0} | asctime='2026-05-02 00:28:10'
2026-05-02 00:28:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 10, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 00:28:10'
2026-05-02 00:28:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 11, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17094, 'volume': 0.0} | asctime='2026-05-02 00:28:11'
2026-05-02 00:28:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 11, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 00:28:11'
2026-05-02 00:28:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 12, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 00:28:12'
2026-05-02 00:28:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 16, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:28:16'
2026-05-02 00:28:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 16, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 00:28:16'
2026-05-02 00:28:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 17, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 00:28:17'
2026-05-02 00:28:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 44, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 00:28:44'
2026-05-02 00:28:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 28, 58, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 00:28:58'
2026-05-02 00:29:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 29, 48, 941854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17113, 'high': 1.17158, 'low': 1.17091, 'close': 1.17158, 'volume': 9.0} | asctime='2026-05-02 00:29:48'
2026-05-02 00:29:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 29, 48, 943054, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17265, 'low': 1.17245, 'close': 1.17248, 'volume': 9.0} | asctime='2026-05-02 00:29:48'
2026-05-02 00:29:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 29, 48, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 00:29:48'
2026-05-02 00:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 13, 391585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17145, 'low': 1.17145, 'close': 1.17145, 'volume': 1.0} | asctime='2026-05-02 00:30:13'
2026-05-02 00:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 13, 392520, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17235, 'high': 1.17235, 'low': 1.17235, 'close': 1.17235, 'volume': 1.0} | asctime='2026-05-02 00:30:13'
2026-05-02 00:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 13, 394022, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1713, 'high': 1.17167, 'low': 1.17091, 'close': 1.17145, 'volume': 32.0} | asctime='2026-05-02 00:30:13'
2026-05-02 00:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 13, 395192, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17262, 'high': 1.17302, 'low': 1.17235, 'close': 1.17235, 'volume': 32.0} | asctime='2026-05-02 00:30:13'
2026-05-02 00:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 13, 396563, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17149, 'high': 1.17167, 'low': 1.17091, 'close': 1.17145, 'volume': 74.0} | asctime='2026-05-02 00:30:13'
2026-05-02 00:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 13, 397016, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17239, 'high': 1.17323, 'low': 1.17235, 'close': 1.17235, 'volume': 74.0} | asctime='2026-05-02 00:30:13'
2026-05-02 00:30:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 13, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 00:30:13'
2026-05-02 00:30:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 19, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 00:30:19'
2026-05-02 00:30:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 28, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 00:30:28'
2026-05-02 00:30:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 41, 787000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 00:30:41'
2026-05-02 00:30:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 46, 255000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 00:30:46'
2026-05-02 00:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 50, 476000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 00:30:50'
2026-05-02 00:30:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 30, 58, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:30:58'
2026-05-02 00:31:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 31, 54, 690560, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17164, 'low': 1.1712, 'close': 1.1712, 'volume': 7.0} | asctime='2026-05-02 00:31:54'
2026-05-02 00:31:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 31, 54, 691987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17276, 'low': 1.17245, 'close': 1.17276, 'volume': 7.0} | asctime='2026-05-02 00:31:54'
2026-05-02 00:31:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 31, 54, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 00:31:54'
2026-05-02 00:32:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 9, 290577, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 00:32:09'
2026-05-02 00:32:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 9, 291644, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17263, 'close': 1.17263, 'volume': 1.0} | asctime='2026-05-02 00:32:09'
2026-05-02 00:32:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 9, 293000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17088, 'volume': 0.0} | asctime='2026-05-02 00:32:09'
2026-05-02 00:32:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 12, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:32:12'
2026-05-02 00:32:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 21, 456000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 00:32:21'
2026-05-02 00:32:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 29, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 00:32:29'
2026-05-02 00:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 58, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:32:58'
2026-05-02 00:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 32, 58, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 00:32:58'
2026-05-02 00:33:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 1, 439917, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17088, 'high': 1.17155, 'low': 1.17088, 'close': 1.17117, 'volume': 6.0} | asctime='2026-05-02 00:33:01'
2026-05-02 00:33:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 1, 440533, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17292, 'high': 1.17292, 'low': 1.17243, 'close': 1.17273, 'volume': 6.0} | asctime='2026-05-02 00:33:01'
2026-05-02 00:33:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 1, 424000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 00:33:01'
2026-05-02 00:33:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 1, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:33:01'
2026-05-02 00:33:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 2, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 00:33:02'
2026-05-02 00:33:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 17, 190000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 00:33:17'
2026-05-02 00:33:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 29, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:33:29'
2026-05-02 00:33:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 32, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 00:33:32'
2026-05-02 00:33:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 36, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:33:36'
2026-05-02 00:33:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 33, 40, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 00:33:40'
2026-05-02 00:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 34, 10, 189121, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17143, 'low': 1.17107, 'close': 1.17134, 'volume': 8.0} | asctime='2026-05-02 00:34:10'
2026-05-02 00:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 34, 10, 190170, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17276, 'low': 1.17228, 'close': 1.17266, 'volume': 8.0} | asctime='2026-05-02 00:34:10'
2026-05-02 00:34:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 34, 10, 189000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 00:34:10'
2026-05-02 00:34:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 34, 15, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 00:34:15'
2026-05-02 00:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 2, 89307, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17131, 'low': 1.17111, 'close': 1.17131, 'volume': 2.0} | asctime='2026-05-02 00:35:02'
2026-05-02 00:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 2, 90455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17263, 'close': 1.17263, 'volume': 2.0} | asctime='2026-05-02 00:35:02'
2026-05-02 00:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 2, 91611, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17158, 'high': 1.17164, 'low': 1.17088, 'close': 1.17131, 'volume': 24.0} | asctime='2026-05-02 00:35:02'
2026-05-02 00:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 2, 92105, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17248, 'high': 1.17292, 'low': 1.17228, 'close': 1.17263, 'volume': 24.0} | asctime='2026-05-02 00:35:02'
2026-05-02 00:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 2, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 00:35:02'
2026-05-02 00:35:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 53, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 00:35:53'
2026-05-02 00:35:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 57, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.174, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 00:35:57'
2026-05-02 00:35:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 35, 58, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 00:35:58'
2026-05-02 00:36:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 36, 6, 638412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17151, 'low': 1.17118, 'close': 1.17123, 'volume': 4.0} | asctime='2026-05-02 00:36:06'
2026-05-02 00:36:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 36, 6, 640025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.174, 'low': 1.17241, 'close': 1.17255, 'volume': 4.0} | asctime='2026-05-02 00:36:06'
2026-05-02 00:36:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 36, 6, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 00:36:06'
2026-05-02 00:36:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 36, 23, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 00:36:23'
2026-05-02 00:36:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 36, 32, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:36:32'
2026-05-02 00:37:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 15, 787690, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17132, 'low': 1.17108, 'close': 1.17132, 'volume': 3.0} | asctime='2026-05-02 00:37:15'
2026-05-02 00:37:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 15, 788697, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17264, 'low': 1.17251, 'close': 1.17264, 'volume': 3.0} | asctime='2026-05-02 00:37:15'
2026-05-02 00:37:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 15, 754000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 00:37:15'
2026-05-02 00:37:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 15, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 00:37:15'
2026-05-02 00:37:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 24, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:37:24'
2026-05-02 00:37:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 24, 939000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 00:37:24'
2026-05-02 00:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 25, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:37:25'
2026-05-02 00:37:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 26, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 00:37:26'
2026-05-02 00:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 34, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 00:37:34'
2026-05-02 00:37:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 49, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 00:37:49'
2026-05-02 00:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 50, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:37:50'
2026-05-02 00:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 50, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17079, 'volume': 0.0} | asctime='2026-05-02 00:37:50'
2026-05-02 00:37:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 57, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 00:37:57'
2026-05-02 00:37:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 37, 59, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 00:37:59'
2026-05-02 00:38:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 38, 10, 636523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1711, 'high': 1.1714, 'low': 1.17079, 'close': 1.17116, 'volume': 12.0} | asctime='2026-05-02 00:38:10'
2026-05-02 00:38:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 38, 10, 638822, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17307, 'low': 1.17252, 'close': 1.17272, 'volume': 12.0} | asctime='2026-05-02 00:38:10'
2026-05-02 00:38:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 38, 10, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:38:10'
2026-05-02 00:39:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 39, 28, 436536, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17124, 'low': 1.17124, 'close': 1.17124, 'volume': 1.0} | asctime='2026-05-02 00:39:28'
2026-05-02 00:39:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 39, 28, 438064, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17256, 'low': 1.17256, 'close': 1.17256, 'volume': 1.0} | asctime='2026-05-02 00:39:28'
2026-05-02 00:39:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 39, 28, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 00:39:28'
2026-05-02 00:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 39, 38, 865000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17088, 'volume': 0.0} | asctime='2026-05-02 00:39:38'
2026-05-02 00:39:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 39, 43, 830000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 00:39:43'
2026-05-02 00:39:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 39, 52, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 00:39:52'
2026-05-02 00:40:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 40, 22, 835787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17103, 'high': 1.17129, 'low': 1.17088, 'close': 1.17129, 'volume': 4.0} | asctime='2026-05-02 00:40:22'
2026-05-02 00:40:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 40, 22, 837871, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17292, 'low': 1.17259, 'close': 1.17261, 'volume': 4.0} | asctime='2026-05-02 00:40:22'
2026-05-02 00:40:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 40, 22, 839337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17118, 'high': 1.17151, 'low': 1.17079, 'close': 1.17129, 'volume': 24.0} | asctime='2026-05-02 00:40:22'
2026-05-02 00:40:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 40, 22, 840523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17274, 'high': 1.174, 'low': 1.17241, 'close': 1.17261, 'volume': 24.0} | asctime='2026-05-02 00:40:22'
2026-05-02 00:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 40, 22, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:40:22'
2026-05-02 00:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 40, 22, 928000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 00:40:22'
2026-05-02 00:40:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 40, 36, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 00:40:36'
2026-05-02 00:41:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 22, 785396, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17104, 'close': 1.17105, 'volume': 3.0} | asctime='2026-05-02 00:41:22'
2026-05-02 00:41:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 22, 786210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17261, 'low': 1.17257, 'close': 1.17261, 'volume': 3.0} | asctime='2026-05-02 00:41:22'
2026-05-02 00:41:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 22, 756000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:41:22'
2026-05-02 00:41:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 23, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 00:41:23'
2026-05-02 00:41:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 23, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 00:41:23'
2026-05-02 00:41:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 36, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 00:41:36'
2026-05-02 00:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 38, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17305, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 00:41:38'
2026-05-02 00:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 38, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17299, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 00:41:38'
2026-05-02 00:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 41, 58, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 00:41:58'
2026-05-02 00:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 9, 584982, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17143, 'low': 1.17101, 'close': 1.17126, 'volume': 7.0} | asctime='2026-05-02 00:42:09'
2026-05-02 00:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 9, 585798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17305, 'low': 1.1726, 'close': 1.17282, 'volume': 7.0} | asctime='2026-05-02 00:42:09'
2026-05-02 00:42:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 9, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:42:09'
2026-05-02 00:42:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 15, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 00:42:15'
2026-05-02 00:42:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 24, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 00:42:24'
2026-05-02 00:42:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 33, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 00:42:33'
2026-05-02 00:42:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 36, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:42:36'
2026-05-02 00:42:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 42, 50, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:42:50'
2026-05-02 00:44:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 44, 4, 983493, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17156, 'low': 1.17116, 'close': 1.17132, 'volume': 6.0} | asctime='2026-05-02 00:44:04'
2026-05-02 00:44:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 44, 4, 984839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17288, 'low': 1.17246, 'close': 1.17288, 'volume': 6.0} | asctime='2026-05-02 00:44:04'
2026-05-02 00:44:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 44, 4, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 00:44:04'
2026-05-02 00:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 44, 5, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 00:44:05'
2026-05-02 00:44:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 44, 20, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 00:44:20'
2026-05-02 00:44:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 44, 24, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 00:44:24'
2026-05-02 00:44:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 44, 46, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 00:44:46'
2026-05-02 00:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 6, 582710, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17148, 'low': 1.17119, 'close': 1.17148, 'volume': 5.0} | asctime='2026-05-02 00:45:06'
2026-05-02 00:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 6, 583757, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.17238, 'close': 1.17238, 'volume': 5.0} | asctime='2026-05-02 00:45:06'
2026-05-02 00:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 6, 585137, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17156, 'low': 1.17101, 'close': 1.17148, 'volume': 21.0} | asctime='2026-05-02 00:45:06'
2026-05-02 00:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 6, 587301, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17257, 'high': 1.17305, 'low': 1.17238, 'close': 1.17238, 'volume': 21.0} | asctime='2026-05-02 00:45:06'
2026-05-02 00:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 6, 587838, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17158, 'high': 1.17164, 'low': 1.17079, 'close': 1.17148, 'volume': 69.0} | asctime='2026-05-02 00:45:06'
2026-05-02 00:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 6, 589157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17248, 'high': 1.174, 'low': 1.17228, 'close': 1.17238, 'volume': 69.0} | asctime='2026-05-02 00:45:06'
2026-05-02 00:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 6, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 00:45:06'
2026-05-02 00:45:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 10, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 00:45:10'
2026-05-02 00:45:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 10, 393000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17053, 'volume': 0.0} | asctime='2026-05-02 00:45:10'
2026-05-02 00:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 13, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 00:45:13'
2026-05-02 00:45:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 14, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17051, 'volume': 0.0} | asctime='2026-05-02 00:45:14'
2026-05-02 00:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 16, 476000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 00:45:16'
2026-05-02 00:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 16, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 00:45:16'
2026-05-02 00:45:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 18, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 00:45:18'
2026-05-02 00:45:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 22, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:45:22'
2026-05-02 00:45:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 25, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:45:25'
2026-05-02 00:45:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 45, 30, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 00:45:30'
2026-05-02 00:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 46, 16, 682234, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1716, 'high': 1.17167, 'low': 1.17047, 'close': 1.17151, 'volume': 11.0} | asctime='2026-05-02 00:46:16'
2026-05-02 00:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 46, 16, 683601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17287, 'low': 1.17241, 'close': 1.17241, 'volume': 11.0} | asctime='2026-05-02 00:46:16'
2026-05-02 00:46:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 46, 16, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:46:16'
2026-05-02 00:46:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 46, 42, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 00:46:42'
2026-05-02 00:46:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 46, 43, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 00:46:43'
2026-05-02 00:46:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 46, 49, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 00:46:49'
2026-05-02 00:46:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 46, 50, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 00:46:50'
2026-05-02 00:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 4, 81464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17124, 'low': 1.17105, 'close': 1.17106, 'volume': 5.0} | asctime='2026-05-02 00:47:04'
2026-05-02 00:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 4, 82146, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17264, 'low': 1.17256, 'close': 1.17262, 'volume': 5.0} | asctime='2026-05-02 00:47:04'
2026-05-02 00:47:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 4, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 00:47:04'
2026-05-02 00:47:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 10, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 00:47:10'
2026-05-02 00:47:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 20, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 00:47:20'
2026-05-02 00:47:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 28, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 00:47:28'
2026-05-02 00:47:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 55, 473000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 00:47:55'
2026-05-02 00:47:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 55, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 00:47:55'
2026-05-02 00:47:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 55, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:47:55'
2026-05-02 00:47:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 47, 59, 941000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:47:59'
2026-05-02 00:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 48, 4, 180677, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17142, 'low': 1.17113, 'close': 1.17125, 'volume': 8.0} | asctime='2026-05-02 00:48:04'
2026-05-02 00:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 48, 4, 181779, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1723, 'high': 1.17281, 'low': 1.1723, 'close': 1.17281, 'volume': 8.0} | asctime='2026-05-02 00:48:04'
2026-05-02 00:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 48, 4, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 00:48:04'
2026-05-02 00:48:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 48, 12, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 00:48:12'
2026-05-02 00:48:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 48, 19, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 00:48:19'
2026-05-02 00:48:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 48, 20, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 00:48:20'
2026-05-02 00:49:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 49, 10, 430087, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17095, 'high': 1.17126, 'low': 1.17095, 'close': 1.17126, 'volume': 4.0} | asctime='2026-05-02 00:49:10'
2026-05-02 00:49:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 49, 10, 431567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17282, 'low': 1.17257, 'close': 1.17282, 'volume': 4.0} | asctime='2026-05-02 00:49:10'
2026-05-02 00:49:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 49, 10, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 00:49:10'
2026-05-02 00:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 49, 30, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 00:49:30'
2026-05-02 00:50:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 11, 279908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17139, 'low': 1.17122, 'close': 1.17139, 'volume': 2.0} | asctime='2026-05-02 00:50:11'
2026-05-02 00:50:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 11, 281406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17271, 'close': 1.17271, 'volume': 2.0} | asctime='2026-05-02 00:50:11'
2026-05-02 00:50:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 11, 282008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1716, 'high': 1.17167, 'low': 1.17047, 'close': 1.17139, 'volume': 30.0} | asctime='2026-05-02 00:50:11'
2026-05-02 00:50:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 11, 282706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1725, 'high': 1.17287, 'low': 1.1723, 'close': 1.17271, 'volume': 30.0} | asctime='2026-05-02 00:50:11'
2026-05-02 00:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 11, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 00:50:11'
2026-05-02 00:50:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 12, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 00:50:12'
2026-05-02 00:50:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 13, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:50:13'
2026-05-02 00:50:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 26, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 00:50:26'
2026-05-02 00:50:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 27, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 00:50:27'
2026-05-02 00:50:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 27, 767000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:50:27'
2026-05-02 00:50:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 36, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 00:50:36'
2026-05-02 00:50:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 50, 43, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 00:50:43'
2026-05-02 00:51:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 12, 979257, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17166, 'low': 1.17117, 'close': 1.17117, 'volume': 8.0} | asctime='2026-05-02 00:51:12'
2026-05-02 00:51:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 12, 980228, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17283, 'low': 1.17252, 'close': 1.17273, 'volume': 8.0} | asctime='2026-05-02 00:51:12'
2026-05-02 00:51:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 12, 947000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 00:51:12'
2026-05-02 00:51:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 16, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:51:16'
2026-05-02 00:51:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 18, 905000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:51:18'
2026-05-02 00:51:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 20, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 00:51:20'
2026-05-02 00:51:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 38, 392000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 00:51:38'
2026-05-02 00:51:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 39, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:51:39'
2026-05-02 00:51:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 40, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:51:40'
2026-05-02 00:51:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 44, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 00:51:44'
2026-05-02 00:51:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 51, 56, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:51:56'
2026-05-02 00:52:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 10, 78210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.1716, 'low': 1.17122, 'close': 1.17132, 'volume': 9.0} | asctime='2026-05-02 00:52:10'
2026-05-02 00:52:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 10, 78932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17281, 'low': 1.17242, 'close': 1.17264, 'volume': 9.0} | asctime='2026-05-02 00:52:10'
2026-05-02 00:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 10, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 00:52:10'
2026-05-02 00:52:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 15, 754000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 00:52:15'
2026-05-02 00:52:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 20, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:52:20'
2026-05-02 00:52:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 21, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 00:52:21'
2026-05-02 00:52:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 23, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 00:52:23'
2026-05-02 00:52:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 25, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 00:52:25'
2026-05-02 00:52:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 27, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 00:52:27'
2026-05-02 00:52:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 52, 36, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 00:52:36'
2026-05-02 00:53:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 21, 278462, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17155, 'low': 1.17121, 'close': 1.17142, 'volume': 8.0} | asctime='2026-05-02 00:53:21'
2026-05-02 00:53:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 21, 279693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17286, 'high': 1.17286, 'low': 1.17245, 'close': 1.17274, 'volume': 8.0} | asctime='2026-05-02 00:53:21'
2026-05-02 00:53:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 21, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 00:53:21'
2026-05-02 00:53:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 25, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 00:53:25'
2026-05-02 00:53:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 30, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 00:53:30'
2026-05-02 00:53:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 34, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 00:53:34'
2026-05-02 00:53:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 53, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 00:53:53'
2026-05-02 00:53:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 54, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 00:53:54'
2026-05-02 00:53:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 53, 58, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 00:53:58'
2026-05-02 00:54:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 54, 12, 677407, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17104, 'high': 1.17159, 'low': 1.17104, 'close': 1.17158, 'volume': 7.0} | asctime='2026-05-02 00:54:12'
2026-05-02 00:54:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 54, 12, 678834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17284, 'high': 1.17284, 'low': 1.17245, 'close': 1.17248, 'volume': 7.0} | asctime='2026-05-02 00:54:12'
2026-05-02 00:54:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 54, 12, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 00:54:12'
2026-05-02 00:54:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 54, 41, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:54:41'
2026-05-02 00:54:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 54, 43, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 00:54:43'
2026-05-02 00:54:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 54, 56, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 00:54:56'
2026-05-02 00:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 55, 28, 626403, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17132, 'low': 1.17111, 'close': 1.17112, 'volume': 4.0} | asctime='2026-05-02 00:55:28'
2026-05-02 00:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 55, 28, 627986, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17268, 'low': 1.17263, 'close': 1.17268, 'volume': 4.0} | asctime='2026-05-02 00:55:28'
2026-05-02 00:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 55, 28, 629252, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17166, 'low': 1.17104, 'close': 1.17112, 'volume': 36.0} | asctime='2026-05-02 00:55:28'
2026-05-02 00:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 55, 28, 630496, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17272, 'high': 1.17286, 'low': 1.17242, 'close': 1.17268, 'volume': 36.0} | asctime='2026-05-02 00:55:28'
2026-05-02 00:55:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 55, 28, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 00:55:28'
2026-05-02 00:55:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 55, 33, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:55:33'
2026-05-02 00:56:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 56, 1, 26034, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.1712, 'low': 1.17119, 'close': 1.1712, 'volume': 2.0} | asctime='2026-05-02 00:56:01'
2026-05-02 00:56:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 56, 1, 27567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17276, 'low': 1.17251, 'close': 1.17276, 'volume': 2.0} | asctime='2026-05-02 00:56:01'
2026-05-02 00:56:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 56, 1, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 00:56:01'
2026-05-02 00:56:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 56, 13, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 00:56:13'
2026-05-02 00:56:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 56, 30, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 00:56:30'
2026-05-02 00:57:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 57, 6, 825766, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17137, 'low': 1.17118, 'close': 1.17137, 'volume': 3.0} | asctime='2026-05-02 00:57:06'
2026-05-02 00:57:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 57, 6, 827377, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17275, 'low': 1.17269, 'close': 1.17269, 'volume': 3.0} | asctime='2026-05-02 00:57:06'
2026-05-02 00:57:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 57, 6, 817000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 00:57:06'
2026-05-02 00:57:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 57, 16, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 00:57:16'
2026-05-02 00:57:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 57, 26, 925000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 00:57:26'
2026-05-02 00:58:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 0, 825009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17116, 'high': 1.1713, 'low': 1.17109, 'close': 1.1713, 'volume': 3.0} | asctime='2026-05-02 00:58:00'
2026-05-02 00:58:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 0, 825963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17272, 'low': 1.17262, 'close': 1.17262, 'volume': 3.0} | asctime='2026-05-02 00:58:00'
2026-05-02 00:58:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 0, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 00:58:00'
2026-05-02 00:58:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 1, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 00:58:01'
2026-05-02 00:58:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 6, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 00:58:06'
2026-05-02 00:58:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 9, 747000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 00:58:09'
2026-05-02 00:58:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 31, 716000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 00:58:31'
2026-05-02 00:58:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 34, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 00:58:34'
2026-05-02 00:58:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 42, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 00:58:42'
2026-05-02 00:58:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 58, 46, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 00:58:46'
2026-05-02 00:59:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 43, 574159, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17104, 'high': 1.17154, 'low': 1.17104, 'close': 1.17139, 'volume': 8.0} | asctime='2026-05-02 00:59:43'
2026-05-02 00:59:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 43, 575260, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17276, 'low': 1.17244, 'close': 1.17271, 'volume': 8.0} | asctime='2026-05-02 00:59:43'
2026-05-02 00:59:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 43, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 00:59:43'
2026-05-02 00:59:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 44, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 00:59:44'
2026-05-02 00:59:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 45, 941000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 00:59:45'
2026-05-02 00:59:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 50, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 00:59:50'
2026-05-02 00:59:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 52, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 00:59:52'
2026-05-02 00:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 0, 59, 57, 982000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 00:59:57'
2026-05-02 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 0, 823929, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17103, 'close': 1.1711, 'volume': 6.0} | asctime='2026-05-02 01:00:00'
2026-05-02 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 0, 824918, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17314, 'low': 1.17244, 'close': 1.17314, 'volume': 6.0} | asctime='2026-05-02 01:00:00'
2026-05-02 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 0, 825571, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17119, 'high': 1.17154, 'low': 1.17103, 'close': 1.1711, 'volume': 22.0} | asctime='2026-05-02 01:00:00'
2026-05-02 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 0, 826184, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17251, 'high': 1.17314, 'low': 1.17244, 'close': 1.17314, 'volume': 22.0} | asctime='2026-05-02 01:00:00'
2026-05-02 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 0, 826754, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1716, 'high': 1.17167, 'low': 1.17047, 'close': 1.1711, 'volume': 88.0} | asctime='2026-05-02 01:00:00'
2026-05-02 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 0, 827281, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1725, 'high': 1.17314, 'low': 1.1723, 'close': 1.17314, 'volume': 88.0} | asctime='2026-05-02 01:00:00'
2026-05-02 01:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 0, 838000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 01:00:00'
2026-05-02 01:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 2, 450000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 01:00:02'
2026-05-02 01:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 10, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17301, 'bid_price': 1.17097, 'volume': 0.0} | asctime='2026-05-02 01:00:10'
2026-05-02 01:00:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 18, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 01:00:18'
2026-05-02 01:00:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 30, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 01:00:30'
2026-05-02 01:00:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 31, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 01:00:31'
2026-05-02 01:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 32, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 01:00:32'
2026-05-02 01:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 48, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 01:00:48'
2026-05-02 01:00:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 0, 52, 223000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 01:00:52'
2026-05-02 01:02:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 2, 40, 572528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17157, 'low': 1.17097, 'close': 1.17144, 'volume': 9.0} | asctime='2026-05-02 01:02:40'
2026-05-02 01:02:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 2, 40, 573854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17301, 'low': 1.17234, 'close': 1.17234, 'volume': 9.0} | asctime='2026-05-02 01:02:40'
2026-05-02 01:02:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 2, 40, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 01:02:40'
2026-05-02 01:03:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 3, 2, 572767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17148, 'close': 1.17148, 'volume': 1.0} | asctime='2026-05-02 01:03:02'
2026-05-02 01:03:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 3, 2, 573494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17238, 'low': 1.17238, 'close': 1.17238, 'volume': 1.0} | asctime='2026-05-02 01:03:02'
2026-05-02 01:03:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 3, 2, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 01:03:02'
2026-05-02 01:03:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 3, 26, 382000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 01:03:26'
2026-05-02 01:03:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 3, 26, 506000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 01:03:26'
2026-05-02 01:04:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 4, 22, 621037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17115, 'close': 1.17115, 'volume': 3.0} | asctime='2026-05-02 01:04:22'
2026-05-02 01:04:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 4, 22, 622577, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17271, 'low': 1.17243, 'close': 1.17271, 'volume': 3.0} | asctime='2026-05-02 01:04:22'
2026-05-02 01:04:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 4, 22, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 01:04:22'
2026-05-02 01:04:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 4, 34, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:04:34'
2026-05-02 01:04:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 4, 44, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 01:04:44'
2026-05-02 01:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 4, 57, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17175, 'volume': 0.0} | asctime='2026-05-02 01:04:57'
2026-05-02 01:06:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 6, 22, 520149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17175, 'low': 1.17122, 'close': 1.17175, 'volume': 4.0} | asctime='2026-05-02 01:06:22'
2026-05-02 01:06:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 6, 22, 521442, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17286, 'low': 1.17265, 'close': 1.17265, 'volume': 4.0} | asctime='2026-05-02 01:06:22'
2026-05-02 01:06:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 6, 22, 522839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17147, 'high': 1.17175, 'low': 1.17097, 'close': 1.17175, 'volume': 17.0} | asctime='2026-05-02 01:06:22'
2026-05-02 01:06:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 6, 22, 523423, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17237, 'high': 1.17301, 'low': 1.17234, 'close': 1.17265, 'volume': 17.0} | asctime='2026-05-02 01:06:22'
2026-05-02 01:06:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 6, 22, 509000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 01:06:22'
2026-05-02 01:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 6, 26, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 01:06:26'
2026-05-02 01:07:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 7, 14, 520369, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.17141, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 01:07:14'
2026-05-02 01:07:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 7, 14, 521114, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17273, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 01:07:14'
2026-05-02 01:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 7, 14, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 01:07:14'
2026-05-02 01:07:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 7, 40, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 01:07:40'
2026-05-02 01:07:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 7, 54, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 01:07:54'
2026-05-02 01:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 0, 919685, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1717, 'high': 1.1717, 'low': 1.17138, 'close': 1.17142, 'volume': 3.0} | asctime='2026-05-02 01:08:00'
2026-05-02 01:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 0, 920553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17274, 'low': 1.1726, 'close': 1.17274, 'volume': 3.0} | asctime='2026-05-02 01:08:00'
2026-05-02 01:08:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 0, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 01:08:00'
2026-05-02 01:08:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 2, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 01:08:02'
2026-05-02 01:08:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 2, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 01:08:02'
2026-05-02 01:08:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 2, 798000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 01:08:02'
2026-05-02 01:08:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 10, 742000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 01:08:10'
2026-05-02 01:08:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 11, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:08:11'
2026-05-02 01:08:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 12, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 01:08:12'
2026-05-02 01:08:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 22, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 01:08:22'
2026-05-02 01:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 38, 297000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 01:08:38'
2026-05-02 01:08:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 8, 58, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 01:08:58'
2026-05-02 01:09:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 9, 49, 68059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.1716, 'low': 1.17113, 'close': 1.1716, 'volume': 10.0} | asctime='2026-05-02 01:09:49'
2026-05-02 01:09:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 9, 49, 68861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17284, 'high': 1.17303, 'low': 1.17253, 'close': 1.17292, 'volume': 10.0} | asctime='2026-05-02 01:09:49'
2026-05-02 01:09:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 9, 49, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 01:09:49'
2026-05-02 01:09:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 9, 52, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 01:09:52'
2026-05-02 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 18, 568352, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.17138, 'close': 1.17138, 'volume': 2.0} | asctime='2026-05-02 01:10:18'
2026-05-02 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 18, 569388, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17302, 'high': 1.17302, 'low': 1.17294, 'close': 1.17294, 'volume': 2.0} | asctime='2026-05-02 01:10:18'
2026-05-02 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 18, 571318, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17146, 'high': 1.1717, 'low': 1.17113, 'close': 1.17138, 'volume': 17.0} | asctime='2026-05-02 01:10:18'
2026-05-02 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 18, 572080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17278, 'high': 1.17303, 'low': 1.17253, 'close': 1.17294, 'volume': 17.0} | asctime='2026-05-02 01:10:18'
2026-05-02 01:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 18, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:10:18'
2026-05-02 01:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 24, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 01:10:24'
2026-05-02 01:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 24, 419000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:10:24'
2026-05-02 01:10:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 28, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:10:28'
2026-05-02 01:10:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 28, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:10:28'
2026-05-02 01:10:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 29, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 01:10:29'
2026-05-02 01:10:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 39, 935000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 01:10:39'
2026-05-02 01:10:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 42, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:10:42'
2026-05-02 01:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 44, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 01:10:44'
2026-05-02 01:10:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 46, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 01:10:46'
2026-05-02 01:10:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 48, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:10:48'
2026-05-02 01:10:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 10, 58, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 01:10:58'
2026-05-02 01:11:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 11, 717100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17162, 'low': 1.17127, 'close': 1.17143, 'volume': 12.0} | asctime='2026-05-02 01:11:11'
2026-05-02 01:11:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 11, 721385, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17289, 'low': 1.17236, 'close': 1.17275, 'volume': 12.0} | asctime='2026-05-02 01:11:11'
2026-05-02 01:11:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 11, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 01:11:11'
2026-05-02 01:11:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 11, 832000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:11:11'
2026-05-02 01:11:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 12, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:11:12'
2026-05-02 01:11:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 19, 901000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 01:11:19'
2026-05-02 01:11:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 23, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 01:11:23'
2026-05-02 01:11:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 32, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 01:11:32'
2026-05-02 01:11:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 11, 58, 751000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 01:11:58'
2026-05-02 01:12:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 12, 8, 670839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17146, 'low': 1.17121, 'close': 1.17121, 'volume': 7.0} | asctime='2026-05-02 01:12:08'
2026-05-02 01:12:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 12, 8, 671744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17293, 'low': 1.17253, 'close': 1.17253, 'volume': 7.0} | asctime='2026-05-02 01:12:08'
2026-05-02 01:12:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 12, 8, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 01:12:08'
2026-05-02 01:12:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 12, 14, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 01:12:14'
2026-05-02 01:12:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 12, 28, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 01:12:28'
2026-05-02 01:12:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 12, 34, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 01:12:34'
2026-05-02 01:13:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 2, 67389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17108, 'close': 1.17111, 'volume': 4.0} | asctime='2026-05-02 01:13:02'
2026-05-02 01:13:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 2, 68425, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17267, 'low': 1.17231, 'close': 1.17267, 'volume': 4.0} | asctime='2026-05-02 01:13:02'
2026-05-02 01:13:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 2, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 01:13:02'
2026-05-02 01:13:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 4, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:13:04'
2026-05-02 01:13:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 4, 785000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17301, 'bid_price': 1.17097, 'volume': 0.0} | asctime='2026-05-02 01:13:04'
2026-05-02 01:13:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 20, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 01:13:20'
2026-05-02 01:13:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 28, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 01:13:28'
2026-05-02 01:13:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 47, 731000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:13:47'
2026-05-02 01:13:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 13, 48, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 01:13:48'
2026-05-02 01:14:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 34, 765017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17145, 'low': 1.17096, 'close': 1.17113, 'volume': 7.0} | asctime='2026-05-02 01:14:34'
2026-05-02 01:14:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 34, 766630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17301, 'low': 1.17258, 'close': 1.17269, 'volume': 7.0} | asctime='2026-05-02 01:14:34'
2026-05-02 01:14:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 34, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 01:14:34'
2026-05-02 01:14:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 50, 40000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 01:14:50'
2026-05-02 01:14:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 50, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 01:14:50'
2026-05-02 01:14:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 50, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17057, 'volume': 0.0} | asctime='2026-05-02 01:14:50'
2026-05-02 01:14:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 50, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 01:14:50'
2026-05-02 01:14:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 52, 399000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:14:52'
2026-05-02 01:14:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 53, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 01:14:53'
2026-05-02 01:14:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 54, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:14:54'
2026-05-02 01:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 14, 57, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:14:57'
2026-05-02 01:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 0, 614945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17164, 'low': 1.17057, 'close': 1.17136, 'volume': 9.0} | asctime='2026-05-02 01:15:00'
2026-05-02 01:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 0, 616668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17285, 'low': 1.17254, 'close': 1.17268, 'volume': 9.0} | asctime='2026-05-02 01:15:00'
2026-05-02 01:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 0, 617602, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17164, 'low': 1.17057, 'close': 1.17136, 'volume': 39.0} | asctime='2026-05-02 01:15:00'
2026-05-02 01:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 0, 618996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17283, 'high': 1.17301, 'low': 1.17231, 'close': 1.17268, 'volume': 39.0} | asctime='2026-05-02 01:15:00'
2026-05-02 01:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 0, 620003, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17147, 'high': 1.17175, 'low': 1.17057, 'close': 1.17136, 'volume': 73.0} | asctime='2026-05-02 01:15:00'
2026-05-02 01:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 0, 623555, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17237, 'high': 1.17303, 'low': 1.17231, 'close': 1.17268, 'volume': 73.0} | asctime='2026-05-02 01:15:00'
2026-05-02 01:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 0, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 01:15:00'
2026-05-02 01:15:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 1, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 01:15:01'
2026-05-02 01:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 2, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 01:15:02'
2026-05-02 01:15:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 3, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 01:15:03'
2026-05-02 01:15:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 7, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 01:15:07'
2026-05-02 01:15:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 16, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:15:16'
2026-05-02 01:15:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 16, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 01:15:16'
2026-05-02 01:15:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 18, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 01:15:18'
2026-05-02 01:15:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 24, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:15:24'
2026-05-02 01:15:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 30, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 01:15:30'
2026-05-02 01:15:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 39, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 01:15:39'
2026-05-02 01:15:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 15, 50, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 01:15:50'
2026-05-02 01:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 1, 14551, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17167, 'low': 1.171, 'close': 1.1716, 'volume': 12.0} | asctime='2026-05-02 01:16:01'
2026-05-02 01:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 1, 15831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17278, 'low': 1.17236, 'close': 1.1725, 'volume': 12.0} | asctime='2026-05-02 01:16:01'
2026-05-02 01:16:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 1, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 01:16:01'
2026-05-02 01:16:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 1, 285000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:16:01'
2026-05-02 01:16:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 25, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 01:16:25'
2026-05-02 01:16:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 26, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 01:16:26'
2026-05-02 01:16:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 31, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 01:16:31'
2026-05-02 01:16:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 16, 32, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 01:16:32'
2026-05-02 01:17:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 17, 34, 763645, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17103, 'close': 1.17111, 'volume': 6.0} | asctime='2026-05-02 01:17:34'
2026-05-02 01:17:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 17, 34, 764309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17267, 'low': 1.17234, 'close': 1.17267, 'volume': 6.0} | asctime='2026-05-02 01:17:34'
2026-05-02 01:17:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 17, 34, 748000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 01:17:34'
2026-05-02 01:17:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 17, 37, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:17:37'
2026-05-02 01:18:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 18, 1, 563234, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17136, 'low': 1.17129, 'close': 1.17136, 'volume': 2.0} | asctime='2026-05-02 01:18:01'
2026-05-02 01:18:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 18, 1, 564672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17285, 'high': 1.17285, 'low': 1.17268, 'close': 1.17268, 'volume': 2.0} | asctime='2026-05-02 01:18:01'
2026-05-02 01:18:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 18, 1, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 01:18:01'
2026-05-02 01:18:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 18, 26, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 01:18:26'
2026-05-02 01:18:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 18, 48, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 01:18:48'
2026-05-02 01:19:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 19, 27, 462328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17107, 'high': 1.17108, 'low': 1.17103, 'close': 1.17103, 'volume': 3.0} | asctime='2026-05-02 01:19:27'
2026-05-02 01:19:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 19, 27, 463452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17264, 'low': 1.17259, 'close': 1.17259, 'volume': 3.0} | asctime='2026-05-02 01:19:27'
2026-05-02 01:19:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 19, 27, 449000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 01:19:27'
2026-05-02 01:19:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 19, 36, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 01:19:36'
2026-05-02 01:20:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 19, 811694, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17104, 'high': 1.17128, 'low': 1.17104, 'close': 1.17128, 'volume': 2.0} | asctime='2026-05-02 01:20:19'
2026-05-02 01:20:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 19, 813248, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.1726, 'close': 1.1726, 'volume': 2.0} | asctime='2026-05-02 01:20:19'
2026-05-02 01:20:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 19, 814189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17167, 'low': 1.171, 'close': 1.17128, 'volume': 25.0} | asctime='2026-05-02 01:20:19'
2026-05-02 01:20:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 19, 815004, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17276, 'high': 1.17285, 'low': 1.17234, 'close': 1.1726, 'volume': 25.0} | asctime='2026-05-02 01:20:19'
2026-05-02 01:20:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 19, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 01:20:19'
2026-05-02 01:20:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 24, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:20:24'
2026-05-02 01:20:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 31, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 01:20:31'
2026-05-02 01:20:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 38, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 01:20:38'
2026-05-02 01:20:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 20, 58, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 01:20:58'
2026-05-02 01:22:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 22, 57, 960334, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17153, 'low': 1.1713, 'close': 1.17153, 'volume': 5.0} | asctime='2026-05-02 01:22:57'
2026-05-02 01:22:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 22, 57, 961137, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17266, 'low': 1.17241, 'close': 1.17243, 'volume': 5.0} | asctime='2026-05-02 01:22:57'
2026-05-02 01:22:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 22, 57, 958000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 01:22:57'
2026-05-02 01:22:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 22, 58, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 01:22:58'
2026-05-02 01:23:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 5, 260068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17134, 'close': 1.17134, 'volume': 2.0} | asctime='2026-05-02 01:23:05'
2026-05-02 01:23:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 5, 261702, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17266, 'low': 1.17241, 'close': 1.17266, 'volume': 2.0} | asctime='2026-05-02 01:23:05'
2026-05-02 01:23:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 5, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:23:05'
2026-05-02 01:23:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 22, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 01:23:22'
2026-05-02 01:23:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 24, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 01:23:24'
2026-05-02 01:23:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 27, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 01:23:27'
2026-05-02 01:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 27, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 01:23:28'
2026-05-02 01:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 28, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 01:23:28'
2026-05-02 01:23:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 34, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 01:23:34'
2026-05-02 01:23:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 23, 36, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 01:23:36'
2026-05-02 01:25:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 25, 9, 258564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17151, 'low': 1.17119, 'close': 1.17124, 'volume': 8.0} | asctime='2026-05-02 01:25:09'
2026-05-02 01:25:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 25, 9, 259548, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17287, 'low': 1.17241, 'close': 1.1728, 'volume': 8.0} | asctime='2026-05-02 01:25:09'
2026-05-02 01:25:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 25, 9, 260925, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17132, 'high': 1.17153, 'low': 1.17119, 'close': 1.17124, 'volume': 15.0} | asctime='2026-05-02 01:25:09'
2026-05-02 01:25:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 25, 9, 261984, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17264, 'high': 1.17287, 'low': 1.17241, 'close': 1.1728, 'volume': 15.0} | asctime='2026-05-02 01:25:09'
2026-05-02 01:25:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 25, 9, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 01:25:09'
2026-05-02 01:25:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 25, 18, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 01:25:18'
2026-05-02 01:25:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 25, 57, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 01:25:57'
2026-05-02 01:26:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 26, 2, 508179, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17148, 'low': 1.17128, 'close': 1.17146, 'volume': 3.0} | asctime='2026-05-02 01:26:02'
2026-05-02 01:26:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 26, 2, 509059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17284, 'high': 1.17284, 'low': 1.17236, 'close': 1.17236, 'volume': 3.0} | asctime='2026-05-02 01:26:02'
2026-05-02 01:26:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 26, 2, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 01:26:02'
2026-05-02 01:26:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 26, 58, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:26:58'
2026-05-02 01:27:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 27, 46, 757255, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17127, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 01:27:46'
2026-05-02 01:27:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 27, 46, 758227, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17259, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 01:27:46'
2026-05-02 01:27:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 27, 46, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 01:27:46'
2026-05-02 01:27:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 27, 55, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:27:55'
2026-05-02 01:28:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 28, 28, 7118, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17135, 'low': 1.17133, 'close': 1.17133, 'volume': 2.0} | asctime='2026-05-02 01:28:28'
2026-05-02 01:28:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 28, 28, 7828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17265, 'close': 1.17265, 'volume': 2.0} | asctime='2026-05-02 01:28:28'
2026-05-02 01:28:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 28, 27, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 01:28:28'
2026-05-02 01:28:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 28, 32, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 01:28:32'
2026-05-02 01:28:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 28, 38, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 01:28:38'
2026-05-02 01:28:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 28, 47, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 01:28:47'
2026-05-02 01:28:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 28, 48, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:28:48'
2026-05-02 01:29:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 29, 5, 106873, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17163, 'high': 1.17163, 'low': 1.17137, 'close': 1.17137, 'volume': 5.0} | asctime='2026-05-02 01:29:05'
2026-05-02 01:29:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 29, 5, 107875, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17269, 'low': 1.17238, 'close': 1.17269, 'volume': 5.0} | asctime='2026-05-02 01:29:05'
2026-05-02 01:29:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 29, 5, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 01:29:05'
2026-05-02 01:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 13, 255557, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17162, 'close': 1.17162, 'volume': 1.0} | asctime='2026-05-02 01:30:13'
2026-05-02 01:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 13, 256427, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17252, 'close': 1.17252, 'volume': 1.0} | asctime='2026-05-02 01:30:13'
2026-05-02 01:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 13, 257430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17128, 'high': 1.17163, 'low': 1.17127, 'close': 1.17162, 'volume': 13.0} | asctime='2026-05-02 01:30:13'
2026-05-02 01:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 13, 257872, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17284, 'high': 1.17284, 'low': 1.17236, 'close': 1.17252, 'volume': 13.0} | asctime='2026-05-02 01:30:13'
2026-05-02 01:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 13, 258272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1712, 'high': 1.17167, 'low': 1.171, 'close': 1.17162, 'volume': 53.0} | asctime='2026-05-02 01:30:13'
2026-05-02 01:30:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 13, 258721, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17276, 'high': 1.17287, 'low': 1.17234, 'close': 1.17252, 'volume': 53.0} | asctime='2026-05-02 01:30:13'
2026-05-02 01:30:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 13, 249000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 01:30:13'
2026-05-02 01:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 14, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:30:14'
2026-05-02 01:30:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 26, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 01:30:26'
2026-05-02 01:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 27, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:30:27'
2026-05-02 01:30:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 29, 385000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 01:30:29'
2026-05-02 01:30:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 30, 32, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 01:30:32'
2026-05-02 01:32:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 14, 105351, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.17121, 'close': 1.17143, 'volume': 6.0} | asctime='2026-05-02 01:32:14'
2026-05-02 01:32:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 14, 106256, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17288, 'low': 1.17275, 'close': 1.17275, 'volume': 6.0} | asctime='2026-05-02 01:32:14'
2026-05-02 01:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 14, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 01:32:14'
2026-05-02 01:32:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 15, 507000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 01:32:15'
2026-05-02 01:32:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 51, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:32:52'
2026-05-02 01:32:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 53, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 01:32:53'
2026-05-02 01:32:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 54, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 01:32:54'
2026-05-02 01:32:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 56, 217000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 01:32:56'
2026-05-02 01:32:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 56, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 01:32:56'
2026-05-02 01:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 32, 58, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 01:32:58'
2026-05-02 01:33:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 1, 416441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17157, 'low': 1.17119, 'close': 1.17138, 'volume': 8.0} | asctime='2026-05-02 01:33:01'
2026-05-02 01:33:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 1, 421344, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17283, 'low': 1.17244, 'close': 1.1727, 'volume': 8.0} | asctime='2026-05-02 01:33:01'
2026-05-02 01:33:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 1, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:33:01'
2026-05-02 01:33:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 8, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 01:33:08'
2026-05-02 01:33:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 8, 753000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 01:33:08'
2026-05-02 01:33:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 9, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 01:33:09'
2026-05-02 01:33:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 12, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 01:33:12'
2026-05-02 01:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 20, 298000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 01:33:20'
2026-05-02 01:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 20, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 01:33:20'
2026-05-02 01:33:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 21, 414000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 01:33:21'
2026-05-02 01:33:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 21, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17311, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 01:33:21'
2026-05-02 01:33:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 23, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 01:33:23'
2026-05-02 01:33:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 30, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 01:33:30'
2026-05-02 01:33:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 33, 59, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 01:33:59'
2026-05-02 01:34:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 34, 26, 553659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17154, 'low': 1.17107, 'close': 1.17154, 'volume': 12.0} | asctime='2026-05-02 01:34:26'
2026-05-02 01:34:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 34, 26, 555337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17311, 'low': 1.17244, 'close': 1.17244, 'volume': 12.0} | asctime='2026-05-02 01:34:26'
2026-05-02 01:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 34, 26, 576000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 01:34:26'
2026-05-02 01:35:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 5, 552763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17123, 'low': 1.17123, 'close': 1.17123, 'volume': 1.0} | asctime='2026-05-02 01:35:05'
2026-05-02 01:35:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 5, 553546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17255, 'close': 1.17255, 'volume': 1.0} | asctime='2026-05-02 01:35:05'
2026-05-02 01:35:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 5, 554102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17146, 'high': 1.17157, 'low': 1.17107, 'close': 1.17123, 'volume': 27.0} | asctime='2026-05-02 01:35:05'
2026-05-02 01:35:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 5, 554511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17278, 'high': 1.17311, 'low': 1.17244, 'close': 1.17255, 'volume': 27.0} | asctime='2026-05-02 01:35:05'
2026-05-02 01:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 5, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 01:35:05'
2026-05-02 01:35:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 12, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 01:35:13'
2026-05-02 01:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 15, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 01:35:15'
2026-05-02 01:35:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 16, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 01:35:16'
2026-05-02 01:35:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 19, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 01:35:19'
2026-05-02 01:35:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 30, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 01:35:30'
2026-05-02 01:35:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 32, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 01:35:32'
2026-05-02 01:35:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 47, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 01:35:47'
2026-05-02 01:35:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 35, 56, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:35:56'
2026-05-02 01:36:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 6, 5153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.171, 'high': 1.17142, 'low': 1.171, 'close': 1.17136, 'volume': 9.0} | asctime='2026-05-02 01:36:06'
2026-05-02 01:36:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 6, 6652, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17273, 'low': 1.17232, 'close': 1.17268, 'volume': 9.0} | asctime='2026-05-02 01:36:06'
2026-05-02 01:36:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 5, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 01:36:06'
2026-05-02 01:36:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 6, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 01:36:06'
2026-05-02 01:36:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 7, 861000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 01:36:07'
2026-05-02 01:36:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 12, 826000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:36:12'
2026-05-02 01:36:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 13, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 01:36:13'
2026-05-02 01:36:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 13, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 01:36:13'
2026-05-02 01:36:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 17, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 01:36:17'
2026-05-02 01:36:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 42, 863000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 01:36:42'
2026-05-02 01:36:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 36, 42, 987000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 01:36:42'
2026-05-02 01:37:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 37, 57, 951471, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17162, 'low': 1.17122, 'close': 1.17124, 'volume': 9.0} | asctime='2026-05-02 01:37:57'
2026-05-02 01:37:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 37, 57, 952387, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1729, 'low': 1.1724, 'close': 1.1728, 'volume': 9.0} | asctime='2026-05-02 01:37:57'
2026-05-02 01:37:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 37, 57, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 01:37:57'
2026-05-02 01:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 38, 0, 801930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17143, 'low': 1.17143, 'close': 1.17143, 'volume': 1.0} | asctime='2026-05-02 01:38:00'
2026-05-02 01:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 38, 0, 803608, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17275, 'close': 1.17275, 'volume': 1.0} | asctime='2026-05-02 01:38:00'
2026-05-02 01:38:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 38, 0, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 01:38:00'
2026-05-02 01:38:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 38, 53, 316000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 01:38:53'
2026-05-02 01:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 38, 54, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 01:38:54'
2026-05-02 01:38:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 38, 58, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 01:38:58'
2026-05-02 01:39:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 3, 600957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17134, 'low': 1.17112, 'close': 1.17112, 'volume': 4.0} | asctime='2026-05-02 01:39:03'
2026-05-02 01:39:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 3, 601961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17271, 'low': 1.17266, 'close': 1.17268, 'volume': 4.0} | asctime='2026-05-02 01:39:03'
2026-05-02 01:39:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 3, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 01:39:03'
2026-05-02 01:39:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 5, 354000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 01:39:05'
2026-05-02 01:39:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 13, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 01:39:13'
2026-05-02 01:39:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 27, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:39:27'
2026-05-02 01:39:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 36, 14000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:39:36'
2026-05-02 01:39:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 39, 44, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 01:39:44'
2026-05-02 01:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 8, 2908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17154, 'low': 1.17136, 'close': 1.17151, 'volume': 6.0} | asctime='2026-05-02 01:40:08'
2026-05-02 01:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 8, 4484, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17235, 'high': 1.17271, 'low': 1.17235, 'close': 1.17241, 'volume': 6.0} | asctime='2026-05-02 01:40:08'
2026-05-02 01:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 8, 11529, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.171, 'high': 1.17162, 'low': 1.171, 'close': 1.17151, 'volume': 29.0} | asctime='2026-05-02 01:40:08'
2026-05-02 01:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 8, 12510, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17256, 'high': 1.1729, 'low': 1.17232, 'close': 1.17241, 'volume': 29.0} | asctime='2026-05-02 01:40:08'
2026-05-02 01:40:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 8, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 01:40:08'
2026-05-02 01:40:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 9, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 01:40:09'
2026-05-02 01:40:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 9, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 01:40:09'
2026-05-02 01:40:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 40, 38, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 01:40:38'
2026-05-02 01:41:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 41, 8, 850074, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17108, 'close': 1.17111, 'volume': 4.0} | asctime='2026-05-02 01:41:08'
2026-05-02 01:41:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 41, 8, 851026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17264, 'low': 1.17243, 'close': 1.17243, 'volume': 4.0} | asctime='2026-05-02 01:41:08'
2026-05-02 01:41:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 41, 8, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 01:41:08'
2026-05-02 01:41:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 41, 10, 344000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 01:41:10'
2026-05-02 01:41:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 41, 13, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 01:41:13'
2026-05-02 01:41:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 41, 14, 813000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:41:14'
2026-05-02 01:41:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 41, 17, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:41:17'
2026-05-02 01:43:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 3, 148164, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.17113, 'close': 1.1713, 'volume': 5.0} | asctime='2026-05-02 01:43:03'
2026-05-02 01:43:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 3, 148995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17272, 'low': 1.17236, 'close': 1.17262, 'volume': 5.0} | asctime='2026-05-02 01:43:03'
2026-05-02 01:43:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 3, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 01:43:03'
2026-05-02 01:43:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 7, 761000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:43:07'
2026-05-02 01:43:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 16, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:43:16'
2026-05-02 01:43:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 27, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:43:26'
2026-05-02 01:43:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 33, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:43:33'
2026-05-02 01:43:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 40, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 01:43:40'
2026-05-02 01:43:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 43, 42, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 01:43:42'
2026-05-02 01:44:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 44, 50, 497163, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17154, 'low': 1.17126, 'close': 1.17152, 'volume': 7.0} | asctime='2026-05-02 01:44:50'
2026-05-02 01:44:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 44, 50, 502020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.17282, 'low': 1.17242, 'close': 1.17242, 'volume': 7.0} | asctime='2026-05-02 01:44:50'
2026-05-02 01:44:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 44, 50, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 01:44:50'
2026-05-02 01:44:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 44, 52, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 01:44:52'
2026-05-02 01:44:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 44, 57, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 01:44:57'
2026-05-02 01:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 547446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17144, 'low': 1.17119, 'close': 1.17119, 'volume': 3.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 548454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1728, 'high': 1.1728, 'low': 1.17275, 'close': 1.17275, 'volume': 3.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 549581, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17154, 'low': 1.17108, 'close': 1.17119, 'volume': 19.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 550044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17257, 'high': 1.17282, 'low': 1.17236, 'close': 1.17275, 'volume': 19.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 550443, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17146, 'high': 1.17162, 'low': 1.171, 'close': 1.17119, 'volume': 75.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 550828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17278, 'high': 1.17311, 'low': 1.17232, 'close': 1.17275, 'volume': 75.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 0, 835000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 01:45:00'
2026-05-02 01:45:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 1, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 01:45:01'
2026-05-02 01:45:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 4, 932000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 01:45:04'
2026-05-02 01:45:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 5, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 01:45:05'
2026-05-02 01:45:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 5, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 01:45:05'
2026-05-02 01:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 6, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 01:45:06'
2026-05-02 01:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 6, 793000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 01:45:06'
2026-05-02 01:45:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 10, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 01:45:10'
2026-05-02 01:45:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 11, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 01:45:11'
2026-05-02 01:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 13, 744000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 01:45:13'
2026-05-02 01:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 13, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 01:45:13'
2026-05-02 01:45:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 15, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 01:45:15'
2026-05-02 01:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 16, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 01:45:16'
2026-05-02 01:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 16, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 01:45:16'
2026-05-02 01:45:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 45, 34, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:45:34'
2026-05-02 01:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 46, 16, 896362, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17157, 'low': 1.17105, 'close': 1.17137, 'volume': 16.0} | asctime='2026-05-02 01:46:16'
2026-05-02 01:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 46, 16, 897851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17273, 'low': 1.17246, 'close': 1.17269, 'volume': 16.0} | asctime='2026-05-02 01:46:16'
2026-05-02 01:46:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 46, 16, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 01:46:16'
2026-05-02 01:46:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 46, 26, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 01:46:26'
2026-05-02 01:47:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 47, 26, 645903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17134, 'close': 1.17134, 'volume': 2.0} | asctime='2026-05-02 01:47:26'
2026-05-02 01:47:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 47, 26, 647756, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17266, 'close': 1.17266, 'volume': 2.0} | asctime='2026-05-02 01:47:26'
2026-05-02 01:47:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 47, 26, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 01:47:26'
2026-05-02 01:47:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 47, 41, 446000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 01:47:41'
2026-05-02 01:47:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 47, 46, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 01:47:45'
2026-05-02 01:48:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 48, 25, 745341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17153, 'low': 1.1715, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 01:48:25'
2026-05-02 01:48:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 48, 25, 746980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17243, 'low': 1.1724, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 01:48:25'
2026-05-02 01:48:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 48, 25, 757000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 01:48:25'
2026-05-02 01:48:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 48, 46, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 01:48:46'
2026-05-02 01:50:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 6, 494247, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17158, 'low': 1.17154, 'close': 1.17158, 'volume': 2.0} | asctime='2026-05-02 01:50:06'
2026-05-02 01:50:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 6, 494980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17248, 'low': 1.17244, 'close': 1.17248, 'volume': 2.0} | asctime='2026-05-02 01:50:06'
2026-05-02 01:50:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 6, 496511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17158, 'low': 1.17105, 'close': 1.17158, 'volume': 23.0} | asctime='2026-05-02 01:50:06'
2026-05-02 01:50:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 6, 497585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17257, 'high': 1.17273, 'low': 1.1724, 'close': 1.17248, 'volume': 23.0} | asctime='2026-05-02 01:50:06'
2026-05-02 01:50:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 6, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 01:50:06'
2026-05-02 01:50:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 10, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 01:50:10'
2026-05-02 01:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 11, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 01:50:11'
2026-05-02 01:50:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 16, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 01:50:16'
2026-05-02 01:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 19, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 01:50:19'
2026-05-02 01:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 50, 21, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 01:50:21'
2026-05-02 01:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 51, 14, 644229, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17161, 'high': 1.17161, 'low': 1.17132, 'close': 1.17159, 'volume': 6.0} | asctime='2026-05-02 01:51:14'
2026-05-02 01:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 51, 14, 645103, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17264, 'low': 1.17238, 'close': 1.17249, 'volume': 6.0} | asctime='2026-05-02 01:51:14'
2026-05-02 01:51:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 51, 14, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 01:51:14'
2026-05-02 01:52:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 52, 35, 193101, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17165, 'high': 1.17165, 'low': 1.17165, 'close': 1.17165, 'volume': 1.0} | asctime='2026-05-02 01:52:35'
2026-05-02 01:52:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 52, 35, 194115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17255, 'close': 1.17255, 'volume': 1.0} | asctime='2026-05-02 01:52:35'
2026-05-02 01:52:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 52, 35, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 01:52:35'
2026-05-02 01:52:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 52, 35, 736000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 01:52:35'
2026-05-02 01:52:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 52, 46, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 01:52:45'
2026-05-02 01:52:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 52, 52, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:52:52'
2026-05-02 01:53:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 53, 31, 791911, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17153, 'low': 1.17126, 'close': 1.17126, 'volume': 4.0} | asctime='2026-05-02 01:53:31'
2026-05-02 01:53:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 53, 31, 792787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17241, 'close': 1.17258, 'volume': 4.0} | asctime='2026-05-02 01:53:31'
2026-05-02 01:53:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 53, 31, 839000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:53:31'
2026-05-02 01:54:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 54, 42, 541820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 01:54:42'
2026-05-02 01:54:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 54, 42, 542438, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 01:54:42'
2026-05-02 01:54:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 54, 42, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 01:54:42'
2026-05-02 01:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 54, 55, 496000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:54:55'
2026-05-02 01:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 54, 57, 978000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 01:54:57'
2026-05-02 01:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 1, 942021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17102, 'close': 1.17102, 'volume': 3.0} | asctime='2026-05-02 01:55:01'
2026-05-02 01:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 1, 942816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17262, 'low': 1.17231, 'close': 1.17258, 'volume': 3.0} | asctime='2026-05-02 01:55:01'
2026-05-02 01:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 1, 944085, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17161, 'high': 1.17165, 'low': 1.17102, 'close': 1.17102, 'volume': 15.0} | asctime='2026-05-02 01:55:01'
2026-05-02 01:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 1, 945096, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17251, 'high': 1.17269, 'low': 1.17231, 'close': 1.17258, 'volume': 15.0} | asctime='2026-05-02 01:55:01'
2026-05-02 01:55:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 1, 950000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 01:55:01'
2026-05-02 01:55:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 13, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 01:55:13'
2026-05-02 01:55:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 14, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 01:55:14'
2026-05-02 01:55:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 55, 14, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 01:55:14'
2026-05-02 01:56:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 56, 36, 490448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17115, 'low': 1.17101, 'close': 1.17103, 'volume': 4.0} | asctime='2026-05-02 01:56:36'
2026-05-02 01:56:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 56, 36, 491856, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17247, 'close': 1.17259, 'volume': 4.0} | asctime='2026-05-02 01:56:36'
2026-05-02 01:56:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 56, 36, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 01:56:36'
2026-05-02 01:56:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 56, 37, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 01:56:37'
2026-05-02 01:56:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 56, 38, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 01:56:38'
2026-05-02 01:56:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 56, 46, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 01:56:46'
2026-05-02 01:56:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 56, 58, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 01:56:57'
2026-05-02 01:57:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 57, 44, 389239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.1713, 'low': 1.17107, 'close': 1.17112, 'volume': 5.0} | asctime='2026-05-02 01:57:44'
2026-05-02 01:57:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 57, 44, 390326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17272, 'low': 1.17244, 'close': 1.17244, 'volume': 5.0} | asctime='2026-05-02 01:57:44'
2026-05-02 01:57:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 57, 44, 423000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 01:57:44'
2026-05-02 01:57:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 57, 47, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 01:57:46'
2026-05-02 01:59:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 59, 8, 39597, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17127, 'low': 1.17126, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 01:59:08'
2026-05-02 01:59:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 59, 8, 40422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17259, 'low': 1.17258, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 01:59:08'
2026-05-02 01:59:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 59, 8, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 01:59:08'
2026-05-02 01:59:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 59, 44, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 01:59:44'
2026-05-02 01:59:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 59, 46, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 01:59:46'
2026-05-02 01:59:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 59, 50, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 01:59:50'
2026-05-02 01:59:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 1, 59, 55, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 01:59:55'
2026-05-02 02:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 0, 688702, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17099, 'close': 1.17128, 'volume': 5.0} | asctime='2026-05-02 02:00:00'
2026-05-02 02:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 0, 690249, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17303, 'low': 1.17231, 'close': 1.1726, 'volume': 5.0} | asctime='2026-05-02 02:00:00'
2026-05-02 02:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 0, 691230, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17111, 'high': 1.17141, 'low': 1.17099, 'close': 1.17128, 'volume': 16.0} | asctime='2026-05-02 02:00:00'
2026-05-02 02:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 0, 692309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17267, 'high': 1.17303, 'low': 1.17231, 'close': 1.1726, 'volume': 16.0} | asctime='2026-05-02 02:00:00'
2026-05-02 02:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 0, 693280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17125, 'high': 1.17165, 'low': 1.17099, 'close': 1.17128, 'volume': 54.0} | asctime='2026-05-02 02:00:00'
2026-05-02 02:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 0, 694336, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17257, 'high': 1.17303, 'low': 1.17231, 'close': 1.1726, 'volume': 54.0} | asctime='2026-05-02 02:00:00'
2026-05-02 02:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 0, 706000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 02:00:00'
2026-05-02 02:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 2, 196000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 02:00:02'
2026-05-02 02:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 2, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:00:02'
2026-05-02 02:00:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 8, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 02:00:08'
2026-05-02 02:00:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 18, 580000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:00:18'
2026-05-02 02:00:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 0, 26, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 02:00:26'
2026-05-02 02:02:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 27, 987098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17144, 'low': 1.17112, 'close': 1.17139, 'volume': 6.0} | asctime='2026-05-02 02:02:27'
2026-05-02 02:02:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 27, 987994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17234, 'high': 1.17271, 'low': 1.17234, 'close': 1.17271, 'volume': 6.0} | asctime='2026-05-02 02:02:27'
2026-05-02 02:02:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 28, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 02:02:27'
2026-05-02 02:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 30, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17297, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:02:30'
2026-05-02 02:02:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 33, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 02:02:33'
2026-05-02 02:02:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 35, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:02:35'
2026-05-02 02:02:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 36, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 02:02:36'
2026-05-02 02:02:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 46, 531000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 02:02:46'
2026-05-02 02:02:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 2, 52, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:02:52'
2026-05-02 02:03:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 3, 5, 486372, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17117, 'close': 1.17121, 'volume': 7.0} | asctime='2026-05-02 02:03:05'
2026-05-02 02:03:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 3, 5, 487361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17298, 'low': 1.17273, 'close': 1.17277, 'volume': 7.0} | asctime='2026-05-02 02:03:05'
2026-05-02 02:03:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 3, 5, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:03:05'
2026-05-02 02:03:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 3, 7, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 02:03:07'
2026-05-02 02:03:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 3, 12, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 02:03:12'
2026-05-02 02:03:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 3, 28, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:03:28'
2026-05-02 02:04:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 4, 32, 735982, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17142, 'low': 1.17117, 'close': 1.17121, 'volume': 4.0} | asctime='2026-05-02 02:04:32'
2026-05-02 02:04:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 4, 32, 737162, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17276, 'low': 1.17253, 'close': 1.17253, 'volume': 4.0} | asctime='2026-05-02 02:04:32'
2026-05-02 02:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 4, 32, 778000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:04:32'
2026-05-02 02:04:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 4, 39, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 02:04:39'
2026-05-02 02:04:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 4, 48, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:04:48'
2026-05-02 02:04:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 4, 54, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:04:53'
2026-05-02 02:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 5, 55, 885020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17125, 'low': 1.17113, 'close': 1.17125, 'volume': 4.0} | asctime='2026-05-02 02:05:55'
2026-05-02 02:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 5, 55, 886310, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17277, 'low': 1.17257, 'close': 1.17257, 'volume': 4.0} | asctime='2026-05-02 02:05:55'
2026-05-02 02:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 5, 55, 887084, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17144, 'high': 1.17144, 'low': 1.17112, 'close': 1.17125, 'volume': 21.0} | asctime='2026-05-02 02:05:55'
2026-05-02 02:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 5, 55, 887805, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17234, 'high': 1.17298, 'low': 1.17234, 'close': 1.17257, 'volume': 21.0} | asctime='2026-05-02 02:05:55'
2026-05-02 02:05:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 5, 55, 938000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:05:55'
2026-05-02 02:07:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 7, 3, 434534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.1713, 'low': 1.1713, 'close': 1.1713, 'volume': 1.0} | asctime='2026-05-02 02:07:03'
2026-05-02 02:07:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 7, 3, 435206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17286, 'high': 1.17286, 'low': 1.17286, 'close': 1.17286, 'volume': 1.0} | asctime='2026-05-02 02:07:03'
2026-05-02 02:07:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 7, 3, 460000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 02:07:03'
2026-05-02 02:07:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 7, 20, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 02:07:20'
2026-05-02 02:08:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 8, 25, 82854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17153, 'low': 1.17142, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 02:08:25'
2026-05-02 02:08:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 8, 25, 83478, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 02:08:25'
2026-05-02 02:08:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 8, 25, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 02:08:25'
2026-05-02 02:08:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 8, 34, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:08:34'
2026-05-02 02:09:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 33, 982659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17127, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 02:09:33'
2026-05-02 02:09:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 33, 983510, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17259, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 02:09:33'
2026-05-02 02:09:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 34, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 02:09:33'
2026-05-02 02:09:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 42, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:09:42'
2026-05-02 02:09:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 43, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 02:09:43'
2026-05-02 02:09:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 43, 824000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:09:43'
2026-05-02 02:09:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 44, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 02:09:44'
2026-05-02 02:09:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 44, 442000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 02:09:44'
2026-05-02 02:09:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 44, 814000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:09:44'
2026-05-02 02:09:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 45, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 02:09:45'
2026-05-02 02:09:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 9, 45, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 02:09:45'
2026-05-02 02:10:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 11, 232725, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17112, 'close': 1.17123, 'volume': 9.0} | asctime='2026-05-02 02:10:11'
2026-05-02 02:10:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 11, 233429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17268, 'low': 1.1723, 'close': 1.17255, 'volume': 9.0} | asctime='2026-05-02 02:10:11'
2026-05-02 02:10:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 11, 233876, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1713, 'high': 1.17153, 'low': 1.17112, 'close': 1.17123, 'volume': 14.0} | asctime='2026-05-02 02:10:11'
2026-05-02 02:10:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 11, 234308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17286, 'high': 1.17286, 'low': 1.1723, 'close': 1.17255, 'volume': 14.0} | asctime='2026-05-02 02:10:11'
2026-05-02 02:10:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 11, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17312, 'bid_price': 1.17084, 'volume': 0.0} | asctime='2026-05-02 02:10:11'
2026-05-02 02:10:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 20, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17315, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 02:10:20'
2026-05-02 02:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 34, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 02:10:34'
2026-05-02 02:10:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 10, 41, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 02:10:41'
2026-05-02 02:12:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 12, 6, 180899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17084, 'high': 1.17167, 'low': 1.17084, 'close': 1.17167, 'volume': 4.0} | asctime='2026-05-02 02:12:06'
2026-05-02 02:12:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 12, 6, 182643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17312, 'high': 1.17315, 'low': 1.17257, 'close': 1.17257, 'volume': 4.0} | asctime='2026-05-02 02:12:06'
2026-05-02 02:12:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 12, 6, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 02:12:06'
2026-05-02 02:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 12, 13, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 02:12:12'
2026-05-02 02:12:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 12, 16, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 02:12:16'
2026-05-02 02:12:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 12, 50, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 02:12:50'
2026-05-02 02:13:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 38, 629952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17163, 'low': 1.17134, 'close': 1.17163, 'volume': 4.0} | asctime='2026-05-02 02:13:38'
2026-05-02 02:13:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 38, 630556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.17253, 'close': 1.17253, 'volume': 4.0} | asctime='2026-05-02 02:13:38'
2026-05-02 02:13:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 38, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 02:13:38'
2026-05-02 02:13:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 39, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 02:13:39'
2026-05-02 02:13:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 48, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 02:13:48'
2026-05-02 02:13:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 49, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 02:13:49'
2026-05-02 02:13:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 49, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:13:49'
2026-05-02 02:13:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 13, 58, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:13:57'
2026-05-02 02:14:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 6, 929993, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17121, 'close': 1.17121, 'volume': 6.0} | asctime='2026-05-02 02:14:06'
2026-05-02 02:14:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 6, 931005, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17285, 'low': 1.17253, 'close': 1.17253, 'volume': 6.0} | asctime='2026-05-02 02:14:06'
2026-05-02 02:14:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 6, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 02:14:06'
2026-05-02 02:14:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 13, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:14:13'
2026-05-02 02:14:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 22, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 02:14:22'
2026-05-02 02:14:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 37, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 02:14:37'
2026-05-02 02:14:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 38, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 02:14:38'
2026-05-02 02:14:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 49, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 02:14:49'
2026-05-02 02:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 14, 57, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 02:14:57'
2026-05-02 02:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 14, 778732, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17151, 'low': 1.17112, 'close': 1.17147, 'volume': 7.0} | asctime='2026-05-02 02:16:14'
2026-05-02 02:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 14, 779788, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17268, 'low': 1.17235, 'close': 1.17237, 'volume': 7.0} | asctime='2026-05-02 02:16:14'
2026-05-02 02:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 14, 780939, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17084, 'high': 1.17167, 'low': 1.17084, 'close': 1.17147, 'volume': 21.0} | asctime='2026-05-02 02:16:14'
2026-05-02 02:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 14, 781418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17312, 'high': 1.17315, 'low': 1.17235, 'close': 1.17237, 'volume': 21.0} | asctime='2026-05-02 02:16:14'
2026-05-02 02:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 14, 781862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17144, 'high': 1.17167, 'low': 1.17084, 'close': 1.17147, 'volume': 56.0} | asctime='2026-05-02 02:16:14'
2026-05-02 02:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 14, 782326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17234, 'high': 1.17315, 'low': 1.1723, 'close': 1.17237, 'volume': 56.0} | asctime='2026-05-02 02:16:14'
2026-05-02 02:16:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 14, 799000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:16:14'
2026-05-02 02:16:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 15, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 02:16:15'
2026-05-02 02:16:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 24, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:16:24'
2026-05-02 02:16:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 52, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 02:16:51'
2026-05-02 02:16:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 16, 56, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 02:16:56'
2026-05-02 02:17:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 17, 7, 278523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17159, 'low': 1.17128, 'close': 1.17159, 'volume': 5.0} | asctime='2026-05-02 02:17:07'
2026-05-02 02:17:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 17, 7, 279499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17264, 'low': 1.17249, 'close': 1.17249, 'volume': 5.0} | asctime='2026-05-02 02:17:07'
2026-05-02 02:17:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 17, 7, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 02:17:07'
2026-05-02 02:17:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 17, 9, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 02:17:09'
2026-05-02 02:17:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 17, 31, 753000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 02:17:31'
2026-05-02 02:17:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 17, 54, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 02:17:54'
2026-05-02 02:18:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 18, 50, 677553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17153, 'close': 1.17157, 'volume': 4.0} | asctime='2026-05-02 02:18:50'
2026-05-02 02:18:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 18, 50, 678251, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17248, 'low': 1.17243, 'close': 1.17247, 'volume': 4.0} | asctime='2026-05-02 02:18:50'
2026-05-02 02:18:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 18, 50, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 02:18:50'
2026-05-02 02:19:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 19, 9, 878108, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17159, 'close': 1.17159, 'volume': 1.0} | asctime='2026-05-02 02:19:09'
2026-05-02 02:19:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 19, 9, 878879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 02:19:09'
2026-05-02 02:19:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 19, 9, 933000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 02:19:09'
2026-05-02 02:19:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 19, 10, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 02:19:10'
2026-05-02 02:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 19, 18, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:19:18'
2026-05-02 02:19:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 19, 42, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 02:19:42'
2026-05-02 02:20:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 14, 676307, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.1714, 'low': 1.17125, 'close': 1.17134, 'volume': 4.0} | asctime='2026-05-02 02:20:14'
2026-05-02 02:20:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 14, 676932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17282, 'low': 1.17257, 'close': 1.17266, 'volume': 4.0} | asctime='2026-05-02 02:20:14'
2026-05-02 02:20:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 14, 678190, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1713, 'high': 1.17159, 'low': 1.17125, 'close': 1.17134, 'volume': 14.0} | asctime='2026-05-02 02:20:14'
2026-05-02 02:20:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 14, 679063, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17262, 'high': 1.17282, 'low': 1.17243, 'close': 1.17266, 'volume': 14.0} | asctime='2026-05-02 02:20:14'
2026-05-02 02:20:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 14, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 02:20:14'
2026-05-02 02:20:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 22, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:20:22'
2026-05-02 02:20:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 24, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 02:20:24'
2026-05-02 02:20:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 48, 485000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 02:20:48'
2026-05-02 02:20:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 20, 56, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 02:20:56'
2026-05-02 02:22:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 22, 52, 174682, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17164, 'low': 1.1712, 'close': 1.17164, 'volume': 5.0} | asctime='2026-05-02 02:22:52'
2026-05-02 02:22:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 22, 52, 175805, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17277, 'low': 1.17248, 'close': 1.17254, 'volume': 5.0} | asctime='2026-05-02 02:22:52'
2026-05-02 02:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 22, 52, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 02:22:52'
2026-05-02 02:22:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 22, 54, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 02:22:54'
2026-05-02 02:23:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 23, 1, 625189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17129, 'close': 1.17129, 'volume': 2.0} | asctime='2026-05-02 02:23:01'
2026-05-02 02:23:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 23, 1, 626412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17261, 'low': 1.17246, 'close': 1.17261, 'volume': 2.0} | asctime='2026-05-02 02:23:01'
2026-05-02 02:23:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 23, 1, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:23:01'
2026-05-02 02:23:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 23, 23, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 02:23:22'
2026-05-02 02:23:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 23, 32, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 02:23:32'
2026-05-02 02:23:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 23, 58, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 02:23:57'
2026-05-02 02:24:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 24, 12, 374758, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17136, 'low': 1.17122, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 02:24:12'
2026-05-02 02:24:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 24, 12, 375742, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17226, 'close': 1.17226, 'volume': 4.0} | asctime='2026-05-02 02:24:12'
2026-05-02 02:24:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 24, 12, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:24:12'
2026-05-02 02:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 24, 56, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 02:24:56'
2026-05-02 02:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 8, 623037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17122, 'low': 1.17121, 'close': 1.17122, 'volume': 2.0} | asctime='2026-05-02 02:25:08'
2026-05-02 02:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 8, 624059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17254, 'low': 1.17253, 'close': 1.17254, 'volume': 2.0} | asctime='2026-05-02 02:25:08'
2026-05-02 02:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 8, 625638, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17164, 'low': 1.1712, 'close': 1.17122, 'volume': 13.0} | asctime='2026-05-02 02:25:08'
2026-05-02 02:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 8, 626440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17276, 'high': 1.17277, 'low': 1.17226, 'close': 1.17254, 'volume': 13.0} | asctime='2026-05-02 02:25:08'
2026-05-02 02:25:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 8, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:25:08'
2026-05-02 02:25:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 19, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:25:19'
2026-05-02 02:25:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 24, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 02:25:24'
2026-05-02 02:25:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 25, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:25:25'
2026-05-02 02:25:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 25, 52, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 02:25:52'
2026-05-02 02:26:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 14, 923017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17121, 'close': 1.17123, 'volume': 5.0} | asctime='2026-05-02 02:26:14'
2026-05-02 02:26:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 14, 923834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17227, 'high': 1.17257, 'low': 1.17227, 'close': 1.17255, 'volume': 5.0} | asctime='2026-05-02 02:26:14'
2026-05-02 02:26:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 14, 966000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 02:26:14'
2026-05-02 02:26:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 17, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 02:26:17'
2026-05-02 02:26:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 22, 414000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 02:26:22'
2026-05-02 02:26:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 23, 779000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 02:26:23'
2026-05-02 02:26:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 32, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17093, 'volume': 0.0} | asctime='2026-05-02 02:26:32'
2026-05-02 02:26:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 36, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17378, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 02:26:36'
2026-05-02 02:26:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 39, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:26:39'
2026-05-02 02:26:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 42, 401000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:26:42'
2026-05-02 02:26:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 42, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:26:42'
2026-05-02 02:26:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 26, 47, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 02:26:47'
2026-05-02 02:27:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 37, 722620, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17102, 'high': 1.17156, 'low': 1.17093, 'close': 1.17156, 'volume': 10.0} | asctime='2026-05-02 02:27:37'
2026-05-02 02:27:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 37, 724170, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17378, 'low': 1.17243, 'close': 1.17246, 'volume': 10.0} | asctime='2026-05-02 02:27:37'
2026-05-02 02:27:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 37, 771000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 02:27:37'
2026-05-02 02:27:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 42, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 02:27:42'
2026-05-02 02:27:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 42, 860000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:27:42'
2026-05-02 02:27:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 44, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 02:27:44'
2026-05-02 02:27:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 51, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 02:27:51'
2026-05-02 02:27:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 51, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 02:27:51'
2026-05-02 02:27:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 27, 54, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 02:27:54'
2026-05-02 02:28:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 28, 48, 620997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17112, 'close': 1.17131, 'volume': 7.0} | asctime='2026-05-02 02:28:48'
2026-05-02 02:28:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 28, 48, 621879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17269, 'low': 1.17244, 'close': 1.17263, 'volume': 7.0} | asctime='2026-05-02 02:28:48'
2026-05-02 02:28:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 28, 48, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 02:28:48'
2026-05-02 02:29:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 29, 10, 570482, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1716, 'high': 1.1716, 'low': 1.1716, 'close': 1.1716, 'volume': 1.0} | asctime='2026-05-02 02:29:10'
2026-05-02 02:29:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 29, 10, 571451, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.1725, 'low': 1.1725, 'close': 1.1725, 'volume': 1.0} | asctime='2026-05-02 02:29:10'
2026-05-02 02:29:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 29, 10, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 02:29:10'
2026-05-02 02:30:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 21, 121139, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 02:30:21'
2026-05-02 02:30:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 21, 121953, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 02:30:21'
2026-05-02 02:30:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 21, 122466, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.1716, 'low': 1.17093, 'close': 1.17153, 'volume': 24.0} | asctime='2026-05-02 02:30:21'
2026-05-02 02:30:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 21, 122962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17227, 'high': 1.17378, 'low': 1.17227, 'close': 1.17243, 'volume': 24.0} | asctime='2026-05-02 02:30:21'
2026-05-02 02:30:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 21, 123486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1713, 'high': 1.17164, 'low': 1.17093, 'close': 1.17153, 'volume': 51.0} | asctime='2026-05-02 02:30:21'
2026-05-02 02:30:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 21, 123899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17262, 'high': 1.17378, 'low': 1.17226, 'close': 1.17243, 'volume': 51.0} | asctime='2026-05-02 02:30:21'
2026-05-02 02:30:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 21, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 02:30:21'
2026-05-02 02:30:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 24, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 02:30:24'
2026-05-02 02:30:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 30, 32, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 02:30:32'
2026-05-02 02:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 31, 18, 569420, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17149, 'close': 1.1715, 'volume': 3.0} | asctime='2026-05-02 02:31:18'
2026-05-02 02:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 31, 18, 570530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17239, 'close': 1.1724, 'volume': 3.0} | asctime='2026-05-02 02:31:18'
2026-05-02 02:31:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 31, 18, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 02:31:18'
2026-05-02 02:31:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 31, 36, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 02:31:36'
2026-05-02 02:32:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 8, 618899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.1715, 'low': 1.17146, 'close': 1.1715, 'volume': 2.0} | asctime='2026-05-02 02:32:08'
2026-05-02 02:32:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 8, 620682, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.1724, 'low': 1.17236, 'close': 1.1724, 'volume': 2.0} | asctime='2026-05-02 02:32:08'
2026-05-02 02:32:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 8, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 02:32:08'
2026-05-02 02:32:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 15, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 02:32:15'
2026-05-02 02:32:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 15, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 02:32:15'
2026-05-02 02:32:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 16, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 02:32:16'
2026-05-02 02:32:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 36, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 02:32:36'
2026-05-02 02:32:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 44, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 02:32:44'
2026-05-02 02:32:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 56, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 02:32:56'
2026-05-02 02:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 32, 58, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 02:32:58'
2026-05-02 02:33:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 33, 43, 468243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17173, 'low': 1.17132, 'close': 1.17157, 'volume': 8.0} | asctime='2026-05-02 02:33:43'
2026-05-02 02:33:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 33, 43, 469293, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17276, 'low': 1.17238, 'close': 1.17247, 'volume': 8.0} | asctime='2026-05-02 02:33:43'
2026-05-02 02:33:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 33, 43, 507000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 02:33:43'
2026-05-02 02:33:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 33, 48, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:33:48'
2026-05-02 02:33:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 33, 52, 693000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 02:33:52'
2026-05-02 02:34:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 34, 20, 568142, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17132, 'close': 1.17132, 'volume': 3.0} | asctime='2026-05-02 02:34:20'
2026-05-02 02:34:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 34, 20, 570693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17264, 'close': 1.17264, 'volume': 3.0} | asctime='2026-05-02 02:34:20'
2026-05-02 02:34:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 34, 20, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 02:34:20'
2026-05-02 02:34:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 34, 45, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 02:34:45'
2026-05-02 02:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 6, 617186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17157, 'close': 1.17157, 'volume': 2.0} | asctime='2026-05-02 02:35:06'
2026-05-02 02:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 6, 618232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17247, 'close': 1.17247, 'volume': 2.0} | asctime='2026-05-02 02:35:06'
2026-05-02 02:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 6, 619377, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17173, 'low': 1.17132, 'close': 1.17157, 'volume': 18.0} | asctime='2026-05-02 02:35:06'
2026-05-02 02:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 6, 619814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.17276, 'low': 1.17236, 'close': 1.17247, 'volume': 18.0} | asctime='2026-05-02 02:35:06'
2026-05-02 02:35:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 6, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 02:35:06'
2026-05-02 02:35:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 27, 914000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:35:27'
2026-05-02 02:35:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 48, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 02:35:48'
2026-05-02 02:35:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 50, 508000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:35:50'
2026-05-02 02:35:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 35, 56, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 02:35:56'
2026-05-02 02:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 36, 18, 16749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17119, 'close': 1.17124, 'volume': 5.0} | asctime='2026-05-02 02:36:18'
2026-05-02 02:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 36, 18, 25756, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17283, 'low': 1.17243, 'close': 1.17256, 'volume': 5.0} | asctime='2026-05-02 02:36:18'
2026-05-02 02:36:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 36, 18, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 02:36:18'
2026-05-02 02:36:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 36, 18, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 02:36:18'
2026-05-02 02:36:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 36, 26, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 02:36:26'
2026-05-02 02:36:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 36, 36, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 02:36:36'
2026-05-02 02:37:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 37, 38, 315510, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17164, 'low': 1.17136, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 02:37:38'
2026-05-02 02:37:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 37, 38, 317280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17268, 'low': 1.17243, 'close': 1.17268, 'volume': 4.0} | asctime='2026-05-02 02:37:38'
2026-05-02 02:37:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 37, 38, 392000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 02:37:38'
2026-05-02 02:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 37, 44, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 02:37:44'
2026-05-02 02:37:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 37, 46, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 02:37:46'
2026-05-02 02:38:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 24, 665364, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17153, 'low': 1.17133, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 02:38:24'
2026-05-02 02:38:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 24, 666326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 02:38:24'
2026-05-02 02:38:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 24, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:38:24'
2026-05-02 02:38:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 34, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 02:38:34'
2026-05-02 02:38:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 46, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 02:38:46'
2026-05-02 02:38:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 47, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:38:47'
2026-05-02 02:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 54, 496000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 02:38:54'
2026-05-02 02:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 54, 742000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 02:38:54'
2026-05-02 02:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 54, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 02:38:54'
2026-05-02 02:38:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 55, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 02:38:55'
2026-05-02 02:38:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 55, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 02:38:55'
2026-05-02 02:38:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 38, 55, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 02:38:55'
2026-05-02 02:39:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 39, 24, 614898, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17154, 'low': 1.17125, 'close': 1.17147, 'volume': 10.0} | asctime='2026-05-02 02:39:24'
2026-05-02 02:39:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 39, 24, 616315, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17279, 'low': 1.17239, 'close': 1.17279, 'volume': 10.0} | asctime='2026-05-02 02:39:24'
2026-05-02 02:39:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 39, 24, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 02:39:24'
2026-05-02 02:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 39, 58, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 02:39:58'
2026-05-02 02:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 8, 564315, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17164, 'high': 1.17166, 'low': 1.17164, 'close': 1.17166, 'volume': 2.0} | asctime='2026-05-02 02:40:08'
2026-05-02 02:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 8, 565113, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17256, 'low': 1.17254, 'close': 1.17256, 'volume': 2.0} | asctime='2026-05-02 02:40:08'
2026-05-02 02:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 8, 566361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17153, 'high': 1.17166, 'low': 1.17119, 'close': 1.17166, 'volume': 24.0} | asctime='2026-05-02 02:40:08'
2026-05-02 02:40:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 8, 567424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17243, 'high': 1.17289, 'low': 1.17239, 'close': 1.17256, 'volume': 24.0} | asctime='2026-05-02 02:40:08'
2026-05-02 02:40:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 8, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 02:40:08'
2026-05-02 02:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 28, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 02:40:28'
2026-05-02 02:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 28, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 02:40:28'
2026-05-02 02:40:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 29, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 02:40:29'
2026-05-02 02:40:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 29, 342000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:40:29'
2026-05-02 02:40:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 38, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 02:40:38'
2026-05-02 02:40:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 40, 59, 759000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 02:40:59'
2026-05-02 02:41:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 41, 0, 564072, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17173, 'high': 1.17173, 'low': 1.17047, 'close': 1.17135, 'volume': 7.0} | asctime='2026-05-02 02:41:00'
2026-05-02 02:41:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 41, 0, 568441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17293, 'low': 1.17261, 'close': 1.17291, 'volume': 7.0} | asctime='2026-05-02 02:41:00'
2026-05-02 02:41:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 41, 0, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 02:41:00'
2026-05-02 02:41:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 41, 15, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:41:15'
2026-05-02 02:41:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 41, 24, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 02:41:24'
2026-05-02 02:41:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 41, 26, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:41:26'
2026-05-02 02:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 41, 46, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:41:46'
2026-05-02 02:42:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 42, 30, 62974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17167, 'low': 1.17125, 'close': 1.1713, 'volume': 5.0} | asctime='2026-05-02 02:42:30'
2026-05-02 02:42:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 42, 30, 63626, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17285, 'high': 1.17286, 'low': 1.17237, 'close': 1.17286, 'volume': 5.0} | asctime='2026-05-02 02:42:30'
2026-05-02 02:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 42, 30, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 02:42:30'
2026-05-02 02:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 42, 30, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 02:42:30'
2026-05-02 02:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 42, 30, 509000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 02:42:30'
2026-05-02 02:42:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 42, 31, 379000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 02:42:31'
2026-05-02 02:43:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 43, 4, 462614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17136, 'low': 1.17129, 'close': 1.17131, 'volume': 4.0} | asctime='2026-05-02 02:43:04'
2026-05-02 02:43:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 43, 4, 463633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17287, 'low': 1.17261, 'close': 1.17287, 'volume': 4.0} | asctime='2026-05-02 02:43:04'
2026-05-02 02:43:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 43, 4, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 02:43:04'
2026-05-02 02:43:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 43, 8, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 02:43:08'
2026-05-02 02:43:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 43, 12, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 02:43:12'
2026-05-02 02:43:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 43, 30, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 02:43:30'
2026-05-02 02:44:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 44, 43, 661992, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17142, 'low': 1.17132, 'close': 1.17132, 'volume': 4.0} | asctime='2026-05-02 02:44:43'
2026-05-02 02:44:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 44, 43, 662903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.17264, 'close': 1.17264, 'volume': 4.0} | asctime='2026-05-02 02:44:43'
2026-05-02 02:44:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 44, 43, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 02:44:43'
2026-05-02 02:44:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 44, 45, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 02:44:45'
2026-05-02 02:44:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 44, 45, 434000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17297, 'bid_price': 1.17069, 'volume': 0.0} | asctime='2026-05-02 02:44:45'
2026-05-02 02:44:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 44, 46, 428000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17059, 'volume': 0.0} | asctime='2026-05-02 02:44:46'
2026-05-02 02:44:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 44, 56, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 02:44:56'
2026-05-02 02:45:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 9, 461896, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17113, 'high': 1.17113, 'low': 1.17059, 'close': 1.17099, 'volume': 5.0} | asctime='2026-05-02 02:45:09'
2026-05-02 02:45:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 9, 464379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17297, 'low': 1.17257, 'close': 1.17279, 'volume': 5.0} | asctime='2026-05-02 02:45:09'
2026-05-02 02:45:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 9, 464906, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17173, 'high': 1.17173, 'low': 1.17047, 'close': 1.17099, 'volume': 25.0} | asctime='2026-05-02 02:45:09'
2026-05-02 02:45:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 9, 465328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17263, 'high': 1.17297, 'low': 1.17237, 'close': 1.17279, 'volume': 25.0} | asctime='2026-05-02 02:45:09'
2026-05-02 02:45:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 9, 465752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17154, 'high': 1.17173, 'low': 1.17047, 'close': 1.17099, 'volume': 67.0} | asctime='2026-05-02 02:45:09'
2026-05-02 02:45:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 9, 466207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17244, 'high': 1.17297, 'low': 1.17236, 'close': 1.17279, 'volume': 67.0} | asctime='2026-05-02 02:45:09'
2026-05-02 02:45:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 9, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 02:45:09'
2026-05-02 02:45:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 12, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:45:12'
2026-05-02 02:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 16, 464000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 02:45:16'
2026-05-02 02:45:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 26, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 02:45:26'
2026-05-02 02:45:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 28, 8000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:45:27'
2026-05-02 02:45:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 32, 352000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 02:45:32'
2026-05-02 02:45:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 50, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 02:45:50'
2026-05-02 02:45:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 51, 716000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 02:45:51'
2026-05-02 02:45:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 45, 58, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 02:45:58'
2026-05-02 02:46:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 46, 20, 460252, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17167, 'low': 1.17127, 'close': 1.17167, 'volume': 9.0} | asctime='2026-05-02 02:46:20'
2026-05-02 02:46:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 46, 20, 461303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17283, 'low': 1.17249, 'close': 1.17257, 'volume': 9.0} | asctime='2026-05-02 02:46:20'
2026-05-02 02:46:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 46, 20, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:46:20'
2026-05-02 02:46:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 46, 21, 8000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:46:20'
2026-05-02 02:46:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 46, 33, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:46:33'
2026-05-02 02:47:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 47, 55, 259458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17121, 'close': 1.17125, 'volume': 3.0} | asctime='2026-05-02 02:47:55'
2026-05-02 02:47:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 47, 55, 260571, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17257, 'close': 1.17257, 'volume': 3.0} | asctime='2026-05-02 02:47:55'
2026-05-02 02:47:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 47, 55, 339000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 02:47:55'
2026-05-02 02:47:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 47, 58, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 02:47:58'
2026-05-02 02:48:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 48, 3, 109506, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17105, 'high': 1.17105, 'low': 1.17104, 'close': 1.17104, 'volume': 2.0} | asctime='2026-05-02 02:48:03'
2026-05-02 02:48:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 48, 3, 113656, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.1726, 'close': 1.1726, 'volume': 2.0} | asctime='2026-05-02 02:48:03'
2026-05-02 02:48:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 48, 3, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17075, 'volume': 0.0} | asctime='2026-05-02 02:48:03'
2026-05-02 02:48:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 48, 6, 385000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 02:48:06'
2026-05-02 02:48:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 48, 14, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 02:48:14'
2026-05-02 02:49:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 49, 42, 658538, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17075, 'high': 1.17099, 'low': 1.17075, 'close': 1.17099, 'volume': 3.0} | asctime='2026-05-02 02:49:42'
2026-05-02 02:49:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 49, 42, 659424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17303, 'high': 1.17303, 'low': 1.17255, 'close': 1.17255, 'volume': 3.0} | asctime='2026-05-02 02:49:42'
2026-05-02 02:49:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 49, 42, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 02:49:42'
2026-05-02 02:49:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 49, 45, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 02:49:45'
2026-05-02 02:49:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 49, 49, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 02:49:49'
2026-05-02 02:49:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 49, 49, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:49:49'
2026-05-02 02:49:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 49, 50, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 02:49:50'
2026-05-02 02:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 1, 158330, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17135, 'low': 1.17109, 'close': 1.17109, 'volume': 5.0} | asctime='2026-05-02 02:50:01'
2026-05-02 02:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 1, 160024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17284, 'low': 1.17265, 'close': 1.17265, 'volume': 5.0} | asctime='2026-05-02 02:50:01'
2026-05-02 02:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 1, 161233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17167, 'low': 1.17075, 'close': 1.17109, 'volume': 22.0} | asctime='2026-05-02 02:50:01'
2026-05-02 02:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 1, 162359, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17303, 'low': 1.17249, 'close': 1.17265, 'volume': 22.0} | asctime='2026-05-02 02:50:01'
2026-05-02 02:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 1, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 02:50:01'
2026-05-02 02:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 1, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 02:50:01'
2026-05-02 02:50:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 16, 713000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 02:50:16'
2026-05-02 02:50:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 17, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 02:50:17'
2026-05-02 02:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 19, 940000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 02:50:19'
2026-05-02 02:50:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 20, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 02:50:20'
2026-05-02 02:50:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 20, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 02:50:20'
2026-05-02 02:50:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 20, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 02:50:20'
2026-05-02 02:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 21, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 02:50:21'
2026-05-02 02:50:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 40, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 02:50:40'
2026-05-02 02:50:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 50, 56, 928000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 02:50:56'
2026-05-02 02:51:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 0, 958286, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17163, 'low': 1.17112, 'close': 1.17163, 'volume': 11.0} | asctime='2026-05-02 02:51:00'
2026-05-02 02:51:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 0, 959013, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17287, 'low': 1.17241, 'close': 1.17253, 'volume': 11.0} | asctime='2026-05-02 02:51:00'
2026-05-02 02:51:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 1, 25000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 02:51:00'
2026-05-02 02:51:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 2, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 02:51:01'
2026-05-02 02:51:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 33, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 02:51:33'
2026-05-02 02:51:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 48, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 02:51:48'
2026-05-02 02:51:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 52, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 02:51:52'
2026-05-02 02:51:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 53, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 02:51:52'
2026-05-02 02:51:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 51, 53, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:51:53'
2026-05-02 02:52:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 3, 657673, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17114, 'high': 1.17155, 'low': 1.17114, 'close': 1.17117, 'volume': 7.0} | asctime='2026-05-02 02:52:03'
2026-05-02 02:52:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 3, 658648, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.17273, 'low': 1.17232, 'close': 1.17273, 'volume': 7.0} | asctime='2026-05-02 02:52:03'
2026-05-02 02:52:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 3, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 02:52:03'
2026-05-02 02:52:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 16, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 02:52:16'
2026-05-02 02:52:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 16, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17049, 'volume': 0.0} | asctime='2026-05-02 02:52:16'
2026-05-02 02:52:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 16, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17052, 'volume': 0.0} | asctime='2026-05-02 02:52:16'
2026-05-02 02:52:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 17, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17325, 'bid_price': 1.17051, 'volume': 0.0} | asctime='2026-05-02 02:52:17'
2026-05-02 02:52:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 17, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17074, 'volume': 0.0} | asctime='2026-05-02 02:52:17'
2026-05-02 02:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 18, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:52:18'
2026-05-02 02:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 18, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 02:52:18'
2026-05-02 02:52:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 19, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:52:19'
2026-05-02 02:52:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 20, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:52:20'
2026-05-02 02:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 22, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 02:52:22'
2026-05-02 02:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 22, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 02:52:22'
2026-05-02 02:52:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 37, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 02:52:37'
2026-05-02 02:52:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 48, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 02:52:48'
2026-05-02 02:52:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 49, 383000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 02:52:49'
2026-05-02 02:52:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 49, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 02:52:49'
2026-05-02 02:52:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 52, 55, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 02:52:55'
2026-05-02 02:53:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 1, 607004, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17164, 'low': 1.17049, 'close': 1.17134, 'volume': 17.0} | asctime='2026-05-02 02:53:01'
2026-05-02 02:53:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 1, 607983, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17325, 'low': 1.17248, 'close': 1.17266, 'volume': 17.0} | asctime='2026-05-02 02:53:01'
2026-05-02 02:53:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 1, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 02:53:01'
2026-05-02 02:53:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 1, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:53:01'
2026-05-02 02:53:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 3, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 02:53:02'
2026-05-02 02:53:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 11, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 02:53:11'
2026-05-02 02:53:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 11, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 02:53:11'
2026-05-02 02:53:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 15, 949000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 02:53:15'
2026-05-02 02:53:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 16, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 02:53:16'
2026-05-02 02:53:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 47, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 02:53:47'
2026-05-02 02:53:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 49, 831000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 02:53:49'
2026-05-02 02:53:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 50, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 02:53:50'
2026-05-02 02:53:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 51, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 02:53:51'
2026-05-02 02:53:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 52, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:53:52'
2026-05-02 02:53:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 53, 54, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 02:53:54'
2026-05-02 02:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 25, 256163, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17154, 'low': 1.171, 'close': 1.17154, 'volume': 13.0} | asctime='2026-05-02 02:54:25'
2026-05-02 02:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 25, 257691, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17273, 'low': 1.17228, 'close': 1.17244, 'volume': 13.0} | asctime='2026-05-02 02:54:25'
2026-05-02 02:54:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 25, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 02:54:25'
2026-05-02 02:54:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 27, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 02:54:27'
2026-05-02 02:54:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 30, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 02:54:30'
2026-05-02 02:54:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 36, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:54:36'
2026-05-02 02:54:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 53, 754000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 02:54:53'
2026-05-02 02:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 54, 58, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 02:54:58'
2026-05-02 02:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 0, 655671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17137, 'low': 1.17111, 'close': 1.17129, 'volume': 6.0} | asctime='2026-05-02 02:55:00'
2026-05-02 02:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 0, 656368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17272, 'low': 1.17227, 'close': 1.17261, 'volume': 6.0} | asctime='2026-05-02 02:55:00'
2026-05-02 02:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 0, 656959, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17112, 'high': 1.17164, 'low': 1.17049, 'close': 1.17129, 'volume': 54.0} | asctime='2026-05-02 02:55:00'
2026-05-02 02:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 0, 657427, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.17325, 'low': 1.17227, 'close': 1.17261, 'volume': 54.0} | asctime='2026-05-02 02:55:00'
2026-05-02 02:55:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 0, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 02:55:00'
2026-05-02 02:55:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 10, 508000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 02:55:10'
2026-05-02 02:55:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 18, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:55:18'
2026-05-02 02:55:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 19, 942000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:55:19'
2026-05-02 02:55:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 20, 934000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 02:55:20'
2026-05-02 02:55:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 32, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 02:55:32'
2026-05-02 02:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 55, 56, 184000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 02:55:56'
2026-05-02 02:56:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 1, 955385, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17162, 'low': 1.17115, 'close': 1.1713, 'volume': 7.0} | asctime='2026-05-02 02:56:01'
2026-05-02 02:56:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 1, 956185, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17286, 'low': 1.17249, 'close': 1.17262, 'volume': 7.0} | asctime='2026-05-02 02:56:01'
2026-05-02 02:56:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 2, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 02:56:01'
2026-05-02 02:56:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 7, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 02:56:07'
2026-05-02 02:56:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 8, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 02:56:08'
2026-05-02 02:56:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 21, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 02:56:21'
2026-05-02 02:56:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 22, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 02:56:22'
2026-05-02 02:56:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 29, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 02:56:29'
2026-05-02 02:56:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 30, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 02:56:30'
2026-05-02 02:56:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 56, 57, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 02:56:57'
2026-05-02 02:57:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 57, 1, 154729, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17148, 'low': 1.17106, 'close': 1.17142, 'volume': 8.0} | asctime='2026-05-02 02:57:01'
2026-05-02 02:57:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 57, 1, 155476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17278, 'low': 1.17238, 'close': 1.17274, 'volume': 8.0} | asctime='2026-05-02 02:57:01'
2026-05-02 02:57:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 57, 1, 223000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 02:57:01'
2026-05-02 02:57:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 57, 51, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 02:57:51'
2026-05-02 02:57:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 57, 52, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 02:57:52'
2026-05-02 02:57:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 57, 53, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 02:57:53'
2026-05-02 02:57:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 57, 57, 950000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 02:57:57'
2026-05-02 02:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 58, 1, 754017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17106, 'close': 1.17146, 'volume': 5.0} | asctime='2026-05-02 02:58:01'
2026-05-02 02:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 58, 1, 755584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17266, 'low': 1.1723, 'close': 1.17236, 'volume': 5.0} | asctime='2026-05-02 02:58:01'
2026-05-02 02:58:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 58, 1, 799000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 02:58:01'
2026-05-02 02:58:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 58, 4, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 02:58:04'
2026-05-02 02:58:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 58, 4, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 02:58:04'
2026-05-02 02:58:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 58, 39, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 02:58:39'
2026-05-02 02:58:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 58, 48, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 02:58:48'
2026-05-02 02:59:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 59, 0, 953191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17155, 'low': 1.17109, 'close': 1.17155, 'volume': 5.0} | asctime='2026-05-02 02:59:00'
2026-05-02 02:59:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 59, 0, 953845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17273, 'low': 1.17245, 'close': 1.17245, 'volume': 5.0} | asctime='2026-05-02 02:59:00'
2026-05-02 02:59:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 59, 1, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 02:59:00'
2026-05-02 02:59:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 59, 26, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 02:59:26'
2026-05-02 02:59:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 2, 59, 42, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 02:59:42'
2026-05-02 03:00:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 7, 452928, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17148, 'low': 1.17128, 'close': 1.17148, 'volume': 3.0} | asctime='2026-05-02 03:00:07'
2026-05-02 03:00:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 7, 453844, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17263, 'low': 1.17238, 'close': 1.17238, 'volume': 3.0} | asctime='2026-05-02 03:00:07'
2026-05-02 03:00:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 7, 454410, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17115, 'high': 1.17162, 'low': 1.17106, 'close': 1.17148, 'volume': 28.0} | asctime='2026-05-02 03:00:07'
2026-05-02 03:00:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 7, 454815, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17286, 'low': 1.1723, 'close': 1.17238, 'volume': 28.0} | asctime='2026-05-02 03:00:07'
2026-05-02 03:00:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 7, 455207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17139, 'high': 1.17167, 'low': 1.17049, 'close': 1.17148, 'volume': 104.0} | asctime='2026-05-02 03:00:07'
2026-05-02 03:00:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 7, 455599, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17271, 'high': 1.17325, 'low': 1.17227, 'close': 1.17238, 'volume': 104.0} | asctime='2026-05-02 03:00:07'
2026-05-02 03:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 7, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 03:00:07'
2026-05-02 03:00:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 16, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 03:00:16'
2026-05-02 03:00:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 17, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:00:17'
2026-05-02 03:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 32, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 03:00:32'
2026-05-02 03:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 44, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 03:00:44'
2026-05-02 03:00:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 45, 762000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 03:00:45'
2026-05-02 03:00:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 51, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17306, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 03:00:51'
2026-05-02 03:00:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 52, 342000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 03:00:52'
2026-05-02 03:00:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 56, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:00:56'
2026-05-02 03:00:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 0, 57, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 03:00:57'
2026-05-02 03:01:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 1, 701954, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17161, 'low': 1.17102, 'close': 1.17148, 'volume': 10.0} | asctime='2026-05-02 03:01:01'
2026-05-02 03:01:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 1, 703957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17306, 'low': 1.17238, 'close': 1.17238, 'volume': 10.0} | asctime='2026-05-02 03:01:01'
2026-05-02 03:01:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 1, 775000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 03:01:01'
2026-05-02 03:01:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 1, 899000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 03:01:01'
2026-05-02 03:01:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 3, 762000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 03:01:03'
2026-05-02 03:01:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 6, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 03:01:06'
2026-05-02 03:01:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 14, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:01:14'
2026-05-02 03:01:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 22, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 03:01:22'
2026-05-02 03:01:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 1, 36, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 03:01:36'
2026-05-02 03:03:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 3, 46, 550489, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17104, 'close': 1.17104, 'volume': 7.0} | asctime='2026-05-02 03:03:46'
2026-05-02 03:03:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 3, 46, 551851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17268, 'low': 1.1723, 'close': 1.1726, 'volume': 7.0} | asctime='2026-05-02 03:03:46'
2026-05-02 03:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 3, 46, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 03:03:46'
2026-05-02 03:04:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 14, 599780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.171, 'high': 1.171, 'low': 1.171, 'close': 1.171, 'volume': 1.0} | asctime='2026-05-02 03:04:14'
2026-05-02 03:04:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 14, 601498, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17256, 'low': 1.17256, 'close': 1.17256, 'volume': 1.0} | asctime='2026-05-02 03:04:14'
2026-05-02 03:04:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 14, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 03:04:14'
2026-05-02 03:04:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 30, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:04:30'
2026-05-02 03:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 32, 904000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 03:04:32'
2026-05-02 03:04:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 36, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 03:04:36'
2026-05-02 03:04:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 37, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 03:04:37'
2026-05-02 03:04:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 37, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 03:04:37'
2026-05-02 03:04:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 4, 44, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 03:04:44'
2026-05-02 03:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 5, 4, 249824, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17167, 'low': 1.1713, 'close': 1.17161, 'volume': 7.0} | asctime='2026-05-02 03:05:04'
2026-05-02 03:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 5, 4, 250479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17269, 'low': 1.17251, 'close': 1.17251, 'volume': 7.0} | asctime='2026-05-02 03:05:04'
2026-05-02 03:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 5, 4, 251530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17167, 'low': 1.171, 'close': 1.17161, 'volume': 25.0} | asctime='2026-05-02 03:05:04'
2026-05-02 03:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 5, 4, 251949, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17306, 'low': 1.1723, 'close': 1.17251, 'volume': 25.0} | asctime='2026-05-02 03:05:04'
2026-05-02 03:05:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 5, 4, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:05:04'
2026-05-02 03:05:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 5, 41, 419000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 03:05:41'
2026-05-02 03:06:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 6, 36, 598588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17155, 'low': 1.17134, 'close': 1.17155, 'volume': 2.0} | asctime='2026-05-02 03:06:36'
2026-05-02 03:06:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 6, 36, 599480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17266, 'low': 1.17245, 'close': 1.17245, 'volume': 2.0} | asctime='2026-05-02 03:06:36'
2026-05-02 03:06:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 6, 36, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:06:36'
2026-05-02 03:06:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 6, 48, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:06:48'
2026-05-02 03:06:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 6, 50, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 03:06:50'
2026-05-02 03:06:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 6, 58, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 03:06:57'
2026-05-02 03:07:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 7, 7, 998823, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17115, 'close': 1.17119, 'volume': 4.0} | asctime='2026-05-02 03:07:07'
2026-05-02 03:07:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 7, 8, 694, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17271, 'low': 1.17243, 'close': 1.17251, 'volume': 4.0} | asctime='2026-05-02 03:07:08'
2026-05-02 03:07:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 7, 8, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 03:07:08'
2026-05-02 03:07:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 7, 27, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:07:27'
2026-05-02 03:07:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 7, 27, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 03:07:27'
2026-05-02 03:07:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 7, 28, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 03:07:27'
2026-05-02 03:07:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 7, 40, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 03:07:40'
2026-05-02 03:08:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 8, 17, 247744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17113, 'high': 1.17153, 'low': 1.17106, 'close': 1.17108, 'volume': 5.0} | asctime='2026-05-02 03:08:17'
2026-05-02 03:08:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 8, 17, 248574, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17264, 'low': 1.17238, 'close': 1.17264, 'volume': 5.0} | asctime='2026-05-02 03:08:17'
2026-05-02 03:08:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 8, 17, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:08:17'
2026-05-02 03:08:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 8, 44, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 03:08:44'
2026-05-02 03:08:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 8, 46, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 03:08:46'
2026-05-02 03:09:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 9, 34, 446654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17128, 'low': 1.1712, 'close': 1.1712, 'volume': 3.0} | asctime='2026-05-02 03:09:34'
2026-05-02 03:09:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 9, 34, 447667, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.1726, 'low': 1.17252, 'close': 1.17252, 'volume': 3.0} | asctime='2026-05-02 03:09:34'
2026-05-02 03:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 9, 34, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 03:09:34'
2026-05-02 03:09:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 9, 52, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 03:09:52'
2026-05-02 03:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 10, 297145, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17149, 'low': 1.17115, 'close': 1.17149, 'volume': 2.0} | asctime='2026-05-02 03:10:10'
2026-05-02 03:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 10, 298119, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17239, 'close': 1.17239, 'volume': 2.0} | asctime='2026-05-02 03:10:10'
2026-05-02 03:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 10, 299602, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17134, 'high': 1.17155, 'low': 1.17106, 'close': 1.17149, 'volume': 16.0} | asctime='2026-05-02 03:10:10'
2026-05-02 03:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 10, 300994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17266, 'high': 1.17271, 'low': 1.17238, 'close': 1.17239, 'volume': 16.0} | asctime='2026-05-02 03:10:10'
2026-05-02 03:10:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 10, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 03:10:10'
2026-05-02 03:10:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 10, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17309, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 03:10:10'
2026-05-02 03:10:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 11, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 03:10:11'
2026-05-02 03:10:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 15, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:10:15'
2026-05-02 03:10:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 15, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 03:10:15'
2026-05-02 03:10:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 16, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:10:16'
2026-05-02 03:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 18, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 03:10:18'
2026-05-02 03:10:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 23, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:10:22'
2026-05-02 03:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 24, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 03:10:24'
2026-05-02 03:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 24, 911000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 03:10:24'
2026-05-02 03:10:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 28, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 03:10:28'
2026-05-02 03:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 10, 34, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 03:10:34'
2026-05-02 03:11:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 6, 896433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17173, 'low': 1.17081, 'close': 1.17154, 'volume': 12.0} | asctime='2026-05-02 03:11:06'
2026-05-02 03:11:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 6, 897204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17309, 'low': 1.17244, 'close': 1.17244, 'volume': 12.0} | asctime='2026-05-02 03:11:06'
2026-05-02 03:11:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 6, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 03:11:06'
2026-05-02 03:11:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 8, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 03:11:08'
2026-05-02 03:11:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 12, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 03:11:12'
2026-05-02 03:11:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 15, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 03:11:15'
2026-05-02 03:11:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 29, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 03:11:29'
2026-05-02 03:11:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 29, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 03:11:29'
2026-05-02 03:11:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 38, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 03:11:38'
2026-05-02 03:11:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 11, 58, 1000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 03:11:57'
2026-05-02 03:12:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 12, 7, 745743, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17169, 'low': 1.17137, 'close': 1.17164, 'volume': 8.0} | asctime='2026-05-02 03:12:07'
2026-05-02 03:12:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 12, 7, 746452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17269, 'low': 1.17234, 'close': 1.17234, 'volume': 8.0} | asctime='2026-05-02 03:12:07'
2026-05-02 03:12:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 12, 7, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:12:07'
2026-05-02 03:12:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 12, 8, 924000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 03:12:08'
2026-05-02 03:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 12, 13, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 03:12:12'
2026-05-02 03:12:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 12, 14, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 03:12:13'
2026-05-02 03:12:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 12, 16, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 03:12:16'
2026-05-02 03:13:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 13, 42, 544411, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17135, 'low': 1.17111, 'close': 1.17135, 'volume': 5.0} | asctime='2026-05-02 03:13:42'
2026-05-02 03:13:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 13, 42, 545297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17267, 'close': 1.17267, 'volume': 5.0} | asctime='2026-05-02 03:13:42'
2026-05-02 03:13:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 13, 42, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 03:13:42'
2026-05-02 03:13:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 13, 59, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:13:58'
2026-05-02 03:14:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 14, 12, 594468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17139, 'low': 1.17137, 'close': 1.17139, 'volume': 2.0} | asctime='2026-05-02 03:14:12'
2026-05-02 03:14:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 14, 12, 595288, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17271, 'low': 1.17269, 'close': 1.17271, 'volume': 2.0} | asctime='2026-05-02 03:14:12'
2026-05-02 03:14:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 14, 12, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 03:14:12'
2026-05-02 03:14:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 14, 13, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 03:14:12'
2026-05-02 03:14:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 14, 40, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:14:40'
2026-05-02 03:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 8, 594060, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17151, 'low': 1.17121, 'close': 1.17121, 'volume': 3.0} | asctime='2026-05-02 03:15:08'
2026-05-02 03:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 8, 594867, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17241, 'close': 1.17253, 'volume': 3.0} | asctime='2026-05-02 03:15:08'
2026-05-02 03:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 8, 595496, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17111, 'high': 1.17173, 'low': 1.17081, 'close': 1.17121, 'volume': 30.0} | asctime='2026-05-02 03:15:08'
2026-05-02 03:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 8, 596421, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17267, 'high': 1.17309, 'low': 1.17234, 'close': 1.17253, 'volume': 30.0} | asctime='2026-05-02 03:15:08'
2026-05-02 03:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 8, 597288, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17155, 'high': 1.17173, 'low': 1.17081, 'close': 1.17121, 'volume': 71.0} | asctime='2026-05-02 03:15:08'
2026-05-02 03:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 8, 598406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17245, 'high': 1.17309, 'low': 1.1723, 'close': 1.17253, 'volume': 71.0} | asctime='2026-05-02 03:15:08'
2026-05-02 03:15:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 8, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:15:08'
2026-05-02 03:15:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 39, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 03:15:39'
2026-05-02 03:15:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 44, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:15:44'
2026-05-02 03:15:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 46, 889000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 03:15:46'
2026-05-02 03:15:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 50, 488000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 03:15:50'
2026-05-02 03:15:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 50, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17098, 'volume': 0.0} | asctime='2026-05-02 03:15:50'
2026-05-02 03:15:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 50, 736000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17075, 'volume': 0.0} | asctime='2026-05-02 03:15:50'
2026-05-02 03:15:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 52, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17078, 'volume': 0.0} | asctime='2026-05-02 03:15:52'
2026-05-02 03:15:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 53, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 03:15:53'
2026-05-02 03:15:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 15, 53, 840000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 03:15:53'
2026-05-02 03:17:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 17, 17, 944664, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17139, 'low': 1.17075, 'close': 1.17101, 'volume': 10.0} | asctime='2026-05-02 03:17:17'
2026-05-02 03:17:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 17, 17, 945670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17281, 'low': 1.17229, 'close': 1.17281, 'volume': 10.0} | asctime='2026-05-02 03:17:17'
2026-05-02 03:17:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 17, 17, 996000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 03:17:17'
2026-05-02 03:17:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 17, 32, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 03:17:32'
2026-05-02 03:17:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 17, 52, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:17:52'
2026-05-02 03:17:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 17, 55, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 03:17:55'
2026-05-02 03:17:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 17, 57, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17403, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 03:17:57'
2026-05-02 03:18:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 18, 0, 841825, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17169, 'low': 1.17123, 'close': 1.17129, 'volume': 5.0} | asctime='2026-05-02 03:18:00'
2026-05-02 03:18:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 18, 0, 842830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17403, 'low': 1.17259, 'close': 1.17403, 'volume': 5.0} | asctime='2026-05-02 03:18:00'
2026-05-02 03:18:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 18, 0, 941000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 03:18:00'
2026-05-02 03:18:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 18, 1, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:18:01'
2026-05-02 03:18:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 18, 18, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 03:18:18'
2026-05-02 03:19:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 19, 46, 991134, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17168, 'low': 1.17124, 'close': 1.17168, 'volume': 3.0} | asctime='2026-05-02 03:19:46'
2026-05-02 03:19:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 19, 46, 992806, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17274, 'low': 1.17256, 'close': 1.17258, 'volume': 3.0} | asctime='2026-05-02 03:19:46'
2026-05-02 03:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 19, 47, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 03:19:46'
2026-05-02 03:19:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 19, 47, 192000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 03:19:47'
2026-05-02 03:19:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 19, 50, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 03:19:50'
2026-05-02 03:19:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 19, 59, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 03:19:59'
2026-05-02 03:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 20, 46, 840094, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17152, 'low': 1.17131, 'close': 1.17146, 'volume': 4.0} | asctime='2026-05-02 03:20:46'
2026-05-02 03:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 20, 46, 841089, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17287, 'high': 1.17289, 'low': 1.17278, 'close': 1.17278, 'volume': 4.0} | asctime='2026-05-02 03:20:46'
2026-05-02 03:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 20, 46, 842176, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17169, 'low': 1.17075, 'close': 1.17146, 'volume': 22.0} | asctime='2026-05-02 03:20:46'
2026-05-02 03:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 20, 46, 842632, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17257, 'high': 1.17403, 'low': 1.17229, 'close': 1.17278, 'volume': 22.0} | asctime='2026-05-02 03:20:46'
2026-05-02 03:20:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 20, 46, 895000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 03:20:46'
2026-05-02 03:21:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 21, 8, 539899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17138, 'close': 1.17138, 'volume': 1.0} | asctime='2026-05-02 03:21:08'
2026-05-02 03:21:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 21, 8, 540877, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.1727, 'close': 1.1727, 'volume': 1.0} | asctime='2026-05-02 03:21:08'
2026-05-02 03:21:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 21, 8, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 03:21:08'
2026-05-02 03:22:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 22, 10, 589776, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17151, 'close': 1.17151, 'volume': 1.0} | asctime='2026-05-02 03:22:10'
2026-05-02 03:22:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 22, 10, 590530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17241, 'low': 1.17241, 'close': 1.17241, 'volume': 1.0} | asctime='2026-05-02 03:22:10'
2026-05-02 03:22:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 22, 10, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 03:22:10'
2026-05-02 03:22:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 22, 17, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:22:17'
2026-05-02 03:22:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 22, 20, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 03:22:20'
2026-05-02 03:23:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 23, 2, 589417, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17125, 'close': 1.17131, 'volume': 3.0} | asctime='2026-05-02 03:23:02'
2026-05-02 03:23:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 23, 2, 590446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17263, 'low': 1.1724, 'close': 1.17263, 'volume': 3.0} | asctime='2026-05-02 03:23:02'
2026-05-02 03:23:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 23, 2, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 03:23:02'
2026-05-02 03:23:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 23, 10, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:23:09'
2026-05-02 03:23:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 23, 19, 813000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 03:23:19'
2026-05-02 03:23:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 23, 20, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 03:23:20'
2026-05-02 03:24:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 10, 138802, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17138, 'low': 1.17121, 'close': 1.17138, 'volume': 4.0} | asctime='2026-05-02 03:24:10'
2026-05-02 03:24:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 10, 139755, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17286, 'low': 1.17256, 'close': 1.1727, 'volume': 4.0} | asctime='2026-05-02 03:24:10'
2026-05-02 03:24:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 10, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17323, 'bid_price': 1.17071, 'volume': 0.0} | asctime='2026-05-02 03:24:10'
2026-05-02 03:24:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 10, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17374, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 03:24:10'
2026-05-02 03:24:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 10, 826000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17393, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 03:24:10'
2026-05-02 03:24:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 11, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17364, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 03:24:10'
2026-05-02 03:24:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 11, 447000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 03:24:11'
2026-05-02 03:24:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 53, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 03:24:53'
2026-05-02 03:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 24, 57, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 03:24:57'
2026-05-02 03:25:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 31, 787808, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17071, 'high': 1.17122, 'low': 1.17071, 'close': 1.17122, 'volume': 7.0} | asctime='2026-05-02 03:25:31'
2026-05-02 03:25:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 31, 789428, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17323, 'high': 1.17393, 'low': 1.17254, 'close': 1.17254, 'volume': 7.0} | asctime='2026-05-02 03:25:31'
2026-05-02 03:25:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 31, 790749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17138, 'high': 1.17151, 'low': 1.17071, 'close': 1.17122, 'volume': 16.0} | asctime='2026-05-02 03:25:31'
2026-05-02 03:25:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 31, 791362, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1727, 'high': 1.17393, 'low': 1.1724, 'close': 1.17254, 'volume': 16.0} | asctime='2026-05-02 03:25:31'
2026-05-02 03:25:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 31, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:25:31'
2026-05-02 03:25:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 32, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.17086, 'volume': 0.0} | asctime='2026-05-02 03:25:32'
2026-05-02 03:25:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 32, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17312, 'bid_price': 1.17084, 'volume': 0.0} | asctime='2026-05-02 03:25:32'
2026-05-02 03:25:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 32, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 03:25:32'
2026-05-02 03:25:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 40, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 03:25:40'
2026-05-02 03:25:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 54, 965000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 03:25:54'
2026-05-02 03:25:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 25, 58, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 03:25:57'
2026-05-02 03:26:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 7, 436827, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17171, 'low': 1.17084, 'close': 1.17171, 'volume': 7.0} | asctime='2026-05-02 03:26:07'
2026-05-02 03:26:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 7, 437769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17314, 'low': 1.17244, 'close': 1.17261, 'volume': 7.0} | asctime='2026-05-02 03:26:07'
2026-05-02 03:26:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 7, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:26:07'
2026-05-02 03:26:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 10, 355000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:26:10'
2026-05-02 03:26:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 20, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 03:26:20'
2026-05-02 03:26:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 44, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 03:26:44'
2026-05-02 03:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 46, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 03:26:46'
2026-05-02 03:26:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 50, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 03:26:50'
2026-05-02 03:26:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 50, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 03:26:50'
2026-05-02 03:26:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 26, 58, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 03:26:57'
2026-05-02 03:27:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 13, 686705, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17153, 'low': 1.17112, 'close': 1.17112, 'volume': 8.0} | asctime='2026-05-02 03:27:13'
2026-05-02 03:27:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 13, 687545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17278, 'low': 1.17236, 'close': 1.17268, 'volume': 8.0} | asctime='2026-05-02 03:27:13'
2026-05-02 03:27:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 13, 782000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 03:27:13'
2026-05-02 03:27:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 14, 30000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 03:27:13'
2026-05-02 03:27:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 18, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 03:27:18'
2026-05-02 03:27:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 23, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17297, 'bid_price': 1.17093, 'volume': 0.0} | asctime='2026-05-02 03:27:23'
2026-05-02 03:27:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 29, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 03:27:29'
2026-05-02 03:27:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 38, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:27:38'
2026-05-02 03:27:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 27, 46, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 03:27:46'
2026-05-02 03:28:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 28, 12, 536389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17126, 'low': 1.17093, 'close': 1.1712, 'volume': 7.0} | asctime='2026-05-02 03:28:12'
2026-05-02 03:28:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 28, 12, 537211, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17297, 'low': 1.17249, 'close': 1.17252, 'volume': 7.0} | asctime='2026-05-02 03:28:12'
2026-05-02 03:28:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 28, 12, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 03:28:12'
2026-05-02 03:28:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 28, 17, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 03:28:17'
2026-05-02 03:29:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 29, 53, 434862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17161, 'low': 1.17159, 'close': 1.17161, 'volume': 2.0} | asctime='2026-05-02 03:29:53'
2026-05-02 03:29:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 29, 53, 435686, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17251, 'low': 1.17249, 'close': 1.17251, 'volume': 2.0} | asctime='2026-05-02 03:29:53'
2026-05-02 03:29:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 29, 53, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 03:29:53'
2026-05-02 03:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 1, 634868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17166, 'high': 1.17166, 'low': 1.17166, 'close': 1.17166, 'volume': 1.0} | asctime='2026-05-02 03:30:01'
2026-05-02 03:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 1, 635829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17256, 'low': 1.17256, 'close': 1.17256, 'volume': 1.0} | asctime='2026-05-02 03:30:01'
2026-05-02 03:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 1, 636486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17171, 'low': 1.17084, 'close': 1.17166, 'volume': 25.0} | asctime='2026-05-02 03:30:01'
2026-05-02 03:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 1, 636952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17314, 'low': 1.17236, 'close': 1.17256, 'volume': 25.0} | asctime='2026-05-02 03:30:01'
2026-05-02 03:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 1, 637421, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17125, 'high': 1.17171, 'low': 1.17071, 'close': 1.17166, 'volume': 63.0} | asctime='2026-05-02 03:30:01'
2026-05-02 03:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 1, 637834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17257, 'high': 1.17403, 'low': 1.17229, 'close': 1.17256, 'volume': 63.0} | asctime='2026-05-02 03:30:01'
2026-05-02 03:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 1, 717000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:30:01'
2026-05-02 03:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 8, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 03:30:07'
2026-05-02 03:30:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 38, 333000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:30:38'
2026-05-02 03:30:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 30, 46, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:30:46'
2026-05-02 03:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 31, 14, 484481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17153, 'low': 1.17132, 'close': 1.17153, 'volume': 4.0} | asctime='2026-05-02 03:31:14'
2026-05-02 03:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 31, 14, 485415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17274, 'low': 1.17243, 'close': 1.17243, 'volume': 4.0} | asctime='2026-05-02 03:31:14'
2026-05-02 03:31:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 31, 14, 576000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 03:31:14'
2026-05-02 03:31:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 31, 22, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 03:31:22'
2026-05-02 03:31:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 31, 34, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 03:31:34'
2026-05-02 03:31:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 31, 37, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 03:31:36'
2026-05-02 03:31:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 31, 46, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 03:31:46'
2026-05-02 03:32:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 32, 40, 483155, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17141, 'low': 1.17115, 'close': 1.17116, 'volume': 5.0} | asctime='2026-05-02 03:32:40'
2026-05-02 03:32:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 32, 40, 484001, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17272, 'low': 1.17231, 'close': 1.17272, 'volume': 5.0} | asctime='2026-05-02 03:32:40'
2026-05-02 03:32:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 32, 40, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 03:32:40'
2026-05-02 03:33:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 33, 8, 83564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17137, 'close': 1.17137, 'volume': 1.0} | asctime='2026-05-02 03:33:08'
2026-05-02 03:33:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 33, 8, 85454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17269, 'close': 1.17269, 'volume': 1.0} | asctime='2026-05-02 03:33:08'
2026-05-02 03:33:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 33, 8, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 03:33:08'
2026-05-02 03:33:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 33, 58, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 03:33:58'
2026-05-02 03:34:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 12, 582585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17113, 'close': 1.17113, 'volume': 2.0} | asctime='2026-05-02 03:34:12'
2026-05-02 03:34:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 12, 583479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17273, 'low': 1.17269, 'close': 1.17269, 'volume': 2.0} | asctime='2026-05-02 03:34:12'
2026-05-02 03:34:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 12, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 03:34:12'
2026-05-02 03:34:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 20, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 03:34:20'
2026-05-02 03:34:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 21, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 03:34:21'
2026-05-02 03:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 22, 247000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 03:34:22'
2026-05-02 03:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 22, 370000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 03:34:22'
2026-05-02 03:34:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 34, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:34:34'
2026-05-02 03:34:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 36, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 03:34:36'
2026-05-02 03:34:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 36, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:34:36'
2026-05-02 03:34:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 36, 893000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 03:34:36'
2026-05-02 03:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 40, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:34:40'
2026-05-02 03:34:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 42, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 03:34:42'
2026-05-02 03:34:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 44, 217000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:34:44'
2026-05-02 03:34:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 45, 831000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:34:45'
2026-05-02 03:34:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 54, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 03:34:54'
2026-05-02 03:34:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 56, 506000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 03:34:56'
2026-05-02 03:34:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 34, 57, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:34:57'
2026-05-02 03:35:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 11, 831448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17107, 'high': 1.17171, 'low': 1.17107, 'close': 1.17153, 'volume': 16.0} | asctime='2026-05-02 03:35:11'
2026-05-02 03:35:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 11, 832652, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17295, 'low': 1.17243, 'close': 1.17243, 'volume': 16.0} | asctime='2026-05-02 03:35:11'
2026-05-02 03:35:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 11, 833466, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17132, 'high': 1.17171, 'low': 1.17107, 'close': 1.17153, 'volume': 28.0} | asctime='2026-05-02 03:35:11'
2026-05-02 03:35:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 11, 834278, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17264, 'high': 1.17295, 'low': 1.17231, 'close': 1.17243, 'volume': 28.0} | asctime='2026-05-02 03:35:11'
2026-05-02 03:35:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 11, 896000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 03:35:11'
2026-05-02 03:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 15, 371000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17364, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 03:35:15'
2026-05-02 03:35:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 16, 240000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 03:35:16'
2026-05-02 03:35:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 16, 488000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:35:16'
2026-05-02 03:35:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 18, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 03:35:18'
2026-05-02 03:35:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 18, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17364, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 03:35:18'
2026-05-02 03:35:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 18, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17312, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 03:35:18'
2026-05-02 03:35:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 19, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:35:19'
2026-05-02 03:35:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 21, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 03:35:20'
2026-05-02 03:35:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 21, 454000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17364, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 03:35:21'
2026-05-02 03:35:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 21, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:35:21'
2026-05-02 03:35:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 22, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 03:35:22'
2026-05-02 03:35:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 23, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17299, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 03:35:23'
2026-05-02 03:35:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 24, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17403, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 03:35:24'
2026-05-02 03:35:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 24, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17399, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 03:35:24'
2026-05-02 03:35:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 25, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:35:25'
2026-05-02 03:35:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 38, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 03:35:38'
2026-05-02 03:35:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 49, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17224, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:35:49'
2026-05-02 03:35:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 35, 57, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 03:35:57'
2026-05-02 03:36:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 36, 23, 281468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17153, 'low': 1.1709, 'close': 1.17103, 'volume': 19.0} | asctime='2026-05-02 03:36:23'
2026-05-02 03:36:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 36, 23, 282232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17403, 'low': 1.17224, 'close': 1.17259, 'volume': 19.0} | asctime='2026-05-02 03:36:23'
2026-05-02 03:36:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 36, 23, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 03:36:23'
2026-05-02 03:36:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 36, 25, 747000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 03:36:25'
2026-05-02 03:36:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 36, 44, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:36:44'
2026-05-02 03:38:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 38, 12, 880241, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17159, 'low': 1.17117, 'close': 1.17142, 'volume': 3.0} | asctime='2026-05-02 03:38:12'
2026-05-02 03:38:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 38, 12, 881136, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17273, 'low': 1.17229, 'close': 1.17232, 'volume': 3.0} | asctime='2026-05-02 03:38:12'
2026-05-02 03:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 38, 12, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 03:38:12'
2026-05-02 03:38:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 38, 15, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 03:38:15'
2026-05-02 03:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 38, 16, 464000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:38:16'
2026-05-02 03:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 38, 17, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:38:16'
2026-05-02 03:38:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 38, 30, 861000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:38:30'
2026-05-02 03:39:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 39, 18, 828800, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17125, 'low': 1.17109, 'close': 1.17125, 'volume': 5.0} | asctime='2026-05-02 03:39:18'
2026-05-02 03:39:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 39, 18, 829481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17257, 'close': 1.17257, 'volume': 5.0} | asctime='2026-05-02 03:39:18'
2026-05-02 03:39:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 39, 18, 898000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 03:39:18'
2026-05-02 03:40:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 36, 778011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17147, 'close': 1.17147, 'volume': 1.0} | asctime='2026-05-02 03:40:36'
2026-05-02 03:40:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 36, 778961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17237, 'low': 1.17237, 'close': 1.17237, 'volume': 1.0} | asctime='2026-05-02 03:40:36'
2026-05-02 03:40:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 36, 779451, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17159, 'low': 1.1709, 'close': 1.17147, 'volume': 28.0} | asctime='2026-05-02 03:40:36'
2026-05-02 03:40:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 36, 779891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17272, 'high': 1.17403, 'low': 1.17224, 'close': 1.17237, 'volume': 28.0} | asctime='2026-05-02 03:40:36'
2026-05-02 03:40:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 36, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 03:40:36'
2026-05-02 03:40:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 37, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 03:40:37'
2026-05-02 03:40:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 42, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 03:40:42'
2026-05-02 03:40:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 40, 42, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 03:40:42'
2026-05-02 03:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 12, 477933, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17114, 'high': 1.17152, 'low': 1.1705, 'close': 1.17117, 'volume': 4.0} | asctime='2026-05-02 03:41:12'
2026-05-02 03:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 12, 478714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.17273, 'low': 1.17242, 'close': 1.17273, 'volume': 4.0} | asctime='2026-05-02 03:41:12'
2026-05-02 03:41:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 12, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 03:41:12'
2026-05-02 03:41:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 17, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 03:41:17'
2026-05-02 03:41:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 19, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 03:41:19'
2026-05-02 03:41:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 28, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 03:41:28'
2026-05-02 03:41:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 36, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 03:41:36'
2026-05-02 03:41:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 37, 293000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:41:37'
2026-05-02 03:41:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 37, 790000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 03:41:37'
2026-05-02 03:41:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 43, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 03:41:43'
2026-05-02 03:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 46, 478000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 03:41:46'
2026-05-02 03:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 41, 58, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:41:57'
2026-05-02 03:43:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 43, 58, 426416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17153, 'low': 1.17112, 'close': 1.17153, 'volume': 10.0} | asctime='2026-05-02 03:43:58'
2026-05-02 03:43:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 43, 58, 427870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17276, 'low': 1.17243, 'close': 1.17243, 'volume': 10.0} | asctime='2026-05-02 03:43:58'
2026-05-02 03:43:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 43, 58, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 03:43:58'
2026-05-02 03:44:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 44, 5, 876750, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17156, 'close': 1.17156, 'volume': 1.0} | asctime='2026-05-02 03:44:05'
2026-05-02 03:44:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 44, 5, 877519, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17246, 'close': 1.17246, 'volume': 1.0} | asctime='2026-05-02 03:44:05'
2026-05-02 03:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 44, 5, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 03:44:05'
2026-05-02 03:44:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 44, 7, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:44:07'
2026-05-02 03:44:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 44, 14, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:44:14'
2026-05-02 03:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 6, 976294, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17142, 'low': 1.17128, 'close': 1.17139, 'volume': 3.0} | asctime='2026-05-02 03:45:06'
2026-05-02 03:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 6, 976952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.17229, 'close': 1.17229, 'volume': 3.0} | asctime='2026-05-02 03:45:06'
2026-05-02 03:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 6, 977338, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17114, 'high': 1.17156, 'low': 1.1705, 'close': 1.17139, 'volume': 18.0} | asctime='2026-05-02 03:45:06'
2026-05-02 03:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 6, 977696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1727, 'high': 1.17276, 'low': 1.17229, 'close': 1.17229, 'volume': 18.0} | asctime='2026-05-02 03:45:06'
2026-05-02 03:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 6, 978006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17132, 'high': 1.17171, 'low': 1.1705, 'close': 1.17139, 'volume': 74.0} | asctime='2026-05-02 03:45:06'
2026-05-02 03:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 6, 978318, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17264, 'high': 1.17403, 'low': 1.17224, 'close': 1.17229, 'volume': 74.0} | asctime='2026-05-02 03:45:06'
2026-05-02 03:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 7, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 03:45:06'
2026-05-02 03:45:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 45, 7, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 03:45:07'
2026-05-02 03:46:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 46, 33, 975515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17119, 'close': 1.17119, 'volume': 2.0} | asctime='2026-05-02 03:46:33'
2026-05-02 03:46:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 46, 33, 976628, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17226, 'high': 1.17251, 'low': 1.17226, 'close': 1.17251, 'volume': 2.0} | asctime='2026-05-02 03:46:33'
2026-05-02 03:46:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 46, 34, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 03:46:33'
2026-05-02 03:46:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 46, 36, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:46:36'
2026-05-02 03:46:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 46, 50, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 03:46:50'
2026-05-02 03:47:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 44, 324707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17155, 'low': 1.1712, 'close': 1.17155, 'volume': 3.0} | asctime='2026-05-02 03:47:44'
2026-05-02 03:47:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 44, 325733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17253, 'low': 1.17245, 'close': 1.17245, 'volume': 3.0} | asctime='2026-05-02 03:47:44'
2026-05-02 03:47:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 44, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 03:47:44'
2026-05-02 03:47:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 45, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 03:47:45'
2026-05-02 03:47:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 49, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17174, 'volume': 0.0} | asctime='2026-05-02 03:47:49'
2026-05-02 03:47:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 50, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 03:47:50'
2026-05-02 03:47:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 50, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 03:47:50'
2026-05-02 03:47:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 50, 400000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:47:50'
2026-05-02 03:47:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 50, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:47:50'
2026-05-02 03:47:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 50, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:47:50'
2026-05-02 03:47:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 51, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 03:47:51'
2026-05-02 03:47:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 47, 57, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 03:47:57'
2026-05-02 03:48:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 48, 8, 437608, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17174, 'low': 1.17121, 'close': 1.17147, 'volume': 10.0} | asctime='2026-05-02 03:48:08'
2026-05-02 03:48:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 48, 8, 438941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17295, 'low': 1.17237, 'close': 1.17237, 'volume': 10.0} | asctime='2026-05-02 03:48:08'
2026-05-02 03:48:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 48, 8, 400000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 03:48:08'
2026-05-02 03:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 50, 16, 422783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17111, 'low': 1.17111, 'close': 1.17111, 'volume': 1.0} | asctime='2026-05-02 03:50:16'
2026-05-02 03:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 50, 16, 424047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17267, 'close': 1.17267, 'volume': 1.0} | asctime='2026-05-02 03:50:16'
2026-05-02 03:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 50, 16, 425777, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17136, 'high': 1.17174, 'low': 1.17111, 'close': 1.17111, 'volume': 16.0} | asctime='2026-05-02 03:50:16'
2026-05-02 03:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 50, 16, 427125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17226, 'high': 1.17295, 'low': 1.17226, 'close': 1.17267, 'volume': 16.0} | asctime='2026-05-02 03:50:16'
2026-05-02 03:50:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 50, 16, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 03:50:16'
2026-05-02 03:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 50, 21, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 03:50:21'
2026-05-02 03:50:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 50, 40, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 03:50:40'
2026-05-02 03:51:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 51, 6, 172870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17155, 'low': 1.17127, 'close': 1.17141, 'volume': 3.0} | asctime='2026-05-02 03:51:06'
2026-05-02 03:51:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 51, 6, 173670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17273, 'low': 1.17245, 'close': 1.17273, 'volume': 3.0} | asctime='2026-05-02 03:51:06'
2026-05-02 03:51:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 51, 6, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:51:06'
2026-05-02 03:51:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 51, 40, 896000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 03:51:40'
2026-05-02 03:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 51, 55, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:51:55'
2026-05-02 03:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 51, 55, 418000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 03:51:55'
2026-05-02 03:51:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 51, 57, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 03:51:57'
2026-05-02 03:52:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 52, 53, 21890, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17141, 'low': 1.17125, 'close': 1.17125, 'volume': 5.0} | asctime='2026-05-02 03:52:53'
2026-05-02 03:52:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 52, 53, 22639, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.1729, 'low': 1.17271, 'close': 1.17281, 'volume': 5.0} | asctime='2026-05-02 03:52:53'
2026-05-02 03:52:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 52, 53, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 03:52:53'
2026-05-02 03:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 2, 221660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 03:53:02'
2026-05-02 03:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 2, 222670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17283, 'low': 1.17283, 'close': 1.17283, 'volume': 1.0} | asctime='2026-05-02 03:53:02'
2026-05-02 03:53:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 2, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:53:02'
2026-05-02 03:53:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 4, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 03:53:04'
2026-05-02 03:53:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 10, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 03:53:10'
2026-05-02 03:53:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 10, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 03:53:10'
2026-05-02 03:53:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 13, 861000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 03:53:13'
2026-05-02 03:53:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 13, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 03:53:13'
2026-05-02 03:53:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 14, 979000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 03:53:14'
2026-05-02 03:53:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 16, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:53:16'
2026-05-02 03:53:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 53, 26, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 03:53:26'
2026-05-02 03:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 54, 25, 20785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17168, 'low': 1.17128, 'close': 1.17168, 'volume': 9.0} | asctime='2026-05-02 03:54:25'
2026-05-02 03:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 54, 25, 22986, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17252, 'close': 1.17258, 'volume': 9.0} | asctime='2026-05-02 03:54:25'
2026-05-02 03:54:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 54, 25, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:54:25'
2026-05-02 03:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 55, 32, 519544, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17139, 'low': 1.17139, 'close': 1.17139, 'volume': 1.0} | asctime='2026-05-02 03:55:32'
2026-05-02 03:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 55, 32, 520767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17271, 'close': 1.17271, 'volume': 1.0} | asctime='2026-05-02 03:55:32'
2026-05-02 03:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 55, 32, 521904, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17168, 'low': 1.17125, 'close': 1.17139, 'volume': 19.0} | asctime='2026-05-02 03:55:32'
2026-05-02 03:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 55, 32, 522384, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.1729, 'low': 1.17245, 'close': 1.17271, 'volume': 19.0} | asctime='2026-05-02 03:55:32'
2026-05-02 03:55:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 55, 32, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 03:55:32'
2026-05-02 03:55:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 55, 43, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:55:43'
2026-05-02 03:56:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 56, 51, 468819, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17153, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 03:56:51'
2026-05-02 03:56:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 56, 51, 472180, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 03:56:51'
2026-05-02 03:56:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 56, 51, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 03:56:51'
2026-05-02 03:56:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 56, 56, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 03:56:55'
2026-05-02 03:56:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 56, 58, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 03:56:57'
2026-05-02 03:57:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 57, 12, 669196, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17142, 'low': 1.17136, 'close': 1.17142, 'volume': 3.0} | asctime='2026-05-02 03:57:12'
2026-05-02 03:57:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 57, 12, 670017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17274, 'low': 1.17268, 'close': 1.17274, 'volume': 3.0} | asctime='2026-05-02 03:57:12'
2026-05-02 03:57:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 57, 12, 793000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 03:57:12'
2026-05-02 03:57:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 57, 33, 398000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 03:57:33'
2026-05-02 03:57:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 57, 35, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 03:57:35'
2026-05-02 03:57:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 57, 39, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 03:57:39'
2026-05-02 03:57:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 57, 47, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 03:57:47'
2026-05-02 03:58:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 58, 32, 522018, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17156, 'low': 1.17099, 'close': 1.17099, 'volume': 5.0} | asctime='2026-05-02 03:58:32'
2026-05-02 03:58:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 58, 32, 524738, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17295, 'high': 1.17295, 'low': 1.17255, 'close': 1.17255, 'volume': 5.0} | asctime='2026-05-02 03:58:32'
2026-05-02 03:58:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 58, 32, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 03:58:32'
2026-05-02 03:58:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 58, 37, 940000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 03:58:37'
2026-05-02 03:58:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 58, 52, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 03:58:52'
2026-05-02 03:59:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 59, 52, 66994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17121, 'close': 1.17121, 'volume': 3.0} | asctime='2026-05-02 03:59:52'
2026-05-02 03:59:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 59, 52, 67980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17258, 'low': 1.17245, 'close': 1.17253, 'volume': 3.0} | asctime='2026-05-02 03:59:52'
2026-05-02 03:59:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 59, 52, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17301, 'bid_price': 1.17073, 'volume': 0.0} | asctime='2026-05-02 03:59:52'
2026-05-02 03:59:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 59, 53, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 03:59:53'
2026-05-02 03:59:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 3, 59, 54, 895000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 03:59:54'
2026-05-02 04:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 4, 467006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17073, 'high': 1.17153, 'low': 1.17073, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 04:00:04'
2026-05-02 04:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 4, 468584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17301, 'high': 1.17301, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 04:00:04'
2026-05-02 04:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 4, 469226, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17156, 'low': 1.17073, 'close': 1.17153, 'volume': 16.0} | asctime='2026-05-02 04:00:04'
2026-05-02 04:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 4, 469688, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.17301, 'low': 1.17243, 'close': 1.17243, 'volume': 16.0} | asctime='2026-05-02 04:00:04'
2026-05-02 04:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 4, 470099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17136, 'high': 1.17174, 'low': 1.17073, 'close': 1.17153, 'volume': 51.0} | asctime='2026-05-02 04:00:04'
2026-05-02 04:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 4, 470493, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17226, 'high': 1.17301, 'low': 1.17226, 'close': 1.17243, 'volume': 51.0} | asctime='2026-05-02 04:00:04'
2026-05-02 04:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 4, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:00:04'
2026-05-02 04:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 6, 940000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 04:00:06'
2026-05-02 04:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 0, 34, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 04:00:34'
2026-05-02 04:01:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 5, 416772, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17166, 'low': 1.17116, 'close': 1.17116, 'volume': 3.0} | asctime='2026-05-02 04:01:05'
2026-05-02 04:01:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 5, 418252, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17272, 'low': 1.17256, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 04:01:05'
2026-05-02 04:01:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 5, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 04:01:05'
2026-05-02 04:01:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 7, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 04:01:07'
2026-05-02 04:01:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 8, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 04:01:07'
2026-05-02 04:01:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 12, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:01:12'
2026-05-02 04:01:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 12, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 04:01:12'
2026-05-02 04:01:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 20, 538000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 04:01:20'
2026-05-02 04:01:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 23, 393000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 04:01:23'
2026-05-02 04:01:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 32, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 04:01:32'
2026-05-02 04:01:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 1, 42, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 04:01:42'
2026-05-02 04:02:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 2, 42, 465239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17147, 'low': 1.1712, 'close': 1.17147, 'volume': 9.0} | asctime='2026-05-02 04:02:42'
2026-05-02 04:02:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 2, 42, 465864, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17285, 'low': 1.17237, 'close': 1.17237, 'volume': 9.0} | asctime='2026-05-02 04:02:42'
2026-05-02 04:02:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 2, 42, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:02:42'
2026-05-02 04:02:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 2, 46, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 04:02:46'
2026-05-02 04:03:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 3, 10, 514792, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17108, 'close': 1.17108, 'volume': 2.0} | asctime='2026-05-02 04:03:10'
2026-05-02 04:03:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 3, 10, 515798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17288, 'low': 1.17281, 'close': 1.17288, 'volume': 2.0} | asctime='2026-05-02 04:03:10'
2026-05-02 04:03:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 3, 10, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 04:03:10'
2026-05-02 04:03:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 3, 19, 446000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:03:19'
2026-05-02 04:03:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 3, 26, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 04:03:26'
2026-05-02 04:03:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 3, 44, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 04:03:44'
2026-05-02 04:04:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 4, 28, 614721, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17151, 'low': 1.17137, 'close': 1.17151, 'volume': 4.0} | asctime='2026-05-02 04:04:28'
2026-05-02 04:04:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 4, 28, 615729, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17293, 'high': 1.17293, 'low': 1.17241, 'close': 1.17241, 'volume': 4.0} | asctime='2026-05-02 04:04:28'
2026-05-02 04:04:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 4, 28, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 04:04:28'
2026-05-02 04:04:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 4, 38, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:04:38'
2026-05-02 04:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 5, 2, 864161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.1714, 'close': 1.1714, 'volume': 2.0} | asctime='2026-05-02 04:05:02'
2026-05-02 04:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 5, 2, 866198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17236, 'low': 1.1723, 'close': 1.1723, 'volume': 2.0} | asctime='2026-05-02 04:05:02'
2026-05-02 04:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 5, 2, 867699, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17166, 'low': 1.17108, 'close': 1.1714, 'volume': 20.0} | asctime='2026-05-02 04:05:02'
2026-05-02 04:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 5, 2, 868890, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17272, 'high': 1.17293, 'low': 1.1723, 'close': 1.1723, 'volume': 20.0} | asctime='2026-05-02 04:05:02'
2026-05-02 04:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 5, 2, 965000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 04:05:02'
2026-05-02 04:05:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 5, 12, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 04:05:12'
2026-05-02 04:06:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 10, 413613, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17118, 'low': 1.17113, 'close': 1.17113, 'volume': 2.0} | asctime='2026-05-02 04:06:10'
2026-05-02 04:06:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 10, 414786, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17269, 'low': 1.1725, 'close': 1.17269, 'volume': 2.0} | asctime='2026-05-02 04:06:10'
2026-05-02 04:06:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 10, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 04:06:10'
2026-05-02 04:06:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 10, 857000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17323, 'bid_price': 1.17071, 'volume': 0.0} | asctime='2026-05-02 04:06:10'
2026-05-02 04:06:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 10, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17345, 'bid_price': 1.17071, 'volume': 0.0} | asctime='2026-05-02 04:06:10'
2026-05-02 04:06:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 11, 354000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 04:06:11'
2026-05-02 04:06:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 20, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 04:06:20'
2026-05-02 04:06:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 28, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 04:06:28'
2026-05-02 04:06:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 39, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 04:06:39'
2026-05-02 04:06:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 48, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 04:06:48'
2026-05-02 04:06:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 57, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 04:06:57'
2026-05-02 04:06:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 6, 58, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:06:58'
2026-05-02 04:07:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 10, 563269, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17157, 'low': 1.17071, 'close': 1.17125, 'volume': 10.0} | asctime='2026-05-02 04:07:10'
2026-05-02 04:07:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 10, 564534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17345, 'low': 1.17247, 'close': 1.17257, 'volume': 10.0} | asctime='2026-05-02 04:07:10'
2026-05-02 04:07:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 10, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 04:07:10'
2026-05-02 04:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 14, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17088, 'volume': 0.0} | asctime='2026-05-02 04:07:14'
2026-05-02 04:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 14, 532000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 04:07:14'
2026-05-02 04:07:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 20, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 04:07:20'
2026-05-02 04:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 22, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:07:22'
2026-05-02 04:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 24, 214000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 04:07:24'
2026-05-02 04:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 24, 462000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 04:07:24'
2026-05-02 04:07:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 36, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 04:07:36'
2026-05-02 04:07:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 42, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 04:07:41'
2026-05-02 04:07:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 42, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 04:07:42'
2026-05-02 04:07:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 42, 460000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17308, 'bid_price': 1.1708, 'volume': 0.0} | asctime='2026-05-02 04:07:42'
2026-05-02 04:07:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 46, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17305, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 04:07:46'
2026-05-02 04:07:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 48, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1731, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 04:07:48'
2026-05-02 04:07:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 48, 418000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17351, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 04:07:48'
2026-05-02 04:07:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 50, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 04:07:50'
2026-05-02 04:07:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 53, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:07:53'
2026-05-02 04:07:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 55, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 04:07:55'
2026-05-02 04:07:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 56, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 04:07:56'
2026-05-02 04:07:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 56, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 04:07:56'
2026-05-02 04:07:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 56, 858000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17318, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 04:07:56'
2026-05-02 04:07:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 7, 57, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:07:57'
2026-05-02 04:08:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 2, 211865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.1717, 'low': 1.17077, 'close': 1.17136, 'volume': 21.0} | asctime='2026-05-02 04:08:02'
2026-05-02 04:08:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 2, 212601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17351, 'low': 1.17245, 'close': 1.17268, 'volume': 21.0} | asctime='2026-05-02 04:08:02'
2026-05-02 04:08:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 2, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 04:08:02'
2026-05-02 04:08:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 22, 799000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 04:08:22'
2026-05-02 04:08:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 28, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 04:08:28'
2026-05-02 04:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 30, 371000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 04:08:30'
2026-05-02 04:08:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 32, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 04:08:32'
2026-05-02 04:08:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 42, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 04:08:42'
2026-05-02 04:08:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 8, 58, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 04:08:57'
2026-05-02 04:09:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 9, 34, 911665, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17114, 'close': 1.17124, 'volume': 7.0} | asctime='2026-05-02 04:09:34'
2026-05-02 04:09:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 9, 34, 916001, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.1728, 'low': 1.17252, 'close': 1.17256, 'volume': 7.0} | asctime='2026-05-02 04:09:34'
2026-05-02 04:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 9, 35, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 04:09:34'
2026-05-02 04:09:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 9, 39, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 04:09:39'
2026-05-02 04:09:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 9, 40, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:09:40'
2026-05-02 04:09:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 9, 42, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 04:09:42'
2026-05-02 04:09:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 9, 52, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:09:52'
2026-05-02 04:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 10, 18, 511198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17139, 'low': 1.17116, 'close': 1.17136, 'volume': 5.0} | asctime='2026-05-02 04:10:18'
2026-05-02 04:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 10, 18, 511965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17296, 'low': 1.17276, 'close': 1.17292, 'volume': 5.0} | asctime='2026-05-02 04:10:18'
2026-05-02 04:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 10, 18, 512633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17118, 'high': 1.1717, 'low': 1.17071, 'close': 1.17136, 'volume': 45.0} | asctime='2026-05-02 04:10:18'
2026-05-02 04:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 10, 18, 513239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1725, 'high': 1.17351, 'low': 1.17245, 'close': 1.17292, 'volume': 45.0} | asctime='2026-05-02 04:10:18'
2026-05-02 04:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 10, 18, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 04:10:18'
2026-05-02 04:11:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 1, 60170, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17143, 'low': 1.17143, 'close': 1.17143, 'volume': 1.0} | asctime='2026-05-02 04:11:01'
2026-05-02 04:11:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 1, 60916, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17275, 'close': 1.17275, 'volume': 1.0} | asctime='2026-05-02 04:11:01'
2026-05-02 04:11:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 1, 181000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 04:11:01'
2026-05-02 04:11:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 26, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 04:11:26'
2026-05-02 04:11:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 41, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 04:11:41'
2026-05-02 04:11:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 43, 382000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 04:11:43'
2026-05-02 04:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 44, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 04:11:44'
2026-05-02 04:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 44, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:11:44'
2026-05-02 04:11:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 48, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 04:11:48'
2026-05-02 04:11:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 11, 50, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:11:50'
2026-05-02 04:12:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 8, 859507, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17121, 'close': 1.1714, 'volume': 8.0} | asctime='2026-05-02 04:12:08'
2026-05-02 04:12:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 8, 860161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17293, 'low': 1.17252, 'close': 1.17272, 'volume': 8.0} | asctime='2026-05-02 04:12:08'
2026-05-02 04:12:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 8, 951000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 04:12:08'
2026-05-02 04:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 12, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:12:12'
2026-05-02 04:12:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 15, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 04:12:14'
2026-05-02 04:12:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 33, 899000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 04:12:33'
2026-05-02 04:12:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 34, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17317, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 04:12:33'
2026-05-02 04:12:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 34, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17322, 'bid_price': 1.17048, 'volume': 0.0} | asctime='2026-05-02 04:12:34'
2026-05-02 04:12:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 34, 892000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17054, 'volume': 0.0} | asctime='2026-05-02 04:12:34'
2026-05-02 04:12:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 35, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 04:12:35'
2026-05-02 04:12:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 35, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:12:35'
2026-05-02 04:12:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 39, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1734, 'bid_price': 1.17066, 'volume': 0.0} | asctime='2026-05-02 04:12:39'
2026-05-02 04:12:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 40, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17364, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 04:12:40'
2026-05-02 04:12:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 40, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 04:12:40'
2026-05-02 04:12:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 12, 43, 953000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 04:12:43'
2026-05-02 04:14:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 14, 52, 58103, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17164, 'low': 1.17048, 'close': 1.17155, 'volume': 13.0} | asctime='2026-05-02 04:14:52'
2026-05-02 04:14:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 14, 52, 59813, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1729, 'high': 1.17364, 'low': 1.17245, 'close': 1.17245, 'volume': 13.0} | asctime='2026-05-02 04:14:52'
2026-05-02 04:14:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 14, 52, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:14:52'
2026-05-02 04:14:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 14, 56, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 04:14:56'
2026-05-02 04:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 14, 58, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 04:14:57'
2026-05-02 04:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 0, 8857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17134, 'close': 1.17134, 'volume': 3.0} | asctime='2026-05-02 04:15:00'
2026-05-02 04:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 0, 9527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.1729, 'low': 1.1727, 'close': 1.1729, 'volume': 3.0} | asctime='2026-05-02 04:15:00'
2026-05-02 04:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 0, 10021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17143, 'high': 1.17164, 'low': 1.17048, 'close': 1.17134, 'volume': 25.0} | asctime='2026-05-02 04:15:00'
2026-05-02 04:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 0, 12430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17275, 'high': 1.17364, 'low': 1.17245, 'close': 1.1729, 'volume': 25.0} | asctime='2026-05-02 04:15:00'
2026-05-02 04:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 0, 13816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1714, 'high': 1.1717, 'low': 1.17048, 'close': 1.17134, 'volume': 90.0} | asctime='2026-05-02 04:15:00'
2026-05-02 04:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 0, 14687, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17272, 'high': 1.17364, 'low': 1.1723, 'close': 1.1729, 'volume': 90.0} | asctime='2026-05-02 04:15:00'
2026-05-02 04:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 0, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 04:15:00'
2026-05-02 04:15:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 4, 834000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:15:04'
2026-05-02 04:15:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 5, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 04:15:04'
2026-05-02 04:15:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 7, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:15:07'
2026-05-02 04:15:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 8, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 04:15:07'
2026-05-02 04:15:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 13, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 04:15:12'
2026-05-02 04:15:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 25, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 04:15:25'
2026-05-02 04:15:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 15, 56, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 04:15:56'
2026-05-02 04:16:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 16, 19, 492515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17154, 'low': 1.1711, 'close': 1.17154, 'volume': 8.0} | asctime='2026-05-02 04:16:19'
2026-05-02 04:16:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 16, 19, 493272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17293, 'high': 1.17293, 'low': 1.17244, 'close': 1.17244, 'volume': 8.0} | asctime='2026-05-02 04:16:19'
2026-05-02 04:16:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 16, 19, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 04:16:19'
2026-05-02 04:16:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 16, 28, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:16:28'
2026-05-02 04:16:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 16, 42, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 04:16:42'
2026-05-02 04:16:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 16, 43, 387000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 04:16:43'
2026-05-02 04:16:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 16, 43, 760000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17313, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 04:16:43'
2026-05-02 04:17:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 17, 15, 970520, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17169, 'low': 1.17109, 'close': 1.17109, 'volume': 5.0} | asctime='2026-05-02 04:17:15'
2026-05-02 04:17:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 17, 15, 972448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17313, 'low': 1.17259, 'close': 1.17313, 'volume': 5.0} | asctime='2026-05-02 04:17:15'
2026-05-02 04:17:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 17, 16, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 04:17:15'
2026-05-02 04:18:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 18, 22, 652668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17137, 'close': 1.17137, 'volume': 1.0} | asctime='2026-05-02 04:18:22'
2026-05-02 04:18:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 18, 22, 653744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17269, 'close': 1.17269, 'volume': 1.0} | asctime='2026-05-02 04:18:22'
2026-05-02 04:18:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 18, 22, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 04:18:22'
2026-05-02 04:18:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 18, 23, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 04:18:23'
2026-05-02 04:18:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 18, 24, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17174, 'volume': 0.0} | asctime='2026-05-02 04:18:24'
2026-05-02 04:18:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 18, 32, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17172, 'volume': 0.0} | asctime='2026-05-02 04:18:32'
2026-05-02 04:18:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 18, 47, 758000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 04:18:47'
2026-05-02 04:19:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 13, 828408, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17174, 'low': 1.17126, 'close': 1.17171, 'volume': 5.0} | asctime='2026-05-02 04:19:13'
2026-05-02 04:19:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 13, 830290, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17282, 'low': 1.17261, 'close': 1.17261, 'volume': 5.0} | asctime='2026-05-02 04:19:13'
2026-05-02 04:19:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 13, 823000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 04:19:13'
2026-05-02 04:19:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 16, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 04:19:16'
2026-05-02 04:19:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 24, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 04:19:24'
2026-05-02 04:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 46, 467000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 04:19:46'
2026-05-02 04:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 46, 963000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 04:19:46'
2026-05-02 04:19:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 19, 58, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 04:19:58'
2026-05-02 04:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 21, 16, 137616, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17156, 'low': 1.17117, 'close': 1.17119, 'volume': 6.0} | asctime='2026-05-02 04:21:16'
2026-05-02 04:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 21, 16, 139055, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17237, 'close': 1.17275, 'volume': 6.0} | asctime='2026-05-02 04:21:16'
2026-05-02 04:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 21, 16, 139548, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.17174, 'low': 1.17109, 'close': 1.17119, 'volume': 25.0} | asctime='2026-05-02 04:21:16'
2026-05-02 04:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 21, 16, 139944, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17293, 'high': 1.17313, 'low': 1.17237, 'close': 1.17275, 'volume': 25.0} | asctime='2026-05-02 04:21:16'
2026-05-02 04:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 21, 16, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 04:21:16'
2026-05-02 04:21:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 21, 24, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:21:24'
2026-05-02 04:22:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 22, 16, 270619, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17132, 'low': 1.17129, 'close': 1.17132, 'volume': 2.0} | asctime='2026-05-02 04:22:16'
2026-05-02 04:22:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 22, 16, 271503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17264, 'low': 1.17261, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 04:22:16'
2026-05-02 04:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 22, 16, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17399, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 04:22:16'
2026-05-02 04:22:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 22, 24, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 04:22:24'
2026-05-02 04:23:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 23, 31, 969122, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17153, 'low': 1.17147, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 04:23:31'
2026-05-02 04:23:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 23, 31, 969835, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17399, 'high': 1.17399, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 04:23:31'
2026-05-02 04:23:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 23, 31, 872000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:23:31'
2026-05-02 04:23:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 23, 31, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17301, 'bid_price': 1.17097, 'volume': 0.0} | asctime='2026-05-02 04:23:32'
2026-05-02 04:23:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 23, 36, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17308, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 04:23:36'
2026-05-02 04:24:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 24, 44, 469197, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.1714, 'low': 1.17097, 'close': 1.17104, 'volume': 3.0} | asctime='2026-05-02 04:24:44'
2026-05-02 04:24:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 24, 44, 470629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17308, 'low': 1.17272, 'close': 1.17308, 'volume': 3.0} | asctime='2026-05-02 04:24:44'
2026-05-02 04:24:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 24, 44, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 04:24:44'
2026-05-02 04:24:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 24, 44, 731000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 04:24:44'
2026-05-02 04:24:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 24, 45, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 04:24:45'
2026-05-02 04:25:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 22, 668469, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.1712, 'low': 1.1705, 'close': 1.1712, 'volume': 3.0} | asctime='2026-05-02 04:25:22'
2026-05-02 04:25:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 22, 669392, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17278, 'low': 1.17265, 'close': 1.17276, 'volume': 3.0} | asctime='2026-05-02 04:25:22'
2026-05-02 04:25:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 22, 670019, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17129, 'high': 1.17153, 'low': 1.1705, 'close': 1.1712, 'volume': 10.0} | asctime='2026-05-02 04:25:22'
2026-05-02 04:25:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 22, 670557, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17261, 'high': 1.17399, 'low': 1.17243, 'close': 1.17276, 'volume': 10.0} | asctime='2026-05-02 04:25:22'
2026-05-02 04:25:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 22, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:25:22'
2026-05-02 04:25:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 31, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17049, 'volume': 0.0} | asctime='2026-05-02 04:25:31'
2026-05-02 04:25:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 56, 721000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 04:25:56'
2026-05-02 04:25:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 25, 57, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 04:25:58'
2026-05-02 04:26:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 26, 36, 517831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17049, 'close': 1.17106, 'volume': 4.0} | asctime='2026-05-02 04:26:36'
2026-05-02 04:26:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 26, 36, 518567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17277, 'low': 1.17262, 'close': 1.17262, 'volume': 4.0} | asctime='2026-05-02 04:26:36'
2026-05-02 04:26:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 26, 36, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 04:26:36'
2026-05-02 04:26:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 26, 36, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17065, 'volume': 0.0} | asctime='2026-05-02 04:26:36'
2026-05-02 04:26:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 26, 44, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 04:26:44'
2026-05-02 04:27:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 27, 5, 716661, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17104, 'high': 1.17111, 'low': 1.17065, 'close': 1.17111, 'volume': 3.0} | asctime='2026-05-02 04:27:05'
2026-05-02 04:27:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 27, 5, 718470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17269, 'low': 1.1726, 'close': 1.17267, 'volume': 3.0} | asctime='2026-05-02 04:27:05'
2026-05-02 04:27:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 27, 5, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 04:27:05'
2026-05-02 04:28:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 28, 19, 165961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 04:28:19'
2026-05-02 04:28:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 28, 19, 167504, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17263, 'close': 1.17263, 'volume': 1.0} | asctime='2026-05-02 04:28:19'
2026-05-02 04:28:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 28, 19, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17299, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 04:28:19'
2026-05-02 04:28:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 28, 28, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17094, 'volume': 0.0} | asctime='2026-05-02 04:28:28'
2026-05-02 04:29:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 29, 36, 766179, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17095, 'high': 1.17095, 'low': 1.17094, 'close': 1.17094, 'volume': 2.0} | asctime='2026-05-02 04:29:36'
2026-05-02 04:29:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 29, 36, 766885, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17299, 'high': 1.17299, 'low': 1.17298, 'close': 1.17298, 'volume': 2.0} | asctime='2026-05-02 04:29:36'
2026-05-02 04:29:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 29, 36, 663000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 04:29:36'
2026-05-02 04:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 2, 465992, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17138, 'close': 1.17138, 'volume': 1.0} | asctime='2026-05-02 04:30:02'
2026-05-02 04:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 2, 466808, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17294, 'high': 1.17294, 'low': 1.17294, 'close': 1.17294, 'volume': 1.0} | asctime='2026-05-02 04:30:02'
2026-05-02 04:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 2, 467847, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17136, 'high': 1.17138, 'low': 1.17049, 'close': 1.17138, 'volume': 11.0} | asctime='2026-05-02 04:30:02'
2026-05-02 04:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 2, 468675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.17299, 'low': 1.1726, 'close': 1.17294, 'volume': 11.0} | asctime='2026-05-02 04:30:02'
2026-05-02 04:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 2, 469559, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17137, 'high': 1.17174, 'low': 1.17049, 'close': 1.17138, 'volume': 46.0} | asctime='2026-05-02 04:30:02'
2026-05-02 04:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 2, 470396, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17293, 'high': 1.17399, 'low': 1.17237, 'close': 1.17294, 'volume': 46.0} | asctime='2026-05-02 04:30:02'
2026-05-02 04:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 2, 355000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 04:30:02'
2026-05-02 04:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 7, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 04:30:07'
2026-05-02 04:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 40, 337000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:30:40'
2026-05-02 04:30:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 48, 652000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 04:30:48'
2026-05-02 04:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 30, 50, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:30:50'
2026-05-02 04:32:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 32, 20, 713663, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17138, 'low': 1.17125, 'close': 1.17125, 'volume': 5.0} | asctime='2026-05-02 04:32:20'
2026-05-02 04:32:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 32, 20, 715055, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17287, 'high': 1.17287, 'low': 1.17228, 'close': 1.17257, 'volume': 5.0} | asctime='2026-05-02 04:32:20'
2026-05-02 04:32:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 32, 20, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:32:20'
2026-05-02 04:32:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 32, 28, 693000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 04:32:28'
2026-05-02 04:32:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 32, 40, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:32:40'
2026-05-02 04:33:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 33, 3, 63604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17158, 'low': 1.17139, 'close': 1.1714, 'volume': 3.0} | asctime='2026-05-02 04:33:03'
2026-05-02 04:33:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 33, 3, 65647, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17272, 'low': 1.17248, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 04:33:03'
2026-05-02 04:33:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 33, 2, 951000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 04:33:03'
2026-05-02 04:33:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 33, 18, 714000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 04:33:18'
2026-05-02 04:33:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 33, 31, 375000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 04:33:31'
2026-05-02 04:33:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 33, 32, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 04:33:32'
2026-05-02 04:35:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 40, 561886, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17169, 'high': 1.17169, 'low': 1.17113, 'close': 1.17114, 'volume': 4.0} | asctime='2026-05-02 04:35:40'
2026-05-02 04:35:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 40, 562955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17284, 'low': 1.17259, 'close': 1.1727, 'volume': 4.0} | asctime='2026-05-02 04:35:40'
2026-05-02 04:35:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 40, 565032, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17131, 'high': 1.17169, 'low': 1.17113, 'close': 1.17114, 'volume': 12.0} | asctime='2026-05-02 04:35:40'
2026-05-02 04:35:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 40, 566245, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17287, 'high': 1.17287, 'low': 1.17228, 'close': 1.1727, 'volume': 12.0} | asctime='2026-05-02 04:35:40'
2026-05-02 04:35:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 40, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 04:35:40'
2026-05-02 04:35:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 41, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 04:35:42'
2026-05-02 04:35:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 42, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 04:35:42'
2026-05-02 04:35:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 35, 54, 488000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 04:35:54'
2026-05-02 04:36:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 36, 2, 763841, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17113, 'low': 1.17109, 'close': 1.17113, 'volume': 4.0} | asctime='2026-05-02 04:36:02'
2026-05-02 04:36:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 36, 2, 764734, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17269, 'low': 1.17265, 'close': 1.17269, 'volume': 4.0} | asctime='2026-05-02 04:36:02'
2026-05-02 04:36:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 36, 2, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:36:02'
2026-05-02 04:36:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 36, 22, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 04:36:22'
2026-05-02 04:37:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 37, 24, 711101, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17141, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 04:37:24'
2026-05-02 04:37:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 37, 24, 711925, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17273, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 04:37:24'
2026-05-02 04:37:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 37, 24, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 04:37:24'
2026-05-02 04:38:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 38, 9, 111005, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17137, 'close': 1.17137, 'volume': 1.0} | asctime='2026-05-02 04:38:09'
2026-05-02 04:38:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 38, 9, 112340, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17269, 'close': 1.17269, 'volume': 1.0} | asctime='2026-05-02 04:38:09'
2026-05-02 04:38:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 38, 9, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:38:09'
2026-05-02 04:38:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 38, 9, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 04:38:09'
2026-05-02 04:38:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 38, 10, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 04:38:10'
2026-05-02 04:38:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 38, 18, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:38:18'
2026-05-02 04:38:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 38, 22, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:38:22'
2026-05-02 04:39:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 39, 18, 760559, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.1714, 'low': 1.17113, 'close': 1.1714, 'volume': 5.0} | asctime='2026-05-02 04:39:18'
2026-05-02 04:39:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 39, 18, 762397, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17272, 'low': 1.17257, 'close': 1.17272, 'volume': 5.0} | asctime='2026-05-02 04:39:18'
2026-05-02 04:39:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 39, 18, 668000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 04:39:18'
2026-05-02 04:39:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 39, 32, 817000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 04:39:32'
2026-05-02 04:39:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 39, 59, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 04:39:59'
2026-05-02 04:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 209309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17166, 'high': 1.17166, 'low': 1.17116, 'close': 1.17116, 'volume': 3.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 210099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17272, 'low': 1.17256, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 210932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.17166, 'low': 1.17109, 'close': 1.17116, 'volume': 15.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 211487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17274, 'low': 1.17256, 'close': 1.17272, 'volume': 15.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17225, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 240000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17364, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17045, 'volume': 0.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:40:19'
2026-05-02 04:40:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 19, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 04:40:20'
2026-05-02 04:40:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 20, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 04:40:20'
2026-05-02 04:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 22, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:40:22'
2026-05-02 04:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 22, 467000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 04:40:22'
2026-05-02 04:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 22, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 04:40:22'
2026-05-02 04:40:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 23, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17309, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 04:40:23'
2026-05-02 04:40:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 24, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 04:40:24'
2026-05-02 04:40:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 25, 322000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 04:40:25'
2026-05-02 04:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 27, 929000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17305, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 04:40:28'
2026-05-02 04:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 28, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17075, 'volume': 0.0} | asctime='2026-05-02 04:40:28'
2026-05-02 04:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 28, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 04:40:28'
2026-05-02 04:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 28, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 04:40:28'
2026-05-02 04:40:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 29, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 04:40:29'
2026-05-02 04:40:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 40, 57, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 04:40:58'
2026-05-02 04:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 41, 12, 809098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17166, 'low': 1.17045, 'close': 1.17133, 'volume': 18.0} | asctime='2026-05-02 04:41:12'
2026-05-02 04:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 41, 12, 809935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17225, 'high': 1.17364, 'low': 1.17225, 'close': 1.17265, 'volume': 18.0} | asctime='2026-05-02 04:41:12'
2026-05-02 04:41:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 41, 12, 736000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:41:12'
2026-05-02 04:41:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 41, 48, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:41:48'
2026-05-02 04:41:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 41, 53, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 04:41:53'
2026-05-02 04:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 41, 58, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 04:41:58'
2026-05-02 04:42:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 42, 35, 508204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17165, 'low': 1.17132, 'close': 1.1715, 'volume': 4.0} | asctime='2026-05-02 04:42:35'
2026-05-02 04:42:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 42, 35, 510206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17282, 'low': 1.17255, 'close': 1.17282, 'volume': 4.0} | asctime='2026-05-02 04:42:35'
2026-05-02 04:42:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 42, 35, 403000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:42:35'
2026-05-02 04:42:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 42, 35, 899000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17405, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 04:42:36'
2026-05-02 04:42:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 42, 44, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:42:44'
2026-05-02 04:44:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 44, 8, 706793, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17131, 'close': 1.17136, 'volume': 3.0} | asctime='2026-05-02 04:44:08'
2026-05-02 04:44:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 44, 8, 708093, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17298, 'high': 1.17405, 'low': 1.17268, 'close': 1.17268, 'volume': 3.0} | asctime='2026-05-02 04:44:08'
2026-05-02 04:44:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 44, 8, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:44:08'
2026-05-02 04:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 4, 706243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17132, 'close': 1.17132, 'volume': 1.0} | asctime='2026-05-02 04:45:04'
2026-05-02 04:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 4, 707089, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17264, 'close': 1.17264, 'volume': 1.0} | asctime='2026-05-02 04:45:04'
2026-05-02 04:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 4, 708824, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17135, 'high': 1.17166, 'low': 1.17045, 'close': 1.17132, 'volume': 26.0} | asctime='2026-05-02 04:45:04'
2026-05-02 04:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 4, 709930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17225, 'high': 1.17405, 'low': 1.17225, 'close': 1.17264, 'volume': 26.0} | asctime='2026-05-02 04:45:04'
2026-05-02 04:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 4, 710379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17131, 'high': 1.17169, 'low': 1.17045, 'close': 1.17132, 'volume': 53.0} | asctime='2026-05-02 04:45:04'
2026-05-02 04:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 4, 712123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17287, 'high': 1.17405, 'low': 1.17225, 'close': 1.17264, 'volume': 53.0} | asctime='2026-05-02 04:45:04'
2026-05-02 04:45:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 4, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 04:45:04'
2026-05-02 04:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 7, 949000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 04:45:08'
2026-05-02 04:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 8, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:45:08'
2026-05-02 04:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 45, 45, 931000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:45:46'
2026-05-02 04:46:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 15, 706159, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17142, 'low': 1.17126, 'close': 1.17142, 'volume': 4.0} | asctime='2026-05-02 04:46:15'
2026-05-02 04:46:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 15, 707421, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17274, 'low': 1.17258, 'close': 1.17274, 'volume': 4.0} | asctime='2026-05-02 04:46:15'
2026-05-02 04:46:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 15, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 04:46:15'
2026-05-02 04:46:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 16, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17317, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 04:46:16'
2026-05-02 04:46:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 17, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.17086, 'volume': 0.0} | asctime='2026-05-02 04:46:17'
2026-05-02 04:46:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 21, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17309, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 04:46:21'
2026-05-02 04:46:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 21, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17312, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:46:21'
2026-05-02 04:46:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 43, 771000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 04:46:43'
2026-05-02 04:46:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 45, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 04:46:45'
2026-05-02 04:46:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 46, 45, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 04:46:45'
2026-05-02 04:47:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 11, 555297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17163, 'low': 1.17081, 'close': 1.17118, 'volume': 8.0} | asctime='2026-05-02 04:47:11'
2026-05-02 04:47:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 11, 556099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17317, 'low': 1.17253, 'close': 1.17274, 'volume': 8.0} | asctime='2026-05-02 04:47:11'
2026-05-02 04:47:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 11, 450000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17092, 'volume': 0.0} | asctime='2026-05-02 04:47:11'
2026-05-02 04:47:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 12, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 04:47:12'
2026-05-02 04:47:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 21, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 04:47:21'
2026-05-02 04:47:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 24, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 04:47:24'
2026-05-02 04:47:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 27, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 04:47:27'
2026-05-02 04:47:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 27, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17088, 'volume': 0.0} | asctime='2026-05-02 04:47:27'
2026-05-02 04:47:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 27, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17062, 'volume': 0.0} | asctime='2026-05-02 04:47:27'
2026-05-02 04:47:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 29, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 04:47:29'
2026-05-02 04:47:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 31, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 04:47:31'
2026-05-02 04:47:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 40, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 04:47:40'
2026-05-02 04:47:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 57, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 04:47:58'
2026-05-02 04:47:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 47, 59, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 04:47:59'
2026-05-02 04:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 2, 654395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17092, 'high': 1.17166, 'low': 1.17062, 'close': 1.17166, 'volume': 12.0} | asctime='2026-05-02 04:48:02'
2026-05-02 04:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 2, 655321, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17292, 'low': 1.17252, 'close': 1.17256, 'volume': 12.0} | asctime='2026-05-02 04:48:02'
2026-05-02 04:48:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 2, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:48:02'
2026-05-02 04:48:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 6, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:48:06'
2026-05-02 04:48:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 9, 789000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 04:48:09'
2026-05-02 04:48:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 15, 871000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 04:48:15'
2026-05-02 04:48:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 16, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 04:48:16'
2026-05-02 04:48:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 23, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 04:48:23'
2026-05-02 04:48:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 31, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 04:48:31'
2026-05-02 04:48:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 48, 40, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 04:48:40'
2026-05-02 04:49:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 8, 354180, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17159, 'low': 1.17108, 'close': 1.17129, 'volume': 8.0} | asctime='2026-05-02 04:49:08'
2026-05-02 04:49:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 8, 355033, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17292, 'low': 1.17249, 'close': 1.17261, 'volume': 8.0} | asctime='2026-05-02 04:49:08'
2026-05-02 04:49:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 8, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 04:49:08'
2026-05-02 04:49:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 12, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 04:49:13'
2026-05-02 04:49:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 14, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 04:49:14'
2026-05-02 04:49:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 17, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 04:49:17'
2026-05-02 04:49:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 19, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 04:49:19'
2026-05-02 04:49:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 49, 28, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 04:49:28'
2026-05-02 04:50:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 50, 43, 903660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.1715, 'low': 1.17115, 'close': 1.1715, 'volume': 6.0} | asctime='2026-05-02 04:50:43'
2026-05-02 04:50:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 50, 43, 904378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17286, 'low': 1.17262, 'close': 1.17282, 'volume': 6.0} | asctime='2026-05-02 04:50:43'
2026-05-02 04:50:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 50, 43, 906192, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17166, 'low': 1.17062, 'close': 1.1715, 'volume': 38.0} | asctime='2026-05-02 04:50:43'
2026-05-02 04:50:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 50, 43, 907341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.17317, 'low': 1.17249, 'close': 1.17282, 'volume': 38.0} | asctime='2026-05-02 04:50:43'
2026-05-02 04:50:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 50, 43, 826000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 04:50:43'
2026-05-02 04:50:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 50, 49, 908000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:50:50'
2026-05-02 04:51:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 1, 302580, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17136, 'close': 1.17136, 'volume': 2.0} | asctime='2026-05-02 04:51:01'
2026-05-02 04:51:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 1, 303482, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17288, 'high': 1.17292, 'low': 1.17288, 'close': 1.17292, 'volume': 2.0} | asctime='2026-05-02 04:51:01'
2026-05-02 04:51:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 1, 204000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:51:01'
2026-05-02 04:51:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 1, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 04:51:01'
2026-05-02 04:51:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 1, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17304, 'bid_price': 1.17076, 'volume': 0.0} | asctime='2026-05-02 04:51:01'
2026-05-02 04:51:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 1, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 04:51:02'
2026-05-02 04:51:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 2, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 04:51:02'
2026-05-02 04:51:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 3, 314000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 04:51:03'
2026-05-02 04:51:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 25, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:51:25'
2026-05-02 04:51:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 29, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:51:29'
2026-05-02 04:51:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 33, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 04:51:33'
2026-05-02 04:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 34, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 04:51:34'
2026-05-02 04:51:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 40, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 04:51:40'
2026-05-02 04:51:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 51, 58, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 04:51:58'
2026-05-02 04:53:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 53, 5, 651436, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17154, 'low': 1.17076, 'close': 1.17138, 'volume': 12.0} | asctime='2026-05-02 04:53:05'
2026-05-02 04:53:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 53, 5, 652580, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17304, 'low': 1.17257, 'close': 1.17294, 'volume': 12.0} | asctime='2026-05-02 04:53:05'
2026-05-02 04:53:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 53, 5, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 04:53:05'
2026-05-02 04:53:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 53, 6, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 04:53:06'
2026-05-02 04:53:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 53, 11, 284000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 04:53:11'
2026-05-02 04:53:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 53, 17, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 04:53:18'
2026-05-02 04:54:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 54, 12, 551271, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17109, 'close': 1.17109, 'volume': 4.0} | asctime='2026-05-02 04:54:12'
2026-05-02 04:54:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 54, 12, 552198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17296, 'low': 1.17248, 'close': 1.17265, 'volume': 4.0} | asctime='2026-05-02 04:54:12'
2026-05-02 04:54:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 54, 12, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 04:54:12'
2026-05-02 04:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 55, 14, 850424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17112, 'low': 1.17112, 'close': 1.17112, 'volume': 1.0} | asctime='2026-05-02 04:55:14'
2026-05-02 04:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 55, 14, 851340, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17268, 'close': 1.17268, 'volume': 1.0} | asctime='2026-05-02 04:55:14'
2026-05-02 04:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 55, 14, 852660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17156, 'high': 1.17158, 'low': 1.17076, 'close': 1.17112, 'volume': 19.0} | asctime='2026-05-02 04:55:14'
2026-05-02 04:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 55, 14, 854556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17288, 'high': 1.17304, 'low': 1.17248, 'close': 1.17268, 'volume': 19.0} | asctime='2026-05-02 04:55:14'
2026-05-02 04:55:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 55, 14, 784000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:55:14'
2026-05-02 04:55:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 55, 46, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 04:55:46'
2026-05-02 04:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 55, 56, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 04:55:56'
2026-05-02 04:56:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 56, 8, 250338, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17169, 'low': 1.17139, 'close': 1.17169, 'volume': 3.0} | asctime='2026-05-02 04:56:08'
2026-05-02 04:56:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 56, 8, 251115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17273, 'low': 1.17259, 'close': 1.17259, 'volume': 3.0} | asctime='2026-05-02 04:56:08'
2026-05-02 04:56:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 56, 8, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 04:56:08'
2026-05-02 04:56:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 56, 13, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 04:56:14'
2026-05-02 04:56:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 56, 53, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 04:56:53'
2026-05-02 04:56:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 56, 58, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 04:56:58'
2026-05-02 04:57:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 57, 24, 698803, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17141, 'low': 1.17121, 'close': 1.17121, 'volume': 4.0} | asctime='2026-05-02 04:57:24'
2026-05-02 04:57:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 57, 24, 699532, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17277, 'low': 1.1727, 'close': 1.17277, 'volume': 4.0} | asctime='2026-05-02 04:57:24'
2026-05-02 04:57:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 57, 24, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 04:57:24'
2026-05-02 04:57:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 57, 24, 748000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 04:57:24'
2026-05-02 04:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 57, 25, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17304, 'bid_price': 1.17076, 'volume': 0.0} | asctime='2026-05-02 04:57:25'
2026-05-02 04:57:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 57, 38, 638000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 04:57:38'
2026-05-02 04:58:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 58, 20, 48261, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17076, 'close': 1.17109, 'volume': 4.0} | asctime='2026-05-02 04:58:20'
2026-05-02 04:58:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 58, 20, 49781, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17304, 'low': 1.17265, 'close': 1.17265, 'volume': 4.0} | asctime='2026-05-02 04:58:20'
2026-05-02 04:58:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 58, 19, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 04:58:20'
2026-05-02 04:58:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 58, 30, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 04:58:30'
2026-05-02 04:59:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 59, 8, 348267, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17105, 'high': 1.17125, 'low': 1.17105, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 04:59:08'
2026-05-02 04:59:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 59, 8, 349295, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17285, 'high': 1.17285, 'low': 1.17281, 'close': 1.17281, 'volume': 2.0} | asctime='2026-05-02 04:59:08'
2026-05-02 04:59:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 59, 8, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 04:59:08'
2026-05-02 04:59:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 4, 59, 11, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 04:59:11'
2026-05-02 07:00:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 6, 526153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17142, 'close': 1.17142, 'volume': 2.0} | asctime='2026-05-02 07:00:06'
2026-05-02 07:00:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 6, 527083, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17274, 'low': 1.17243, 'close': 1.17274, 'volume': 2.0} | asctime='2026-05-02 07:00:06'
2026-05-02 07:00:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 6, 528170, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17169, 'low': 1.17076, 'close': 1.17142, 'volume': 15.0} | asctime='2026-05-02 07:00:06'
2026-05-02 07:00:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 6, 530056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17304, 'low': 1.17243, 'close': 1.17274, 'volume': 15.0} | asctime='2026-05-02 07:00:06'
2026-05-02 07:00:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 6, 530670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17127, 'high': 1.17169, 'low': 1.17062, 'close': 1.17142, 'volume': 72.0} | asctime='2026-05-02 07:00:06'
2026-05-02 07:00:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 6, 531239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17259, 'high': 1.17317, 'low': 1.17243, 'close': 1.17274, 'volume': 72.0} | asctime='2026-05-02 07:00:06'
2026-05-02 07:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 6, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17403, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 07:00:06'
2026-05-02 07:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 10, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17409, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 07:00:10'
2026-05-02 07:00:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 22, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17403, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 07:00:22'
2026-05-02 07:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 34, 926000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17399, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 07:00:34'
2026-05-02 07:00:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 36, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 07:00:36'
2026-05-02 07:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 0, 44, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 07:00:44'
2026-05-02 07:01:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 1, 53, 25117, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.1717, 'low': 1.17129, 'close': 1.1717, 'volume': 6.0} | asctime='2026-05-02 07:01:53'
2026-05-02 07:01:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 1, 53, 26518, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17403, 'high': 1.17409, 'low': 1.17257, 'close': 1.1726, 'volume': 6.0} | asctime='2026-05-02 07:01:53'
2026-05-02 07:01:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 1, 52, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 07:01:53'
2026-05-02 07:02:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 2, 14, 975343, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17139, 'low': 1.17139, 'close': 1.17139, 'volume': 1.0} | asctime='2026-05-02 07:02:14'
2026-05-02 07:02:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 2, 14, 978314, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17271, 'close': 1.17271, 'volume': 1.0} | asctime='2026-05-02 07:02:14'
2026-05-02 07:02:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 2, 14, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 07:02:14'
2026-05-02 07:02:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 2, 44, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 07:02:44'
2026-05-02 07:02:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 2, 46, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 07:02:46'
2026-05-02 07:02:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 2, 52, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:02:52'
2026-05-02 07:03:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 3, 50, 674556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17153, 'low': 1.17118, 'close': 1.17153, 'volume': 4.0} | asctime='2026-05-02 07:03:50'
2026-05-02 07:03:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 3, 50, 675895, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17275, 'low': 1.17243, 'close': 1.17243, 'volume': 4.0} | asctime='2026-05-02 07:03:50'
2026-05-02 07:03:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 3, 50, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 07:03:50'
2026-05-02 07:03:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 3, 52, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 07:03:52'
2026-05-02 07:03:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 3, 57, 987000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 07:03:57'
2026-05-02 07:04:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 4, 22, 573897, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17136, 'low': 1.17115, 'close': 1.17136, 'volume': 3.0} | asctime='2026-05-02 07:04:22'
2026-05-02 07:04:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 4, 22, 574680, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17273, 'low': 1.17268, 'close': 1.17268, 'volume': 3.0} | asctime='2026-05-02 07:04:22'
2026-05-02 07:04:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 4, 22, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 07:04:22'
2026-05-02 07:05:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 32, 473079, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17144, 'low': 1.17144, 'close': 1.17144, 'volume': 1.0} | asctime='2026-05-02 07:05:32'
2026-05-02 07:05:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 32, 474490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17234, 'high': 1.17234, 'low': 1.17234, 'close': 1.17234, 'volume': 1.0} | asctime='2026-05-02 07:05:32'
2026-05-02 07:05:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 32, 475737, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17129, 'high': 1.1717, 'low': 1.17115, 'close': 1.17144, 'volume': 15.0} | asctime='2026-05-02 07:05:32'
2026-05-02 07:05:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 32, 485680, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17403, 'high': 1.17409, 'low': 1.17234, 'close': 1.17234, 'volume': 15.0} | asctime='2026-05-02 07:05:32'
2026-05-02 07:05:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 32, 445000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 07:05:32'
2026-05-02 07:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 34, 555000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 07:05:34'
2026-05-02 07:05:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 36, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 07:05:36'
2026-05-02 07:05:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 36, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 07:05:36'
2026-05-02 07:05:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 5, 37, 782000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 07:05:37'
2026-05-02 07:06:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 6, 9, 823440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17105, 'close': 1.17108, 'volume': 5.0} | asctime='2026-05-02 07:06:09'
2026-05-02 07:06:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 6, 9, 824853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17264, 'low': 1.17261, 'close': 1.17264, 'volume': 5.0} | asctime='2026-05-02 07:06:09'
2026-05-02 07:06:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 6, 9, 806000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 07:06:09'
2026-05-02 07:06:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 6, 17, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 07:06:17'
2026-05-02 07:06:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 6, 21, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 07:06:21'
2026-05-02 07:06:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 6, 22, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 07:06:22'
2026-05-02 07:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 6, 26, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 07:06:26'
2026-05-02 07:08:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 8, 39, 121843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17115, 'close': 1.17128, 'volume': 5.0} | asctime='2026-05-02 07:08:39'
2026-05-02 07:08:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 8, 39, 122857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17278, 'low': 1.17238, 'close': 1.1726, 'volume': 5.0} | asctime='2026-05-02 07:08:39'
2026-05-02 07:08:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 8, 39, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 07:08:39'
2026-05-02 07:09:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 9, 12, 621293, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 07:09:12'
2026-05-02 07:09:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 9, 12, 622666, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17263, 'close': 1.17263, 'volume': 1.0} | asctime='2026-05-02 07:09:12'
2026-05-02 07:09:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 9, 12, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 07:09:12'
2026-05-02 07:09:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 9, 56, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:09:56'
2026-05-02 07:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 10, 34, 321026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17153, 'low': 1.17148, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 07:10:34'
2026-05-02 07:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 10, 34, 321980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17243, 'low': 1.17238, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 07:10:34'
2026-05-02 07:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 10, 34, 322489, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17129, 'high': 1.17153, 'low': 1.17105, 'close': 1.17153, 'volume': 13.0} | asctime='2026-05-02 07:10:34'
2026-05-02 07:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 10, 34, 322899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17261, 'high': 1.17278, 'low': 1.17238, 'close': 1.17243, 'volume': 13.0} | asctime='2026-05-02 07:10:34'
2026-05-02 07:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 10, 34, 312000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 07:10:34'
2026-05-02 07:11:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 11, 13, 270079, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17109, 'low': 1.17109, 'close': 1.17109, 'volume': 1.0} | asctime='2026-05-02 07:11:13'
2026-05-02 07:11:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 11, 13, 271041, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17265, 'close': 1.17265, 'volume': 1.0} | asctime='2026-05-02 07:11:13'
2026-05-02 07:11:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 11, 13, 285000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 07:11:13'
2026-05-02 07:11:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 11, 22, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 07:11:22'
2026-05-02 07:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 12, 0, 469343, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17123, 'close': 1.17123, 'volume': 2.0} | asctime='2026-05-02 07:12:00'
2026-05-02 07:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 12, 0, 470138, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17279, 'low': 1.17238, 'close': 1.17279, 'volume': 2.0} | asctime='2026-05-02 07:12:00'
2026-05-02 07:12:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 12, 0, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 07:12:00'
2026-05-02 07:12:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 12, 4, 920000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 07:12:04'
2026-05-02 07:12:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 12, 58, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 07:12:58'
2026-05-02 07:13:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 13, 5, 119227, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17119, 'close': 1.17119, 'volume': 3.0} | asctime='2026-05-02 07:13:05'
2026-05-02 07:13:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 13, 5, 120886, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17257, 'low': 1.17248, 'close': 1.17251, 'volume': 3.0} | asctime='2026-05-02 07:13:05'
2026-05-02 07:13:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 13, 5, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 07:13:05'
2026-05-02 07:13:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 13, 52, 409000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 07:13:52'
2026-05-02 07:14:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 14, 34, 217870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17147, 'low': 1.17145, 'close': 1.17147, 'volume': 2.0} | asctime='2026-05-02 07:14:34'
2026-05-02 07:14:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 14, 34, 218703, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17235, 'high': 1.17237, 'low': 1.17235, 'close': 1.17237, 'volume': 2.0} | asctime='2026-05-02 07:14:34'
2026-05-02 07:14:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 14, 34, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 07:14:34'
2026-05-02 07:14:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 14, 50, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 07:14:50'
2026-05-02 07:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 12, 568048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17141, 'low': 1.17136, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 07:15:12'
2026-05-02 07:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 12, 570333, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17273, 'low': 1.17268, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 07:15:12'
2026-05-02 07:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 12, 571127, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.17158, 'low': 1.17109, 'close': 1.17141, 'volume': 10.0} | asctime='2026-05-02 07:15:12'
2026-05-02 07:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 12, 571774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17279, 'low': 1.17235, 'close': 1.17273, 'volume': 10.0} | asctime='2026-05-02 07:15:12'
2026-05-02 07:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 12, 572307, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17129, 'high': 1.1717, 'low': 1.17105, 'close': 1.17141, 'volume': 38.0} | asctime='2026-05-02 07:15:12'
2026-05-02 07:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 12, 573643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17403, 'high': 1.17409, 'low': 1.17234, 'close': 1.17273, 'volume': 38.0} | asctime='2026-05-02 07:15:12'
2026-05-02 07:15:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 12, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 07:15:12'
2026-05-02 07:15:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 15, 42, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 07:15:42'
2026-05-02 07:16:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 16, 23, 217365, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17161, 'high': 1.17167, 'low': 1.17161, 'close': 1.17167, 'volume': 2.0} | asctime='2026-05-02 07:16:23'
2026-05-02 07:16:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 16, 23, 218298, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17251, 'low': 1.17237, 'close': 1.17237, 'volume': 2.0} | asctime='2026-05-02 07:16:23'
2026-05-02 07:16:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 16, 23, 216000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:16:23'
2026-05-02 07:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 17, 12, 617085, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 07:17:12'
2026-05-02 07:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 17, 12, 618902, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 07:17:12'
2026-05-02 07:17:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 17, 12, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 07:17:12'
2026-05-02 07:18:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 18, 4, 265943, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17148, 'close': 1.17148, 'volume': 1.0} | asctime='2026-05-02 07:18:04'
2026-05-02 07:18:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 18, 4, 267043, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17238, 'low': 1.17238, 'close': 1.17238, 'volume': 1.0} | asctime='2026-05-02 07:18:04'
2026-05-02 07:18:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 18, 4, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 07:18:04'
2026-05-02 07:18:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 18, 12, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 07:18:12'
2026-05-02 07:18:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 18, 56, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 07:18:56'
2026-05-02 07:18:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 18, 57, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 07:18:58'
2026-05-02 07:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 20, 32, 714183, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.1712, 'close': 1.17128, 'volume': 4.0} | asctime='2026-05-02 07:20:32'
2026-05-02 07:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 20, 32, 715525, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17276, 'low': 1.1724, 'close': 1.1726, 'volume': 4.0} | asctime='2026-05-02 07:20:32'
2026-05-02 07:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 20, 32, 716831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17161, 'high': 1.17167, 'low': 1.1712, 'close': 1.17128, 'volume': 8.0} | asctime='2026-05-02 07:20:32'
2026-05-02 07:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 20, 32, 718210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17251, 'high': 1.17276, 'low': 1.17237, 'close': 1.1726, 'volume': 8.0} | asctime='2026-05-02 07:20:32'
2026-05-02 07:20:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 20, 32, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 07:20:32'
2026-05-02 07:20:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 20, 42, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:20:42'
2026-05-02 07:21:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 21, 13, 15157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17153, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 07:21:13'
2026-05-02 07:21:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 21, 13, 17108, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 07:21:13'
2026-05-02 07:21:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 21, 13, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 07:21:13'
2026-05-02 07:21:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 21, 31, 783000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:21:31'
2026-05-02 07:22:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 22, 22, 663916, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17153, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 07:22:22'
2026-05-02 07:22:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 22, 22, 664846, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 07:22:22'
2026-05-02 07:22:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 22, 22, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 07:22:22'
2026-05-02 07:22:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 22, 32, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 07:22:32'
2026-05-02 07:22:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 22, 46, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 07:22:46'
2026-05-02 07:22:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 22, 51, 219000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 07:22:51'
2026-05-02 07:22:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 22, 58, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:22:58'
2026-05-02 07:24:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 24, 52, 113413, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17166, 'low': 1.17128, 'close': 1.17153, 'volume': 5.0} | asctime='2026-05-02 07:24:52'
2026-05-02 07:24:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 24, 52, 115130, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17243, 'close': 1.17243, 'volume': 5.0} | asctime='2026-05-02 07:24:52'
2026-05-02 07:24:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 24, 52, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 07:24:52'
2026-05-02 07:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 25, 18, 411740, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17125, 'close': 1.17125, 'volume': 1.0} | asctime='2026-05-02 07:25:18'
2026-05-02 07:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 25, 18, 412751, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17257, 'close': 1.17257, 'volume': 1.0} | asctime='2026-05-02 07:25:18'
2026-05-02 07:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 25, 18, 416274, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17157, 'high': 1.17166, 'low': 1.17125, 'close': 1.17125, 'volume': 10.0} | asctime='2026-05-02 07:25:18'
2026-05-02 07:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 25, 18, 417011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17247, 'high': 1.1727, 'low': 1.17243, 'close': 1.17257, 'volume': 10.0} | asctime='2026-05-02 07:25:18'
2026-05-02 07:25:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 25, 18, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 07:25:18'
2026-05-02 07:25:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 25, 48, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:25:48'
2026-05-02 07:27:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 27, 30, 610368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17153, 'low': 1.17126, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 07:27:30'
2026-05-02 07:27:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 27, 30, 611076, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 07:27:30'
2026-05-02 07:27:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 27, 30, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 07:27:30'
2026-05-02 07:28:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 28, 18, 509711, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.1715, 'close': 1.1715, 'volume': 1.0} | asctime='2026-05-02 07:28:18'
2026-05-02 07:28:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 28, 18, 510657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1724, 'low': 1.1724, 'close': 1.1724, 'volume': 1.0} | asctime='2026-05-02 07:28:18'
2026-05-02 07:28:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 28, 18, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:28:18'
2026-05-02 07:29:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 29, 57, 959497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 07:29:57'
2026-05-02 07:29:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 29, 57, 960355, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 07:29:57'
2026-05-02 07:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 29, 57, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 07:29:57'
2026-05-02 07:30:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 22, 258852, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.1715, 'close': 1.1715, 'volume': 1.0} | asctime='2026-05-02 07:30:22'
2026-05-02 07:30:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 22, 259782, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1724, 'low': 1.1724, 'close': 1.1724, 'volume': 1.0} | asctime='2026-05-02 07:30:22'
2026-05-02 07:30:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 22, 261158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17126, 'high': 1.17153, 'low': 1.17126, 'close': 1.1715, 'volume': 5.0} | asctime='2026-05-02 07:30:22'
2026-05-02 07:30:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 22, 264674, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.1724, 'close': 1.1724, 'volume': 5.0} | asctime='2026-05-02 07:30:22'
2026-05-02 07:30:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 22, 266325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17161, 'high': 1.17167, 'low': 1.1712, 'close': 1.1715, 'volume': 23.0} | asctime='2026-05-02 07:30:22'
2026-05-02 07:30:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 22, 267315, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17251, 'high': 1.17276, 'low': 1.17237, 'close': 1.1724, 'volume': 23.0} | asctime='2026-05-02 07:30:22'
2026-05-02 07:30:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 22, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 07:30:22'
2026-05-02 07:30:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 34, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 07:30:34'
2026-05-02 07:30:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 30, 35, 192000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 07:30:35'
2026-05-02 07:31:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 31, 3, 508323, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17158, 'low': 1.17139, 'close': 1.17139, 'volume': 3.0} | asctime='2026-05-02 07:31:03'
2026-05-02 07:31:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 31, 3, 509388, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17271, 'low': 1.17239, 'close': 1.17271, 'volume': 3.0} | asctime='2026-05-02 07:31:03'
2026-05-02 07:31:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 31, 3, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 07:31:03'
2026-05-02 07:31:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 31, 41, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 07:31:41'
2026-05-02 07:31:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 31, 44, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 07:31:44'
2026-05-02 07:31:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 31, 49, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 07:31:49'
2026-05-02 07:32:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 32, 10, 607137, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17112, 'close': 1.17121, 'volume': 4.0} | asctime='2026-05-02 07:32:10'
2026-05-02 07:32:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 32, 10, 608693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17244, 'close': 1.17253, 'volume': 4.0} | asctime='2026-05-02 07:32:10'
2026-05-02 07:32:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 32, 10, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:32:10'
2026-05-02 07:32:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 32, 32, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 07:32:32'
2026-05-02 07:33:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 33, 5, 507283, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.1712, 'close': 1.1712, 'volume': 2.0} | asctime='2026-05-02 07:33:05'
2026-05-02 07:33:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 33, 5, 509300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17252, 'low': 1.17243, 'close': 1.17252, 'volume': 2.0} | asctime='2026-05-02 07:33:05'
2026-05-02 07:33:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 33, 5, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 07:33:05'
2026-05-02 07:33:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 33, 14, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 07:33:14'
2026-05-02 07:33:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 33, 26, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 07:33:26'
2026-05-02 07:34:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 14, 605944, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17146, 'low': 1.17117, 'close': 1.17122, 'volume': 3.0} | asctime='2026-05-02 07:34:14'
2026-05-02 07:34:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 14, 606550, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17254, 'low': 1.17236, 'close': 1.17254, 'volume': 3.0} | asctime='2026-05-02 07:34:14'
2026-05-02 07:34:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 14, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 07:34:14'
2026-05-02 07:34:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 16, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 07:34:17'
2026-05-02 07:34:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 19, 231000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 07:34:19'
2026-05-02 07:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 26, 306000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 07:34:26'
2026-05-02 07:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 26, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 07:34:26'
2026-05-02 07:34:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 34, 36, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 07:34:36'
2026-05-02 07:35:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 35, 42, 505014, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17129, 'low': 1.17113, 'close': 1.1712, 'volume': 6.0} | asctime='2026-05-02 07:35:42'
2026-05-02 07:35:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 35, 42, 505884, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17271, 'low': 1.17252, 'close': 1.17252, 'volume': 6.0} | asctime='2026-05-02 07:35:42'
2026-05-02 07:35:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 35, 42, 506961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17149, 'high': 1.17158, 'low': 1.17112, 'close': 1.1712, 'volume': 18.0} | asctime='2026-05-02 07:35:42'
2026-05-02 07:35:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 35, 42, 507426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17239, 'high': 1.17271, 'low': 1.17236, 'close': 1.17252, 'volume': 18.0} | asctime='2026-05-02 07:35:42'
2026-05-02 07:35:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 35, 42, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 07:35:42'
2026-05-02 07:36:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 36, 50, 504982, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.1714, 'low': 1.1714, 'close': 1.1714, 'volume': 1.0} | asctime='2026-05-02 07:36:50'
2026-05-02 07:36:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 36, 50, 506490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1723, 'high': 1.1723, 'low': 1.1723, 'close': 1.1723, 'volume': 1.0} | asctime='2026-05-02 07:36:50'
2026-05-02 07:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 36, 50, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 07:36:50'
2026-05-02 07:36:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 36, 56, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 07:36:56'
2026-05-02 07:36:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 36, 57, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 07:36:57'
2026-05-02 07:37:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 37, 1, 454733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17125, 'close': 1.17125, 'volume': 3.0} | asctime='2026-05-02 07:37:01'
2026-05-02 07:37:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 37, 1, 455754, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17257, 'close': 1.17257, 'volume': 3.0} | asctime='2026-05-02 07:37:01'
2026-05-02 07:37:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 37, 1, 456000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 07:37:01'
2026-05-02 07:37:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 37, 6, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 07:37:06'
2026-05-02 07:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 37, 10, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 07:37:10'
2026-05-02 07:37:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 37, 48, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 07:37:48'
2026-05-02 07:38:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 38, 38, 654753, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17109, 'close': 1.17128, 'volume': 4.0} | asctime='2026-05-02 07:38:38'
2026-05-02 07:38:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 38, 38, 656808, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.1726, 'close': 1.1726, 'volume': 4.0} | asctime='2026-05-02 07:38:38'
2026-05-02 07:38:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 38, 38, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 07:38:38'
2026-05-02 07:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 38, 50, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 07:38:50'
2026-05-02 07:39:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 39, 28, 503771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17137, 'low': 1.17127, 'close': 1.17137, 'volume': 2.0} | asctime='2026-05-02 07:39:28'
2026-05-02 07:39:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 39, 28, 504590, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17227, 'close': 1.17227, 'volume': 2.0} | asctime='2026-05-02 07:39:28'
2026-05-02 07:39:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 39, 28, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 07:39:28'
2026-05-02 07:39:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 39, 35, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 07:39:35'
2026-05-02 07:39:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 39, 48, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 07:39:48'
2026-05-02 07:40:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 40, 16, 553097, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17157, 'low': 1.17126, 'close': 1.17157, 'volume': 3.0} | asctime='2026-05-02 07:40:16'
2026-05-02 07:40:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 40, 16, 553891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17235, 'high': 1.17258, 'low': 1.17235, 'close': 1.17247, 'volume': 3.0} | asctime='2026-05-02 07:40:16'
2026-05-02 07:40:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 40, 16, 554554, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17157, 'low': 1.17109, 'close': 1.17157, 'volume': 13.0} | asctime='2026-05-02 07:40:16'
2026-05-02 07:40:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 40, 16, 555008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1723, 'high': 1.17268, 'low': 1.17227, 'close': 1.17247, 'volume': 13.0} | asctime='2026-05-02 07:40:16'
2026-05-02 07:40:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 40, 16, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 07:40:16'
2026-05-02 07:40:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 40, 32, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 07:40:32'
2026-05-02 07:40:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 40, 49, 715000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 07:40:49'
2026-05-02 07:41:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 41, 56, 701982, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17155, 'low': 1.17127, 'close': 1.17127, 'volume': 3.0} | asctime='2026-05-02 07:41:56'
2026-05-02 07:41:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 41, 56, 702880, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17245, 'close': 1.17259, 'volume': 3.0} | asctime='2026-05-02 07:41:56'
2026-05-02 07:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 41, 56, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 07:41:56'
2026-05-02 07:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 41, 57, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 07:41:57'
2026-05-02 07:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 41, 58, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 07:41:58'
2026-05-02 07:42:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 42, 5, 302163, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17149, 'low': 1.17128, 'close': 1.17149, 'volume': 3.0} | asctime='2026-05-02 07:42:05'
2026-05-02 07:42:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 42, 5, 303242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.1723, 'close': 1.17239, 'volume': 3.0} | asctime='2026-05-02 07:42:05'
2026-05-02 07:42:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 42, 5, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 07:42:05'
2026-05-02 07:42:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 42, 17, 467000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 07:42:17'
2026-05-02 07:42:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 42, 17, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 07:42:17'
2026-05-02 07:42:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 42, 18, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 07:42:18'
2026-05-02 07:42:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 42, 26, 653000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 07:42:26'
2026-05-02 07:43:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 43, 49, 50725, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17102, 'close': 1.17124, 'volume': 5.0} | asctime='2026-05-02 07:43:49'
2026-05-02 07:43:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 43, 49, 52392, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17264, 'low': 1.1724, 'close': 1.17256, 'volume': 5.0} | asctime='2026-05-02 07:43:49'
2026-05-02 07:43:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 43, 49, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 07:43:49'
2026-05-02 07:43:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 43, 58, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 07:43:58'
2026-05-02 07:44:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 44, 48, 999790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17129, 'low': 1.17128, 'close': 1.17129, 'volume': 2.0} | asctime='2026-05-02 07:44:49'
2026-05-02 07:44:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 44, 49, 1482, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17261, 'low': 1.1726, 'close': 1.17261, 'volume': 2.0} | asctime='2026-05-02 07:44:49'
2026-05-02 07:44:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 44, 49, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:44:49'
2026-05-02 07:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 0, 799767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 07:45:00'
2026-05-02 07:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 0, 800849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 07:45:00'
2026-05-02 07:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 0, 801578, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17155, 'low': 1.17102, 'close': 1.17153, 'volume': 14.0} | asctime='2026-05-02 07:45:00'
2026-05-02 07:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 0, 802685, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.1723, 'close': 1.17243, 'volume': 14.0} | asctime='2026-05-02 07:45:00'
2026-05-02 07:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 0, 803310, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17149, 'high': 1.17158, 'low': 1.17102, 'close': 1.17153, 'volume': 45.0} | asctime='2026-05-02 07:45:00'
2026-05-02 07:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 0, 803774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17239, 'high': 1.17271, 'low': 1.17227, 'close': 1.17243, 'volume': 45.0} | asctime='2026-05-02 07:45:00'
2026-05-02 07:45:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 0, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 07:45:00'
2026-05-02 07:45:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 3, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 07:45:03'
2026-05-02 07:45:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 3, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17311, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 07:45:03'
2026-05-02 07:45:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 4, 409000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 07:45:04'
2026-05-02 07:45:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 7, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 07:45:07'
2026-05-02 07:45:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 21, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17301, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 07:45:21'
2026-05-02 07:45:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 45, 54, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 07:45:54'
2026-05-02 07:47:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 47, 7, 149418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17168, 'low': 1.17107, 'close': 1.17146, 'volume': 7.0} | asctime='2026-05-02 07:47:07'
2026-05-02 07:47:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 47, 7, 150575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17314, 'low': 1.17265, 'close': 1.17302, 'volume': 7.0} | asctime='2026-05-02 07:47:07'
2026-05-02 07:47:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 47, 7, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 07:47:07'
2026-05-02 07:47:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 47, 16, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 07:47:16'
2026-05-02 07:47:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 47, 34, 470000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 07:47:34'
2026-05-02 07:48:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 48, 25, 348011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17133, 'low': 1.17121, 'close': 1.17133, 'volume': 3.0} | asctime='2026-05-02 07:48:25'
2026-05-02 07:48:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 48, 25, 349201, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17283, 'low': 1.17265, 'close': 1.17265, 'volume': 3.0} | asctime='2026-05-02 07:48:25'
2026-05-02 07:48:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 48, 25, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 07:48:25'
2026-05-02 07:49:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 49, 37, 97668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17126, 'low': 1.17126, 'close': 1.17126, 'volume': 1.0} | asctime='2026-05-02 07:49:37'
2026-05-02 07:49:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 49, 37, 98637, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17258, 'close': 1.17258, 'volume': 1.0} | asctime='2026-05-02 07:49:37'
2026-05-02 07:49:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 49, 37, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17396, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 07:49:37'
2026-05-02 07:49:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 49, 54, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17401, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 07:49:54'
2026-05-02 07:50:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 50, 58, 8874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17127, 'low': 1.17122, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 07:50:58'
2026-05-02 07:50:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 50, 58, 10017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17396, 'high': 1.17401, 'low': 1.17396, 'close': 1.17401, 'volume': 2.0} | asctime='2026-05-02 07:50:58'
2026-05-02 07:50:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 50, 58, 11968, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17168, 'low': 1.17107, 'close': 1.17127, 'volume': 13.0} | asctime='2026-05-02 07:50:58'
2026-05-02 07:50:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 50, 58, 13031, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17272, 'high': 1.17401, 'low': 1.17258, 'close': 1.17401, 'volume': 13.0} | asctime='2026-05-02 07:50:58'
2026-05-02 07:50:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 50, 58, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17407, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 07:50:58'
2026-05-02 07:51:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 51, 17, 746414, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17133, 'close': 1.17133, 'volume': 1.0} | asctime='2026-05-02 07:51:17'
2026-05-02 07:51:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 51, 17, 747204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17407, 'high': 1.17407, 'low': 1.17407, 'close': 1.17407, 'volume': 1.0} | asctime='2026-05-02 07:51:17'
2026-05-02 07:51:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 51, 17, 762000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17401, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 07:51:17'
2026-05-02 07:52:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 52, 7, 897425, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 07:52:07'
2026-05-02 07:52:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 52, 7, 898280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17401, 'high': 1.17401, 'low': 1.17401, 'close': 1.17401, 'volume': 1.0} | asctime='2026-05-02 07:52:07'
2026-05-02 07:52:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 52, 7, 906000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17405, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 07:52:07'
2026-05-02 07:52:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 52, 24, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 07:52:24'
2026-05-02 07:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 52, 34, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 07:52:34'
2026-05-02 07:52:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 52, 58, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 07:52:58'
2026-05-02 07:53:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 53, 34, 644730, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17148, 'low': 1.17131, 'close': 1.17148, 'volume': 4.0} | asctime='2026-05-02 07:53:34'
2026-05-02 07:53:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 53, 34, 651355, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17405, 'high': 1.17405, 'low': 1.17237, 'close': 1.17238, 'volume': 4.0} | asctime='2026-05-02 07:53:34'
2026-05-02 07:53:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 53, 34, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 07:53:34'
2026-05-02 07:53:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 53, 58, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 07:53:58'
2026-05-02 07:54:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 54, 40, 544326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.1714, 'close': 1.1714, 'volume': 2.0} | asctime='2026-05-02 07:54:40'
2026-05-02 07:54:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 54, 40, 545040, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17237, 'low': 1.1723, 'close': 1.1723, 'volume': 2.0} | asctime='2026-05-02 07:54:40'
2026-05-02 07:54:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 54, 40, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 07:54:40'
2026-05-02 07:54:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 54, 43, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 07:54:43'
2026-05-02 07:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 55, 4, 493640, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17135, 'low': 1.17126, 'close': 1.17135, 'volume': 2.0} | asctime='2026-05-02 07:55:04'
2026-05-02 07:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 55, 4, 494693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17267, 'low': 1.17258, 'close': 1.17267, 'volume': 2.0} | asctime='2026-05-02 07:55:04'
2026-05-02 07:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 55, 4, 495362, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17148, 'low': 1.17126, 'close': 1.17135, 'volume': 10.0} | asctime='2026-05-02 07:55:04'
2026-05-02 07:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 55, 4, 496201, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17407, 'high': 1.17407, 'low': 1.1723, 'close': 1.17267, 'volume': 10.0} | asctime='2026-05-02 07:55:04'
2026-05-02 07:55:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 55, 4, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 07:55:04'
2026-05-02 07:55:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 55, 29, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 07:55:29'
2026-05-02 07:56:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 56, 36, 842608, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17153, 'low': 1.17118, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 07:56:36'
2026-05-02 07:56:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 56, 36, 844361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 07:56:36'
2026-05-02 07:56:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 56, 36, 874000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 07:56:36'
2026-05-02 07:57:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 57, 26, 492590, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17125, 'close': 1.17125, 'volume': 1.0} | asctime='2026-05-02 07:57:26'
2026-05-02 07:57:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 57, 26, 493601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17257, 'close': 1.17257, 'volume': 1.0} | asctime='2026-05-02 07:57:26'
2026-05-02 07:57:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 57, 26, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 07:57:26'
2026-05-02 07:57:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 57, 34, 465000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 07:57:34'
2026-05-02 07:59:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 59, 6, 41301, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17125, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 07:59:06'
2026-05-02 07:59:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 59, 6, 42434, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17257, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 07:59:06'
2026-05-02 07:59:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 59, 6, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 07:59:06'
2026-05-02 07:59:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 59, 42, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 07:59:42'
2026-05-02 07:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 59, 56, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 07:59:56'
2026-05-02 07:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 7, 59, 57, 947000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 07:59:57'
2026-05-02 08:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 140883, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17162, 'low': 1.17138, 'close': 1.17162, 'volume': 4.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 141881, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17271, 'low': 1.17247, 'close': 1.17252, 'volume': 4.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 143005, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17118, 'high': 1.17162, 'low': 1.17118, 'close': 1.17162, 'volume': 9.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 143455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17243, 'close': 1.17252, 'volume': 9.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 143904, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1714, 'high': 1.17168, 'low': 1.17107, 'close': 1.17162, 'volume': 32.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 144338, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17272, 'high': 1.17407, 'low': 1.1723, 'close': 1.17252, 'volume': 32.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 4, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 08:00:04'
2026-05-02 08:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 5, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 08:00:05'
2026-05-02 08:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 5, 394000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 08:00:05'
2026-05-02 08:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 5, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 08:00:05'
2026-05-02 08:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 9, 987000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17221, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 08:00:09'
2026-05-02 08:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 10, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17098, 'volume': 0.0} | asctime='2026-05-02 08:00:10'
2026-05-02 08:00:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 12, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 08:00:12'
2026-05-02 08:00:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 12, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 08:00:12'
2026-05-02 08:00:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 24, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 08:00:23'
2026-05-02 08:00:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 0, 25, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 08:00:25'
2026-05-02 08:01:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 22, 440523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17095, 'close': 1.17124, 'volume': 11.0} | asctime='2026-05-02 08:01:22'
2026-05-02 08:01:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 22, 441240, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17275, 'low': 1.17221, 'close': 1.17256, 'volume': 11.0} | asctime='2026-05-02 08:01:22'
2026-05-02 08:01:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 22, 474000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 08:01:22'
2026-05-02 08:01:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 31, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 08:01:31'
2026-05-02 08:01:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 33, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 08:01:33'
2026-05-02 08:01:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 34, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 08:01:34'
2026-05-02 08:01:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 34, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 08:01:34'
2026-05-02 08:01:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 42, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 08:01:42'
2026-05-02 08:01:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 49, 781000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 08:01:49'
2026-05-02 08:01:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 57, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 08:01:57'
2026-05-02 08:01:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 1, 57, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:01:57'
2026-05-02 08:02:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 2, 9, 239916, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17105, 'high': 1.17153, 'low': 1.17104, 'close': 1.17153, 'volume': 9.0} | asctime='2026-05-02 08:02:09'
2026-05-02 08:02:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 2, 9, 241574, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.1728, 'low': 1.17243, 'close': 1.17243, 'volume': 9.0} | asctime='2026-05-02 08:02:09'
2026-05-02 08:02:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 2, 9, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 08:02:09'
2026-05-02 08:02:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 2, 10, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 08:02:09'
2026-05-02 08:02:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 2, 11, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 08:02:11'
2026-05-02 08:02:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 2, 20, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 08:02:20'
2026-05-02 08:04:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 4, 39, 188354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17154, 'low': 1.17117, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 08:04:39'
2026-05-02 08:04:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 4, 39, 189153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17275, 'low': 1.17244, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 08:04:39'
2026-05-02 08:04:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 4, 39, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:04:39'
2026-05-02 08:04:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 4, 41, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 08:04:41'
2026-05-02 08:04:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 4, 50, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:04:50'
2026-05-02 08:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 5, 49, 538139, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17128, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 08:05:49'
2026-05-02 08:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 5, 49, 538897, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.1726, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 08:05:49'
2026-05-02 08:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 5, 49, 539422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17154, 'low': 1.17095, 'close': 1.17153, 'volume': 27.0} | asctime='2026-05-02 08:05:49'
2026-05-02 08:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 5, 49, 539858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.1728, 'low': 1.17221, 'close': 1.17243, 'volume': 27.0} | asctime='2026-05-02 08:05:49'
2026-05-02 08:05:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 5, 49, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 08:05:49'
2026-05-02 08:07:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 7, 9, 87588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17137, 'close': 1.17137, 'volume': 1.0} | asctime='2026-05-02 08:07:09'
2026-05-02 08:07:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 7, 9, 88867, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17269, 'close': 1.17269, 'volume': 1.0} | asctime='2026-05-02 08:07:09'
2026-05-02 08:07:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 7, 9, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 08:07:09'
2026-05-02 08:07:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 7, 12, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 08:07:12'
2026-05-02 08:07:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 7, 12, 864000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 08:07:12'
2026-05-02 08:08:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 8, 28, 686326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17122, 'close': 1.17122, 'volume': 3.0} | asctime='2026-05-02 08:08:28'
2026-05-02 08:08:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 8, 28, 687161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17254, 'close': 1.17254, 'volume': 3.0} | asctime='2026-05-02 08:08:28'
2026-05-02 08:08:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 8, 28, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 08:08:28'
2026-05-02 08:09:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 9, 1, 335089, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17147, 'close': 1.17147, 'volume': 1.0} | asctime='2026-05-02 08:09:01'
2026-05-02 08:09:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 9, 1, 336076, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17237, 'low': 1.17237, 'close': 1.17237, 'volume': 1.0} | asctime='2026-05-02 08:09:01'
2026-05-02 08:09:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 9, 1, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 08:09:01'
2026-05-02 08:09:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 9, 10, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 08:09:10'
2026-05-02 08:09:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 9, 39, 201000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 08:09:39'
2026-05-02 08:09:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 9, 42, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 08:09:42'
2026-05-02 08:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 7, 34304, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17162, 'low': 1.17136, 'close': 1.17157, 'volume': 4.0} | asctime='2026-05-02 08:11:07'
2026-05-02 08:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 7, 35292, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.1727, 'low': 1.17247, 'close': 1.17247, 'volume': 4.0} | asctime='2026-05-02 08:11:07'
2026-05-02 08:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 7, 36183, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.17162, 'low': 1.17122, 'close': 1.17157, 'volume': 9.0} | asctime='2026-05-02 08:11:07'
2026-05-02 08:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 7, 36691, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17269, 'high': 1.1727, 'low': 1.17237, 'close': 1.17247, 'volume': 9.0} | asctime='2026-05-02 08:11:07'
2026-05-02 08:11:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 7, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 08:11:07'
2026-05-02 08:11:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 18, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 08:11:18'
2026-05-02 08:11:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 27, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 08:11:27'
2026-05-02 08:11:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 27, 432000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 08:11:27'
2026-05-02 08:11:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 11, 29, 916000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 08:11:29'
2026-05-02 08:12:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 12, 36, 783188, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.1716, 'low': 1.17127, 'close': 1.17157, 'volume': 5.0} | asctime='2026-05-02 08:12:36'
2026-05-02 08:12:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 12, 36, 783896, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17288, 'low': 1.17247, 'close': 1.17247, 'volume': 5.0} | asctime='2026-05-02 08:12:36'
2026-05-02 08:12:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 12, 36, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 08:12:36'
2026-05-02 08:13:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 13, 57, 832897, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17122, 'low': 1.17122, 'close': 1.17122, 'volume': 1.0} | asctime='2026-05-02 08:13:57'
2026-05-02 08:13:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 13, 57, 833752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17278, 'close': 1.17278, 'volume': 1.0} | asctime='2026-05-02 08:13:57'
2026-05-02 08:13:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 13, 57, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 08:13:57'
2026-05-02 08:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 6, 82371, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17141, 'close': 1.17141, 'volume': 1.0} | asctime='2026-05-02 08:15:06'
2026-05-02 08:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 6, 84005, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17273, 'low': 1.17273, 'close': 1.17273, 'volume': 1.0} | asctime='2026-05-02 08:15:06'
2026-05-02 08:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 6, 85569, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.1716, 'low': 1.17122, 'close': 1.17141, 'volume': 7.0} | asctime='2026-05-02 08:15:06'
2026-05-02 08:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 6, 86452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17283, 'high': 1.17288, 'low': 1.17247, 'close': 1.17273, 'volume': 7.0} | asctime='2026-05-02 08:15:06'
2026-05-02 08:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 6, 87371, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17133, 'high': 1.17162, 'low': 1.17095, 'close': 1.17141, 'volume': 43.0} | asctime='2026-05-02 08:15:06'
2026-05-02 08:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 6, 88123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17265, 'high': 1.17288, 'low': 1.17221, 'close': 1.17273, 'volume': 43.0} | asctime='2026-05-02 08:15:06'
2026-05-02 08:15:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 6, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 08:15:06'
2026-05-02 08:15:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 13, 330000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:15:13'
2026-05-02 08:15:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 18, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 08:15:18'
2026-05-02 08:15:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 18, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 08:15:18'
2026-05-02 08:15:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 15, 28, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 08:15:28'
2026-05-02 08:16:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 16, 16, 581946, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17125, 'close': 1.17148, 'volume': 5.0} | asctime='2026-05-02 08:16:16'
2026-05-02 08:16:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 16, 16, 583661, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17257, 'low': 1.17232, 'close': 1.17238, 'volume': 5.0} | asctime='2026-05-02 08:16:16'
2026-05-02 08:16:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 16, 16, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 08:16:16'
2026-05-02 08:16:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 16, 27, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 08:16:27'
2026-05-02 08:17:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 17, 8, 231209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17143, 'low': 1.17125, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 08:17:08'
2026-05-02 08:17:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 17, 8, 232075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17233, 'high': 1.17257, 'low': 1.17233, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 08:17:08'
2026-05-02 08:17:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 17, 8, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 08:17:08'
2026-05-02 08:17:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 17, 12, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 08:17:12'
2026-05-02 08:17:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 17, 20, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 08:17:20'
2026-05-02 08:18:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 18, 6, 581556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17108, 'high': 1.17114, 'low': 1.17104, 'close': 1.17114, 'volume': 3.0} | asctime='2026-05-02 08:18:06'
2026-05-02 08:18:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 18, 6, 582206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17246, 'close': 1.17246, 'volume': 3.0} | asctime='2026-05-02 08:18:06'
2026-05-02 08:18:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 18, 6, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 08:18:06'
2026-05-02 08:18:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 18, 40, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 08:18:40'
2026-05-02 08:18:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 18, 57, 864000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 08:18:57'
2026-05-02 08:19:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 19, 1, 179646, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17111, 'low': 1.17105, 'close': 1.17105, 'volume': 3.0} | asctime='2026-05-02 08:19:01'
2026-05-02 08:19:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 19, 1, 181233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17261, 'low': 1.1724, 'close': 1.17261, 'volume': 3.0} | asctime='2026-05-02 08:19:01'
2026-05-02 08:19:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 19, 1, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 08:19:01'
2026-05-02 08:19:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 19, 6, 303000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 08:19:06'
2026-05-02 08:19:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 19, 10, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 08:19:10'
2026-05-02 08:19:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 19, 14, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 08:19:14'
2026-05-02 08:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 30, 378680, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17126, 'low': 1.17109, 'close': 1.17123, 'volume': 4.0} | asctime='2026-05-02 08:21:30'
2026-05-02 08:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 30, 379898, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17255, 'close': 1.17255, 'volume': 4.0} | asctime='2026-05-02 08:21:30'
2026-05-02 08:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 30, 380510, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17104, 'close': 1.17123, 'volume': 17.0} | asctime='2026-05-02 08:21:30'
2026-05-02 08:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 30, 381048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17248, 'high': 1.17289, 'low': 1.17232, 'close': 1.17255, 'volume': 17.0} | asctime='2026-05-02 08:21:30'
2026-05-02 08:21:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 30, 409000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:21:30'
2026-05-02 08:21:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 44, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 08:21:44'
2026-05-02 08:21:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 55, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 08:21:55'
2026-05-02 08:21:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 55, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 08:21:55'
2026-05-02 08:21:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 21, 57, 963000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 08:21:57'
2026-05-02 08:22:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 22, 15, 27504, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17158, 'low': 1.17125, 'close': 1.17158, 'volume': 5.0} | asctime='2026-05-02 08:22:15'
2026-05-02 08:22:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 22, 15, 28837, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17281, 'low': 1.17243, 'close': 1.17248, 'volume': 5.0} | asctime='2026-05-02 08:22:15'
2026-05-02 08:22:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 22, 15, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 08:22:15'
2026-05-02 08:24:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 24, 25, 27200, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17155, 'close': 1.17155, 'volume': 1.0} | asctime='2026-05-02 08:24:25'
2026-05-02 08:24:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 24, 25, 28276, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17245, 'close': 1.17245, 'volume': 1.0} | asctime='2026-05-02 08:24:25'
2026-05-02 08:24:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 24, 25, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:24:25'
2026-05-02 08:24:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 24, 38, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 08:24:38'
2026-05-02 08:24:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 24, 52, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 08:24:52'
2026-05-02 08:26:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 26, 21, 425453, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.1716, 'low': 1.17153, 'close': 1.1716, 'volume': 3.0} | asctime='2026-05-02 08:26:21'
2026-05-02 08:26:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 26, 21, 427378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.1725, 'low': 1.17243, 'close': 1.1725, 'volume': 3.0} | asctime='2026-05-02 08:26:21'
2026-05-02 08:26:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 26, 21, 428584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17153, 'high': 1.1716, 'low': 1.17125, 'close': 1.1716, 'volume': 9.0} | asctime='2026-05-02 08:26:21'
2026-05-02 08:26:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 26, 21, 429646, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17243, 'high': 1.17281, 'low': 1.17243, 'close': 1.1725, 'volume': 9.0} | asctime='2026-05-02 08:26:21'
2026-05-02 08:26:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 26, 21, 470000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 08:26:21'
2026-05-02 08:26:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 26, 55, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 08:26:55'
2026-05-02 08:27:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 27, 8, 74632, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17127, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 08:27:08'
2026-05-02 08:27:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 27, 8, 75418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17259, 'low': 1.17252, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 08:27:08'
2026-05-02 08:27:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 27, 8, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 08:27:08'
2026-05-02 08:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 27, 12, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 08:27:12'
2026-05-02 08:29:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 29, 0, 774493, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17123, 'low': 1.1712, 'close': 1.1712, 'volume': 2.0} | asctime='2026-05-02 08:29:00'
2026-05-02 08:29:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 29, 0, 775743, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17276, 'low': 1.17255, 'close': 1.17276, 'volume': 2.0} | asctime='2026-05-02 08:29:00'
2026-05-02 08:29:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 29, 0, 840000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 08:29:00'
2026-05-02 08:29:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 29, 10, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 08:29:10'
2026-05-02 08:29:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 29, 25, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 08:29:25'
2026-05-02 08:29:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 29, 27, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 08:29:27'
2026-05-02 08:29:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 29, 50, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:29:50'
2026-05-02 08:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 18, 572753, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17154, 'low': 1.17139, 'close': 1.17153, 'volume': 5.0} | asctime='2026-05-02 08:31:18'
2026-05-02 08:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 18, 573464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17242, 'close': 1.17243, 'volume': 5.0} | asctime='2026-05-02 08:31:18'
2026-05-02 08:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 18, 573963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.1712, 'close': 1.17153, 'volume': 9.0} | asctime='2026-05-02 08:31:18'
2026-05-02 08:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 18, 574556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17252, 'high': 1.17276, 'low': 1.17242, 'close': 1.17243, 'volume': 9.0} | asctime='2026-05-02 08:31:18'
2026-05-02 08:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 18, 574999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17158, 'high': 1.17162, 'low': 1.17104, 'close': 1.17153, 'volume': 35.0} | asctime='2026-05-02 08:31:18'
2026-05-02 08:31:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 18, 575820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17248, 'high': 1.17289, 'low': 1.17232, 'close': 1.17243, 'volume': 35.0} | asctime='2026-05-02 08:31:18'
2026-05-02 08:31:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 18, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 08:31:18'
2026-05-02 08:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 31, 57, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:31:57'
2026-05-02 08:33:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 33, 48, 621388, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17153, 'low': 1.17143, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 08:33:48'
2026-05-02 08:33:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 33, 48, 622116, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 08:33:48'
2026-05-02 08:33:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 33, 48, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:33:48'
2026-05-02 08:33:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 33, 57, 365000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 08:33:57'
2026-05-02 08:34:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 34, 25, 120991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17157, 'low': 1.17153, 'close': 1.17157, 'volume': 2.0} | asctime='2026-05-02 08:34:25'
2026-05-02 08:34:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 34, 25, 122026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17247, 'low': 1.17243, 'close': 1.17247, 'volume': 2.0} | asctime='2026-05-02 08:34:25'
2026-05-02 08:34:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 34, 25, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 08:34:25'
2026-05-02 08:34:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 34, 34, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:34:34'
2026-05-02 08:34:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 34, 54, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 08:34:54'
2026-05-02 08:34:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 34, 54, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 08:34:54'
2026-05-02 08:34:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 34, 56, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17175, 'volume': 0.0} | asctime='2026-05-02 08:34:56'
2026-05-02 08:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 36, 18, 419748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17175, 'low': 1.17143, 'close': 1.17175, 'volume': 5.0} | asctime='2026-05-02 08:36:18'
2026-05-02 08:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 36, 18, 420739, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17275, 'low': 1.17243, 'close': 1.17265, 'volume': 5.0} | asctime='2026-05-02 08:36:18'
2026-05-02 08:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 36, 18, 422028, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17143, 'high': 1.17175, 'low': 1.17143, 'close': 1.17175, 'volume': 9.0} | asctime='2026-05-02 08:36:18'
2026-05-02 08:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 36, 18, 423463, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17243, 'close': 1.17265, 'volume': 9.0} | asctime='2026-05-02 08:36:18'
2026-05-02 08:36:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 36, 18, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 08:36:18'
2026-05-02 08:37:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 37, 20, 618839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17125, 'close': 1.17125, 'volume': 1.0} | asctime='2026-05-02 08:37:20'
2026-05-02 08:37:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 37, 20, 619617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17281, 'close': 1.17281, 'volume': 1.0} | asctime='2026-05-02 08:37:20'
2026-05-02 08:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 37, 20, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 08:37:20'
2026-05-02 08:38:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 38, 5, 569172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17132, 'close': 1.17132, 'volume': 1.0} | asctime='2026-05-02 08:38:05'
2026-05-02 08:38:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 38, 5, 569891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17264, 'close': 1.17264, 'volume': 1.0} | asctime='2026-05-02 08:38:05'
2026-05-02 08:38:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 38, 5, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 08:38:05'
2026-05-02 08:38:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 38, 5, 857000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 08:38:05'
2026-05-02 08:38:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 38, 20, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 08:38:20'
2026-05-02 08:39:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 39, 22, 617823, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17138, 'low': 1.17128, 'close': 1.17138, 'volume': 3.0} | asctime='2026-05-02 08:39:22'
2026-05-02 08:39:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 39, 22, 619880, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17294, 'low': 1.1726, 'close': 1.17294, 'volume': 3.0} | asctime='2026-05-02 08:39:22'
2026-05-02 08:39:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 39, 22, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 08:39:22'
2026-05-02 08:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 40, 19, 217102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 08:40:19'
2026-05-02 08:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 40, 19, 218235, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 08:40:19'
2026-05-02 08:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 40, 19, 219447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17153, 'low': 1.17125, 'close': 1.17153, 'volume': 6.0} | asctime='2026-05-02 08:40:19'
2026-05-02 08:40:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 40, 19, 219959, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17281, 'high': 1.17294, 'low': 1.17243, 'close': 1.17243, 'volume': 6.0} | asctime='2026-05-02 08:40:19'
2026-05-02 08:40:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 40, 19, 287000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 08:40:19'
2026-05-02 08:40:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 40, 30, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17223, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 08:40:30'
2026-05-02 08:40:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 40, 45, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 08:40:45'
2026-05-02 08:42:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 42, 30, 416209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17133, 'low': 1.17123, 'close': 1.17123, 'volume': 3.0} | asctime='2026-05-02 08:42:30'
2026-05-02 08:42:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 42, 30, 417099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17223, 'close': 1.17255, 'volume': 3.0} | asctime='2026-05-02 08:42:30'
2026-05-02 08:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 42, 30, 484000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 08:42:30'
2026-05-02 08:42:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 42, 38, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 08:42:38'
2026-05-02 08:42:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 42, 52, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 08:42:52'
2026-05-02 08:42:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 42, 59, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 08:42:59'
2026-05-02 08:43:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 43, 8, 516272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17168, 'low': 1.17137, 'close': 1.17167, 'volume': 4.0} | asctime='2026-05-02 08:43:08'
2026-05-02 08:43:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 43, 8, 518178, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17257, 'close': 1.17257, 'volume': 4.0} | asctime='2026-05-02 08:43:08'
2026-05-02 08:43:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 43, 8, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 08:43:08'
2026-05-02 08:43:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 43, 40, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 08:43:40'
2026-05-02 08:43:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 43, 40, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 08:43:40'
2026-05-02 08:44:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 44, 44, 615058, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17125, 'close': 1.17125, 'volume': 3.0} | asctime='2026-05-02 08:44:44'
2026-05-02 08:44:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 44, 44, 616344, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17257, 'low': 1.17244, 'close': 1.17257, 'volume': 3.0} | asctime='2026-05-02 08:44:44'
2026-05-02 08:44:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 44, 44, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 08:44:44'
2026-05-02 08:45:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 31, 164530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17139, 'low': 1.17139, 'close': 1.17139, 'volume': 1.0} | asctime='2026-05-02 08:45:31'
2026-05-02 08:45:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 31, 165573, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17229, 'high': 1.17229, 'low': 1.17229, 'close': 1.17229, 'volume': 1.0} | asctime='2026-05-02 08:45:31'
2026-05-02 08:45:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 31, 166991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17123, 'high': 1.17168, 'low': 1.17123, 'close': 1.17139, 'volume': 11.0} | asctime='2026-05-02 08:45:31'
2026-05-02 08:45:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 31, 167962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17255, 'high': 1.17271, 'low': 1.17223, 'close': 1.17229, 'volume': 11.0} | asctime='2026-05-02 08:45:31'
2026-05-02 08:45:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 31, 168808, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17143, 'high': 1.17175, 'low': 1.17123, 'close': 1.17139, 'volume': 26.0} | asctime='2026-05-02 08:45:31'
2026-05-02 08:45:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 31, 169853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17275, 'high': 1.17294, 'low': 1.17223, 'close': 1.17229, 'volume': 26.0} | asctime='2026-05-02 08:45:31'
2026-05-02 08:45:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 31, 202000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 08:45:31'
2026-05-02 08:45:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 32, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 08:45:32'
2026-05-02 08:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 39, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 08:45:39'
2026-05-02 08:45:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 45, 48, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 08:45:48'
2026-05-02 08:47:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 47, 57, 963366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17141, 'low': 1.17108, 'close': 1.17112, 'volume': 4.0} | asctime='2026-05-02 08:47:57'
2026-05-02 08:47:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 47, 57, 964997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1723, 'high': 1.17268, 'low': 1.1723, 'close': 1.17268, 'volume': 4.0} | asctime='2026-05-02 08:47:57'
2026-05-02 08:47:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 47, 58, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 08:47:57'
2026-05-02 08:48:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 48, 8, 412429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 08:48:08'
2026-05-02 08:48:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 48, 8, 413454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17283, 'low': 1.17283, 'close': 1.17283, 'volume': 1.0} | asctime='2026-05-02 08:48:08'
2026-05-02 08:48:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 48, 8, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 08:48:08'
2026-05-02 08:48:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 48, 9, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 08:48:09'
2026-05-02 08:48:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 48, 14, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 08:48:14'
2026-05-02 08:50:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 28, 512122, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17134, 'low': 1.17132, 'close': 1.17132, 'volume': 3.0} | asctime='2026-05-02 08:50:28'
2026-05-02 08:50:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 28, 513291, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17266, 'low': 1.17264, 'close': 1.17264, 'volume': 3.0} | asctime='2026-05-02 08:50:28'
2026-05-02 08:50:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 28, 516326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17141, 'low': 1.17108, 'close': 1.17132, 'volume': 8.0} | asctime='2026-05-02 08:50:28'
2026-05-02 08:50:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 28, 519899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1723, 'high': 1.17283, 'low': 1.1723, 'close': 1.17264, 'volume': 8.0} | asctime='2026-05-02 08:50:28'
2026-05-02 08:50:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 28, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 08:50:28'
2026-05-02 08:50:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 35, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 08:50:35'
2026-05-02 08:50:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 42, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 08:50:42'
2026-05-02 08:50:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 50, 44, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 08:50:44'
2026-05-02 08:51:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 51, 16, 210734, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17134, 'close': 1.17134, 'volume': 4.0} | asctime='2026-05-02 08:51:16'
2026-05-02 08:51:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 51, 16, 212698, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17273, 'low': 1.17245, 'close': 1.17266, 'volume': 4.0} | asctime='2026-05-02 08:51:16'
2026-05-02 08:51:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 51, 16, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 08:51:16'
2026-05-02 08:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 51, 55, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 08:51:55'
2026-05-02 08:51:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 51, 57, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 08:51:57'
2026-05-02 08:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 52, 0, 510486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.1715, 'low': 1.17131, 'close': 1.17134, 'volume': 3.0} | asctime='2026-05-02 08:52:00'
2026-05-02 08:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 52, 0, 514822, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17266, 'low': 1.1724, 'close': 1.17266, 'volume': 3.0} | asctime='2026-05-02 08:52:00'
2026-05-02 08:52:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 52, 0, 568000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 08:52:00'
2026-05-02 08:53:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 53, 59, 59150, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17155, 'close': 1.17155, 'volume': 1.0} | asctime='2026-05-02 08:53:59'
2026-05-02 08:53:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 53, 59, 59899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17245, 'close': 1.17245, 'volume': 1.0} | asctime='2026-05-02 08:53:59'
2026-05-02 08:53:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 53, 59, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 08:53:59'
2026-05-02 08:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 25, 108685, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17157, 'close': 1.17157, 'volume': 1.0} | asctime='2026-05-02 08:54:25'
2026-05-02 08:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 25, 109847, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17247, 'close': 1.17247, 'volume': 1.0} | asctime='2026-05-02 08:54:25'
2026-05-02 08:54:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 25, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 08:54:25'
2026-05-02 08:54:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 27, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 08:54:27'
2026-05-02 08:54:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 27, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 08:54:27'
2026-05-02 08:54:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 56, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 08:54:56'
2026-05-02 08:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 57, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 08:54:57'
2026-05-02 08:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 57, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 08:54:57'
2026-05-02 08:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 57, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 08:54:57'
2026-05-02 08:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 57, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 08:54:57'
2026-05-02 08:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 58, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 08:54:58'
2026-05-02 08:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 58, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 08:54:58'
2026-05-02 08:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 54, 58, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 08:54:58'
2026-05-02 08:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 55, 4, 709047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17159, 'low': 1.17107, 'close': 1.17111, 'volume': 11.0} | asctime='2026-05-02 08:55:04'
2026-05-02 08:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 55, 4, 709976, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17271, 'low': 1.1724, 'close': 1.17267, 'volume': 11.0} | asctime='2026-05-02 08:55:04'
2026-05-02 08:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 55, 4, 711319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17157, 'high': 1.17159, 'low': 1.17107, 'close': 1.17111, 'volume': 20.0} | asctime='2026-05-02 08:55:04'
2026-05-02 08:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 55, 4, 712447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17247, 'high': 1.17273, 'low': 1.1724, 'close': 1.17267, 'volume': 20.0} | asctime='2026-05-02 08:55:04'
2026-05-02 08:55:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 55, 4, 763000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 08:55:04'
2026-05-02 08:56:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 56, 45, 857929, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17123, 'low': 1.17123, 'close': 1.17123, 'volume': 1.0} | asctime='2026-05-02 08:56:45'
2026-05-02 08:56:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 56, 45, 859397, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17255, 'close': 1.17255, 'volume': 1.0} | asctime='2026-05-02 08:56:45'
2026-05-02 08:56:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 56, 45, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 08:56:45'
2026-05-02 08:56:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 56, 48, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 08:56:48'
2026-05-02 08:56:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 56, 57, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 08:56:57'
2026-05-02 08:57:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 57, 19, 357068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17155, 'low': 1.17126, 'close': 1.17155, 'volume': 3.0} | asctime='2026-05-02 08:57:19'
2026-05-02 08:57:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 57, 19, 357739, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17262, 'low': 1.17245, 'close': 1.17245, 'volume': 3.0} | asctime='2026-05-02 08:57:19'
2026-05-02 08:57:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 57, 19, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 08:57:19'
2026-05-02 08:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 57, 25, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 08:57:25'
2026-05-02 08:57:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 57, 32, 713000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 08:57:32'
2026-05-02 08:57:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 57, 34, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 08:57:34'
2026-05-02 08:58:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 58, 11, 356813, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17133, 'low': 1.17116, 'close': 1.17116, 'volume': 4.0} | asctime='2026-05-02 08:58:11'
2026-05-02 08:58:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 58, 11, 358396, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17272, 'low': 1.17254, 'close': 1.17272, 'volume': 4.0} | asctime='2026-05-02 08:58:11'
2026-05-02 08:58:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 58, 11, 440000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 08:58:11'
2026-05-02 08:58:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 58, 20, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 08:58:20'
2026-05-02 08:58:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 58, 30, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 08:58:30'
2026-05-02 08:59:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 59, 12, 956704, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17136, 'low': 1.17115, 'close': 1.17136, 'volume': 3.0} | asctime='2026-05-02 08:59:12'
2026-05-02 08:59:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 59, 12, 957691, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17273, 'low': 1.17268, 'close': 1.17268, 'volume': 3.0} | asctime='2026-05-02 08:59:12'
2026-05-02 08:59:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 59, 13, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17044, 'volume': 0.0} | asctime='2026-05-02 08:59:12'
2026-05-02 08:59:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 59, 21, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 08:59:21'
2026-05-02 08:59:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 59, 29, 511000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 08:59:29'
2026-05-02 08:59:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 8, 59, 30, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 08:59:30'
2026-05-02 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 1, 955272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17044, 'high': 1.17159, 'low': 1.17044, 'close': 1.1714, 'volume': 4.0} | asctime='2026-05-02 09:00:01'
2026-05-02 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 1, 956231, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17273, 'low': 1.17249, 'close': 1.17272, 'volume': 4.0} | asctime='2026-05-02 09:00:01'
2026-05-02 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 1, 957461, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17123, 'high': 1.17159, 'low': 1.17044, 'close': 1.1714, 'volume': 15.0} | asctime='2026-05-02 09:00:01'
2026-05-02 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 1, 957962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17255, 'high': 1.17273, 'low': 1.17245, 'close': 1.17272, 'volume': 15.0} | asctime='2026-05-02 09:00:01'
2026-05-02 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 1, 958866, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1714, 'high': 1.17159, 'low': 1.17044, 'close': 1.1714, 'volume': 43.0} | asctime='2026-05-02 09:00:01'
2026-05-02 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 1, 959679, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1723, 'high': 1.17283, 'low': 1.1723, 'close': 1.17272, 'volume': 43.0} | asctime='2026-05-02 09:00:01'
2026-05-02 09:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 2, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 09:00:01'
2026-05-02 09:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 6, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 09:00:06'
2026-05-02 09:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 6, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 09:00:06'
2026-05-02 09:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 9, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 09:00:09'
2026-05-02 09:00:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 52, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 09:00:52'
2026-05-02 09:00:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 0, 58, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 09:00:57'
2026-05-02 09:01:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 1, 10, 604955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17158, 'low': 1.17109, 'close': 1.17128, 'volume': 6.0} | asctime='2026-05-02 09:01:10'
2026-05-02 09:01:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 1, 10, 606392, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17248, 'close': 1.1726, 'volume': 6.0} | asctime='2026-05-02 09:01:10'
2026-05-02 09:01:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 1, 10, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 09:01:10'
2026-05-02 09:02:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 2, 4, 104522, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17142, 'close': 1.17142, 'volume': 1.0} | asctime='2026-05-02 09:02:04'
2026-05-02 09:02:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 2, 4, 106033, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17232, 'low': 1.17232, 'close': 1.17232, 'volume': 1.0} | asctime='2026-05-02 09:02:04'
2026-05-02 09:02:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 2, 4, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 09:02:04'
2026-05-02 09:02:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 2, 39, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 09:02:39'
2026-05-02 09:03:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 3, 40, 554073, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17154, 'low': 1.17126, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 09:03:40'
2026-05-02 09:03:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 3, 40, 560800, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 09:03:40'
2026-05-02 09:03:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 3, 40, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 09:03:40'
2026-05-02 09:04:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 4, 34, 152719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17159, 'close': 1.17159, 'volume': 1.0} | asctime='2026-05-02 09:04:34'
2026-05-02 09:04:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 4, 34, 153557, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 09:04:34'
2026-05-02 09:04:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 4, 34, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:04:34'
2026-05-02 09:05:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 5, 11, 152771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 09:05:11'
2026-05-02 09:05:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 5, 11, 154412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 09:05:11'
2026-05-02 09:05:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 5, 11, 155585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.17159, 'low': 1.17109, 'close': 1.17153, 'volume': 11.0} | asctime='2026-05-02 09:05:11'
2026-05-02 09:05:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 5, 11, 156406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17232, 'close': 1.17243, 'volume': 11.0} | asctime='2026-05-02 09:05:11'
2026-05-02 09:05:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 5, 11, 213000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 09:05:11'
2026-05-02 09:05:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 5, 16, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:05:16'
2026-05-02 09:07:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 7, 5, 102153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17153, 'low': 1.1715, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 09:07:05'
2026-05-02 09:07:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 7, 5, 104143, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17243, 'low': 1.1724, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 09:07:05'
2026-05-02 09:07:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 7, 5, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 09:07:05'
2026-05-02 09:07:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 7, 20, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 09:07:20'
2026-05-02 09:07:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 7, 37, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:07:37'
2026-05-02 09:07:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 7, 46, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 09:07:46'
2026-05-02 09:08:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 8, 34, 604829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17154, 'low': 1.17126, 'close': 1.17126, 'volume': 4.0} | asctime='2026-05-02 09:08:34'
2026-05-02 09:08:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 8, 34, 606207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17243, 'close': 1.17258, 'volume': 4.0} | asctime='2026-05-02 09:08:34'
2026-05-02 09:08:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 8, 34, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 09:08:34'
2026-05-02 09:09:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 9, 36, 399934, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17148, 'close': 1.17148, 'volume': 1.0} | asctime='2026-05-02 09:09:36'
2026-05-02 09:09:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 9, 36, 400783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17238, 'low': 1.17238, 'close': 1.17238, 'volume': 1.0} | asctime='2026-05-02 09:09:36'
2026-05-02 09:09:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 9, 36, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 09:09:36'
2026-05-02 09:09:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 9, 50, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 09:09:50'
2026-05-02 09:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 7, 50523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17158, 'low': 1.17132, 'close': 1.17158, 'volume': 2.0} | asctime='2026-05-02 09:10:07'
2026-05-02 09:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 7, 51146, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17248, 'close': 1.17248, 'volume': 2.0} | asctime='2026-05-02 09:10:07'
2026-05-02 09:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 7, 51547, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1715, 'high': 1.17158, 'low': 1.17126, 'close': 1.17158, 'volume': 9.0} | asctime='2026-05-02 09:10:07'
2026-05-02 09:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 7, 52007, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1724, 'high': 1.17271, 'low': 1.17238, 'close': 1.17248, 'volume': 9.0} | asctime='2026-05-02 09:10:07'
2026-05-02 09:10:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 7, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 09:10:07'
2026-05-02 09:10:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 31, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 09:10:31'
2026-05-02 09:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 34, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 09:10:34'
2026-05-02 09:10:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 10, 40, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 09:10:40'
2026-05-02 09:11:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 11, 8, 599320, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17121, 'close': 1.17122, 'volume': 4.0} | asctime='2026-05-02 09:11:08'
2026-05-02 09:11:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 11, 8, 600297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17278, 'low': 1.17244, 'close': 1.17254, 'volume': 4.0} | asctime='2026-05-02 09:11:08'
2026-05-02 09:11:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 11, 8, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 09:11:08'
2026-05-02 09:11:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 11, 14, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 09:11:14'
2026-05-02 09:11:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 11, 17, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 09:11:17'
2026-05-02 09:11:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 11, 36, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:11:36'
2026-05-02 09:12:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 12, 38, 348463, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17156, 'low': 1.17127, 'close': 1.17149, 'volume': 4.0} | asctime='2026-05-02 09:12:38'
2026-05-02 09:12:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 12, 38, 349347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17239, 'close': 1.17239, 'volume': 4.0} | asctime='2026-05-02 09:12:38'
2026-05-02 09:12:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 12, 38, 417000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 09:12:38'
2026-05-02 09:12:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 12, 42, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 09:12:42'
2026-05-02 09:13:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 13, 6, 148386, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17141, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 09:13:06'
2026-05-02 09:13:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 13, 6, 149305, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17237, 'low': 1.17231, 'close': 1.17231, 'volume': 2.0} | asctime='2026-05-02 09:13:06'
2026-05-02 09:13:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 13, 6, 220000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 09:13:06'
2026-05-02 09:13:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 13, 44, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:13:44'
2026-05-02 09:13:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 13, 47, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 09:13:46'
2026-05-02 09:13:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 13, 50, 778000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 09:13:50'
2026-05-02 09:13:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 13, 51, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 09:13:51'
2026-05-02 09:14:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 14, 58, 496696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17153, 'low': 1.17146, 'close': 1.17146, 'volume': 5.0} | asctime='2026-05-02 09:14:58'
2026-05-02 09:14:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 14, 58, 498564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17243, 'low': 1.17236, 'close': 1.17236, 'volume': 5.0} | asctime='2026-05-02 09:14:58'
2026-05-02 09:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 14, 58, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 09:14:58'
2026-05-02 09:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 0, 346406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17138, 'close': 1.17138, 'volume': 1.0} | asctime='2026-05-02 09:15:00'
2026-05-02 09:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 0, 347352, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.1727, 'close': 1.1727, 'volume': 1.0} | asctime='2026-05-02 09:15:00'
2026-05-02 09:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 0, 348581, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17156, 'low': 1.17121, 'close': 1.17138, 'volume': 16.0} | asctime='2026-05-02 09:15:00'
2026-05-02 09:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 0, 349072, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.17278, 'low': 1.17231, 'close': 1.1727, 'volume': 16.0} | asctime='2026-05-02 09:15:00'
2026-05-02 09:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 0, 349514, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17109, 'high': 1.17159, 'low': 1.17109, 'close': 1.17138, 'volume': 36.0} | asctime='2026-05-02 09:15:00'
2026-05-02 09:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 0, 350194, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17231, 'close': 1.1727, 'volume': 36.0} | asctime='2026-05-02 09:15:00'
2026-05-02 09:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 0, 409000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 09:15:00'
2026-05-02 09:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 2, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 09:15:02'
2026-05-02 09:15:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 8, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 09:15:08'
2026-05-02 09:15:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 15, 56, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:15:56'
2026-05-02 09:17:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 17, 30, 145451, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17149, 'low': 1.17112, 'close': 1.17149, 'volume': 4.0} | asctime='2026-05-02 09:17:30'
2026-05-02 09:17:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 17, 30, 148989, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.17239, 'close': 1.17239, 'volume': 4.0} | asctime='2026-05-02 09:17:30'
2026-05-02 09:17:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 17, 30, 223000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 09:17:30'
2026-05-02 09:17:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 17, 34, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 09:17:34'
2026-05-02 09:17:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 17, 38, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:17:38'
2026-05-02 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 0, 94366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17154, 'low': 1.17151, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 09:20:00'
2026-05-02 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 0, 95261, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17244, 'low': 1.17241, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 09:20:00'
2026-05-02 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 0, 96525, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17134, 'high': 1.17154, 'low': 1.17112, 'close': 1.17153, 'volume': 7.0} | asctime='2026-05-02 09:20:00'
2026-05-02 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 0, 97412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.17239, 'close': 1.17243, 'volume': 7.0} | asctime='2026-05-02 09:20:00'
2026-05-02 09:20:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 0, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:20:00'
2026-05-02 09:20:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 8, 352000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:20:08'
2026-05-02 09:20:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 8, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 09:20:08'
2026-05-02 09:20:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 56, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:20:56'
2026-05-02 09:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 20, 57, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 09:20:57'
2026-05-02 09:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 21, 1, 293107, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17154, 'low': 1.17119, 'close': 1.17119, 'volume': 5.0} | asctime='2026-05-02 09:21:01'
2026-05-02 09:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 21, 1, 293710, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17275, 'low': 1.17239, 'close': 1.17275, 'volume': 5.0} | asctime='2026-05-02 09:21:01'
2026-05-02 09:21:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 21, 1, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 09:21:01'
2026-05-02 09:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 21, 16, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 09:21:16'
2026-05-02 09:21:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 21, 24, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 09:21:24'
2026-05-02 09:22:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 22, 41, 192262, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17135, 'low': 1.17125, 'close': 1.17125, 'volume': 3.0} | asctime='2026-05-02 09:22:41'
2026-05-02 09:22:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 22, 41, 193151, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17283, 'low': 1.17257, 'close': 1.17257, 'volume': 3.0} | asctime='2026-05-02 09:22:41'
2026-05-02 09:22:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 22, 41, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 09:22:41'
2026-05-02 09:22:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 22, 58, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 09:22:57'
2026-05-02 09:23:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 23, 3, 141828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17113, 'low': 1.17111, 'close': 1.17113, 'volume': 2.0} | asctime='2026-05-02 09:23:03'
2026-05-02 09:23:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 23, 3, 142507, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17269, 'low': 1.17267, 'close': 1.17269, 'volume': 2.0} | asctime='2026-05-02 09:23:03'
2026-05-02 09:23:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 23, 3, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 09:23:03'
2026-05-02 09:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 25, 10, 991132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.1713, 'low': 1.1713, 'close': 1.1713, 'volume': 1.0} | asctime='2026-05-02 09:25:10'
2026-05-02 09:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 25, 10, 992186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17262, 'low': 1.17262, 'close': 1.17262, 'volume': 1.0} | asctime='2026-05-02 09:25:10'
2026-05-02 09:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 25, 10, 993499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17153, 'high': 1.17154, 'low': 1.17111, 'close': 1.1713, 'volume': 11.0} | asctime='2026-05-02 09:25:10'
2026-05-02 09:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 25, 10, 993994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17243, 'high': 1.17283, 'low': 1.17239, 'close': 1.17262, 'volume': 11.0} | asctime='2026-05-02 09:25:10'
2026-05-02 09:25:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 25, 11, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 09:25:10'
2026-05-02 09:25:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 25, 20, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:25:20'
2026-05-02 09:26:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 26, 9, 940538, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17149, 'low': 1.17123, 'close': 1.17149, 'volume': 2.0} | asctime='2026-05-02 09:26:09'
2026-05-02 09:26:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 26, 9, 942278, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17239, 'close': 1.17239, 'volume': 2.0} | asctime='2026-05-02 09:26:09'
2026-05-02 09:26:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 26, 10, 42000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 09:26:09'
2026-05-02 09:27:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 27, 41, 89335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17144, 'low': 1.17144, 'close': 1.17144, 'volume': 1.0} | asctime='2026-05-02 09:27:41'
2026-05-02 09:27:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 27, 41, 90275, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17234, 'high': 1.17234, 'low': 1.17234, 'close': 1.17234, 'volume': 1.0} | asctime='2026-05-02 09:27:41'
2026-05-02 09:27:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 27, 41, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:27:41'
2026-05-02 09:27:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 27, 50, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 09:27:50'
2026-05-02 09:28:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 28, 48, 238390, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17148, 'close': 1.17148, 'volume': 2.0} | asctime='2026-05-02 09:28:48'
2026-05-02 09:28:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 28, 48, 239938, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17238, 'close': 1.17238, 'volume': 2.0} | asctime='2026-05-02 09:28:48'
2026-05-02 09:28:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 28, 48, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 09:28:48'
2026-05-02 09:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 5, 538258, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17142, 'close': 1.17142, 'volume': 1.0} | asctime='2026-05-02 09:30:05'
2026-05-02 09:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 5, 539243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17232, 'low': 1.17232, 'close': 1.17232, 'volume': 1.0} | asctime='2026-05-02 09:30:05'
2026-05-02 09:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 5, 539756, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17123, 'high': 1.17149, 'low': 1.17123, 'close': 1.17142, 'volume': 6.0} | asctime='2026-05-02 09:30:05'
2026-05-02 09:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 5, 540179, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17232, 'close': 1.17232, 'volume': 6.0} | asctime='2026-05-02 09:30:05'
2026-05-02 09:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 5, 540592, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17134, 'high': 1.17154, 'low': 1.17111, 'close': 1.17142, 'volume': 24.0} | asctime='2026-05-02 09:30:05'
2026-05-02 09:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 5, 540996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.17232, 'close': 1.17232, 'volume': 24.0} | asctime='2026-05-02 09:30:05'
2026-05-02 09:30:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 5, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 09:30:05'
2026-05-02 09:30:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 6, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17221, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 09:30:06'
2026-05-02 09:30:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 6, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 09:30:06'
2026-05-02 09:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 7, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 09:30:07'
2026-05-02 09:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 7, 856000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 09:30:07'
2026-05-02 09:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 8, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 09:30:08'
2026-05-02 09:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 8, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 09:30:08'
2026-05-02 09:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 8, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 09:30:08'
2026-05-02 09:30:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 9, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 09:30:09'
2026-05-02 09:30:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 9, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 09:30:09'
2026-05-02 09:30:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 9, 966000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 09:30:09'
2026-05-02 09:30:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 10, 464000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 09:30:10'
2026-05-02 09:30:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 11, 829000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 09:30:11'
2026-05-02 09:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 30, 12, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 09:30:12'
2026-05-02 09:31:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 13, 936898, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17099, 'high': 1.17171, 'low': 1.17099, 'close': 1.17171, 'volume': 14.0} | asctime='2026-05-02 09:31:13'
2026-05-02 09:31:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 13, 938002, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17303, 'high': 1.17303, 'low': 1.17221, 'close': 1.17261, 'volume': 14.0} | asctime='2026-05-02 09:31:13'
2026-05-02 09:31:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 14, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 09:31:13'
2026-05-02 09:31:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 26, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 09:31:26'
2026-05-02 09:31:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 33, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 09:31:33'
2026-05-02 09:31:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 34, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 09:31:34'
2026-05-02 09:31:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 35, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 09:31:35'
2026-05-02 09:31:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 43, 801000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 09:31:43'
2026-05-02 09:31:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 50, 876000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 09:31:50'
2026-05-02 09:31:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 52, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 09:31:52'
2026-05-02 09:31:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 54, 476000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 09:31:54'
2026-05-02 09:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 57, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 09:31:57'
2026-05-02 09:31:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 59, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 09:31:58'
2026-05-02 09:31:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 31, 59, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:31:59'
2026-05-02 09:34:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 21, 834828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17152, 'low': 1.17118, 'close': 1.17149, 'volume': 12.0} | asctime='2026-05-02 09:34:21'
2026-05-02 09:34:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 21, 836982, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17285, 'low': 1.17239, 'close': 1.17239, 'volume': 12.0} | asctime='2026-05-02 09:34:21'
2026-05-02 09:34:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 21, 932000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 09:34:21'
2026-05-02 09:34:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 22, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 09:34:21'
2026-05-02 09:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 22, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 09:34:22'
2026-05-02 09:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 22, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 09:34:22'
2026-05-02 09:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 26, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 09:34:26'
2026-05-02 09:34:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 29, 255000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 09:34:29'
2026-05-02 09:34:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 32, 979000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 09:34:32'
2026-05-02 09:34:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 35, 339000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 09:34:35'
2026-05-02 09:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 40, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 09:34:40'
2026-05-02 09:34:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 42, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 09:34:41'
2026-05-02 09:34:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 34, 43, 780000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17297, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 09:34:43'
2026-05-02 09:35:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 35, 46, 484527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17113, 'high': 1.17156, 'low': 1.17112, 'close': 1.17141, 'volume': 11.0} | asctime='2026-05-02 09:35:46'
2026-05-02 09:35:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 35, 46, 485361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17297, 'low': 1.17246, 'close': 1.17297, 'volume': 11.0} | asctime='2026-05-02 09:35:46'
2026-05-02 09:35:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 35, 46, 486594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17099, 'high': 1.17171, 'low': 1.17099, 'close': 1.17141, 'volume': 37.0} | asctime='2026-05-02 09:35:46'
2026-05-02 09:35:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 35, 46, 487522, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17303, 'high': 1.17303, 'low': 1.17221, 'close': 1.17297, 'volume': 37.0} | asctime='2026-05-02 09:35:46'
2026-05-02 09:35:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 35, 46, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 09:35:46'
2026-05-02 09:36:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 36, 383714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17139, 'low': 1.17139, 'close': 1.17139, 'volume': 1.0} | asctime='2026-05-02 09:36:36'
2026-05-02 09:36:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 36, 384383, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17271, 'close': 1.17271, 'volume': 1.0} | asctime='2026-05-02 09:36:36'
2026-05-02 09:36:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 36, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 09:36:36'
2026-05-02 09:36:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 41, 942000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 09:36:41'
2026-05-02 09:36:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 47, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 09:36:47'
2026-05-02 09:36:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 49, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 09:36:49'
2026-05-02 09:36:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 49, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 09:36:49'
2026-05-02 09:36:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 49, 761000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.17092, 'volume': 0.0} | asctime='2026-05-02 09:36:49'
2026-05-02 09:36:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 36, 50, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17393, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 09:36:49'
2026-05-02 09:37:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 13, 983958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17142, 'low': 1.17092, 'close': 1.17119, 'volume': 7.0} | asctime='2026-05-02 09:37:13'
2026-05-02 09:37:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 13, 985328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17393, 'low': 1.17257, 'close': 1.17393, 'volume': 7.0} | asctime='2026-05-02 09:37:13'
2026-05-02 09:37:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 14, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 09:37:13'
2026-05-02 09:37:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 19, 303000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 09:37:19'
2026-05-02 09:37:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 23, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 09:37:23'
2026-05-02 09:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 32, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 09:37:32'
2026-05-02 09:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 44, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 09:37:44'
2026-05-02 09:37:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 46, 858000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 09:37:46'
2026-05-02 09:37:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 59, 933828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17156, 'low': 1.17111, 'close': 1.17111, 'volume': 6.0} | asctime='2026-05-02 09:37:59'
2026-05-02 09:37:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 37, 59, 935258, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17292, 'low': 1.17246, 'close': 1.17267, 'volume': 6.0} | asctime='2026-05-02 09:37:59'
2026-05-02 09:37:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 38, 0, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 09:37:59'
2026-05-02 09:38:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 38, 8, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 09:38:08'
2026-05-02 09:38:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 38, 57, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 09:38:57'
2026-05-02 09:39:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 23, 82705, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17117, 'low': 1.17112, 'close': 1.17117, 'volume': 3.0} | asctime='2026-05-02 09:39:23'
2026-05-02 09:39:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 23, 84355, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17273, 'low': 1.17268, 'close': 1.17273, 'volume': 3.0} | asctime='2026-05-02 09:39:23'
2026-05-02 09:39:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 23, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 09:39:23'
2026-05-02 09:39:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 25, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 09:39:25'
2026-05-02 09:39:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 27, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 09:39:27'
2026-05-02 09:39:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 27, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 09:39:27'
2026-05-02 09:39:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 31, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 09:39:31'
2026-05-02 09:39:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 32, 982000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 09:39:32'
2026-05-02 09:39:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 33, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 09:39:33'
2026-05-02 09:39:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 34, 473000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 09:39:34'
2026-05-02 09:39:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 36, 459000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 09:39:36'
2026-05-02 09:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 38, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 09:39:38'
2026-05-02 09:39:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 45, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 09:39:45'
2026-05-02 09:39:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 53, 465000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 09:39:53'
2026-05-02 09:39:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 56, 444000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 09:39:56'
2026-05-02 09:39:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 57, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 09:39:56'
2026-05-02 09:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 57, 189000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 09:39:57'
2026-05-02 09:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 57, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 09:39:57'
2026-05-02 09:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 58, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 09:39:57'
2026-05-02 09:39:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 39, 59, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17225, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 09:39:59'
2026-05-02 09:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 40, 0, 81524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17154, 'low': 1.17106, 'close': 1.17135, 'volume': 18.0} | asctime='2026-05-02 09:40:00'
2026-05-02 09:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 40, 0, 83325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17274, 'low': 1.17225, 'close': 1.17225, 'volume': 18.0} | asctime='2026-05-02 09:40:00'
2026-05-02 09:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 40, 0, 83820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17156, 'low': 1.17092, 'close': 1.17135, 'volume': 35.0} | asctime='2026-05-02 09:40:00'
2026-05-02 09:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 40, 0, 84489, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17393, 'low': 1.17225, 'close': 1.17225, 'volume': 35.0} | asctime='2026-05-02 09:40:00'
2026-05-02 09:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 40, 0, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 09:40:00'
2026-05-02 09:40:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 40, 8, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 09:40:08'
2026-05-02 09:40:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 40, 42, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 09:40:42'
2026-05-02 09:41:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 41, 7, 831156, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1711, 'high': 1.17129, 'low': 1.1711, 'close': 1.17128, 'volume': 3.0} | asctime='2026-05-02 09:41:07'
2026-05-02 09:41:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 41, 7, 832084, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17266, 'low': 1.1726, 'close': 1.1726, 'volume': 3.0} | asctime='2026-05-02 09:41:07'
2026-05-02 09:41:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 41, 7, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 09:41:07'
2026-05-02 09:41:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 41, 16, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 09:41:16'
2026-05-02 09:41:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 41, 44, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 09:41:44'
2026-05-02 09:42:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 42, 27, 100959, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.1715, 'low': 1.17117, 'close': 1.1715, 'volume': 3.0} | asctime='2026-05-02 09:42:27'
2026-05-02 09:42:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 42, 27, 102021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17234, 'close': 1.1724, 'volume': 3.0} | asctime='2026-05-02 09:42:27'
2026-05-02 09:42:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 42, 27, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:42:27'
2026-05-02 09:42:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 42, 29, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 09:42:29'
2026-05-02 09:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 42, 30, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17395, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 09:42:30'
2026-05-02 09:44:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 44, 54, 979288, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17102, 'close': 1.17121, 'volume': 3.0} | asctime='2026-05-02 09:44:54'
2026-05-02 09:44:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 44, 54, 980054, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17395, 'low': 1.17243, 'close': 1.17395, 'volume': 3.0} | asctime='2026-05-02 09:44:54'
2026-05-02 09:44:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 44, 55, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17403, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 09:44:54'
2026-05-02 09:44:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 44, 55, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17405, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 09:44:55'
2026-05-02 09:44:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 44, 58, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17397, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 09:44:57'
2026-05-02 09:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 45, 4, 29418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17131, 'low': 1.17123, 'close': 1.17123, 'volume': 3.0} | asctime='2026-05-02 09:45:04'
2026-05-02 09:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 45, 4, 30194, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17403, 'high': 1.17405, 'low': 1.17397, 'close': 1.17397, 'volume': 3.0} | asctime='2026-05-02 09:45:04'
2026-05-02 09:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 45, 4, 30721, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1711, 'high': 1.17153, 'low': 1.17102, 'close': 1.17123, 'volume': 12.0} | asctime='2026-05-02 09:45:04'
2026-05-02 09:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 45, 4, 31148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17266, 'high': 1.17405, 'low': 1.17234, 'close': 1.17397, 'volume': 12.0} | asctime='2026-05-02 09:45:04'
2026-05-02 09:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 45, 4, 31584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17099, 'high': 1.17171, 'low': 1.17092, 'close': 1.17123, 'volume': 84.0} | asctime='2026-05-02 09:45:04'
2026-05-02 09:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 45, 4, 32040, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17303, 'high': 1.17405, 'low': 1.17221, 'close': 1.17397, 'volume': 84.0} | asctime='2026-05-02 09:45:04'
2026-05-02 09:45:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 45, 4, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17394, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 09:45:04'
2026-05-02 09:47:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 47, 25, 27859, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.1712, 'low': 1.1712, 'close': 1.1712, 'volume': 1.0} | asctime='2026-05-02 09:47:25'
2026-05-02 09:47:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 47, 25, 28582, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17394, 'high': 1.17394, 'low': 1.17394, 'close': 1.17394, 'volume': 1.0} | asctime='2026-05-02 09:47:25'
2026-05-02 09:47:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 47, 25, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17412, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 09:47:25'
2026-05-02 09:47:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 47, 28, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 09:47:28'
2026-05-02 09:47:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 47, 33, 334000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 09:47:33'
2026-05-02 09:47:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 47, 34, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 09:47:33'
2026-05-02 09:49:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 49, 35, 375948, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17153, 'low': 1.17138, 'close': 1.17149, 'volume': 4.0} | asctime='2026-05-02 09:49:35'
2026-05-02 09:49:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 49, 35, 376860, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17412, 'high': 1.17412, 'low': 1.17239, 'close': 1.17239, 'volume': 4.0} | asctime='2026-05-02 09:49:35'
2026-05-02 09:49:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 49, 35, 468000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 09:49:35'
2026-05-02 09:49:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 49, 44, 652000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 09:49:44'
2026-05-02 09:49:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 49, 58, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 09:49:58'
2026-05-02 09:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 4, 74864, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17121, 'close': 1.17121, 'volume': 3.0} | asctime='2026-05-02 09:52:04'
2026-05-02 09:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 4, 76668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17277, 'low': 1.1724, 'close': 1.17277, 'volume': 3.0} | asctime='2026-05-02 09:52:04'
2026-05-02 09:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 4, 77858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17153, 'low': 1.1712, 'close': 1.17121, 'volume': 8.0} | asctime='2026-05-02 09:52:04'
2026-05-02 09:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 4, 78843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17394, 'high': 1.17412, 'low': 1.17239, 'close': 1.17277, 'volume': 8.0} | asctime='2026-05-02 09:52:04'
2026-05-02 09:52:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 4, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 09:52:04'
2026-05-02 09:52:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 5, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 09:52:05'
2026-05-02 09:52:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 14, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 09:52:14'
2026-05-02 09:52:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 52, 28, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1741, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 09:52:28'
2026-05-02 09:53:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 53, 26, 473943, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17152, 'low': 1.17136, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 09:53:26'
2026-05-02 09:53:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 53, 26, 475569, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.1741, 'low': 1.1724, 'close': 1.1741, 'volume': 4.0} | asctime='2026-05-02 09:53:26'
2026-05-02 09:53:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 53, 26, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17413, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 09:53:26'
2026-05-02 09:53:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 53, 46, 815000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17414, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 09:53:46'
2026-05-02 09:53:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 53, 51, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17412, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 09:53:51'
2026-05-02 09:54:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 54, 41, 473187, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.1714, 'low': 1.17138, 'close': 1.17138, 'volume': 3.0} | asctime='2026-05-02 09:54:41'
2026-05-02 09:54:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 54, 41, 474817, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17413, 'high': 1.17414, 'low': 1.17412, 'close': 1.17412, 'volume': 3.0} | asctime='2026-05-02 09:54:41'
2026-05-02 09:54:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 54, 41, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17407, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 09:54:41'
2026-05-02 09:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 54, 58, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17412, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 09:54:57'
2026-05-02 09:54:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 54, 59, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 09:54:59'
2026-05-02 09:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 55, 4, 173345, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17173, 'low': 1.17133, 'close': 1.17173, 'volume': 3.0} | asctime='2026-05-02 09:55:04'
2026-05-02 09:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 55, 4, 174226, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17407, 'high': 1.17412, 'low': 1.17263, 'close': 1.17263, 'volume': 3.0} | asctime='2026-05-02 09:55:04'
2026-05-02 09:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 55, 4, 174835, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17141, 'high': 1.17173, 'low': 1.17133, 'close': 1.17173, 'volume': 10.0} | asctime='2026-05-02 09:55:04'
2026-05-02 09:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 55, 4, 175354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17273, 'high': 1.17414, 'low': 1.1724, 'close': 1.17263, 'volume': 10.0} | asctime='2026-05-02 09:55:04'
2026-05-02 09:55:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 55, 4, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 09:55:04'
2026-05-02 09:55:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 55, 12, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 09:55:12'
2026-05-02 09:55:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 55, 42, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 09:55:42'
2026-05-02 09:56:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 56, 50, 522068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17142, 'low': 1.1714, 'close': 1.1714, 'volume': 3.0} | asctime='2026-05-02 09:56:50'
2026-05-02 09:56:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 56, 50, 523531, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17274, 'low': 1.17272, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 09:56:50'
2026-05-02 09:56:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 56, 50, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 09:56:50'
2026-05-02 09:56:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 56, 57, 963000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 09:56:57'
2026-05-02 09:57:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 57, 4, 422013, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17165, 'high': 1.17165, 'low': 1.17141, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 09:57:04'
2026-05-02 09:57:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 57, 4, 423622, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17273, 'low': 1.17255, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 09:57:04'
2026-05-02 09:57:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 57, 4, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 09:57:04'
2026-05-02 09:57:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 57, 16, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 09:57:16'
2026-05-02 09:57:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 57, 34, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 09:57:34'
2026-05-02 09:58:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 58, 26, 471089, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17121, 'close': 1.17121, 'volume': 3.0} | asctime='2026-05-02 09:58:26'
2026-05-02 09:58:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 58, 26, 473265, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17255, 'low': 1.17244, 'close': 1.17253, 'volume': 3.0} | asctime='2026-05-02 09:58:26'
2026-05-02 09:58:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 58, 26, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 09:58:26'
2026-05-02 09:59:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 59, 10, 70828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17151, 'close': 1.17151, 'volume': 1.0} | asctime='2026-05-02 09:59:10'
2026-05-02 09:59:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 59, 10, 71710, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17241, 'low': 1.17241, 'close': 1.17241, 'volume': 1.0} | asctime='2026-05-02 09:59:10'
2026-05-02 09:59:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 59, 10, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 09:59:10'
2026-05-02 09:59:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 59, 10, 894000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 09:59:10'
2026-05-02 09:59:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 9, 59, 34, 974000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 09:59:34'
2026-05-02 10:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 0, 570840, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.1713, 'close': 1.17131, 'volume': 3.0} | asctime='2026-05-02 10:00:00'
2026-05-02 10:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 0, 571709, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17263, 'low': 1.17236, 'close': 1.17263, 'volume': 3.0} | asctime='2026-05-02 10:00:00'
2026-05-02 10:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 0, 572920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17141, 'high': 1.17165, 'low': 1.17121, 'close': 1.17131, 'volume': 12.0} | asctime='2026-05-02 10:00:00'
2026-05-02 10:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 0, 573538, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17273, 'high': 1.17274, 'low': 1.17236, 'close': 1.17263, 'volume': 12.0} | asctime='2026-05-02 10:00:00'
2026-05-02 10:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 0, 574427, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1712, 'high': 1.17173, 'low': 1.1712, 'close': 1.17131, 'volume': 30.0} | asctime='2026-05-02 10:00:00'
2026-05-02 10:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 0, 574935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17394, 'high': 1.17414, 'low': 1.17236, 'close': 1.17263, 'volume': 30.0} | asctime='2026-05-02 10:00:00'
2026-05-02 10:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 0, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 10:00:00'
2026-05-02 10:00:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 0, 58, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 10:00:57'
2026-05-02 10:01:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 1, 40, 135502, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17142, 'low': 1.17125, 'close': 1.17142, 'volume': 2.0} | asctime='2026-05-02 10:01:40'
2026-05-02 10:01:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 1, 40, 136448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17274, 'close': 1.17274, 'volume': 2.0} | asctime='2026-05-02 10:01:40'
2026-05-02 10:01:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 1, 40, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 10:01:40'
2026-05-02 10:02:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 2, 4, 418585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17138, 'close': 1.17138, 'volume': 1.0} | asctime='2026-05-02 10:02:04'
2026-05-02 10:02:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 2, 4, 419387, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.1727, 'close': 1.1727, 'volume': 1.0} | asctime='2026-05-02 10:02:04'
2026-05-02 10:02:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 2, 4, 538000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 10:02:04'
2026-05-02 10:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 2, 30, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17411, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 10:02:30'
2026-05-02 10:02:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 2, 37, 926000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 10:02:37'
2026-05-02 10:03:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 3, 3, 518678, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17155, 'low': 1.17137, 'close': 1.17155, 'volume': 3.0} | asctime='2026-05-02 10:03:03'
2026-05-02 10:03:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 3, 3, 520185, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17411, 'low': 1.17241, 'close': 1.17245, 'volume': 3.0} | asctime='2026-05-02 10:03:03'
2026-05-02 10:03:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 3, 3, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 10:03:03'
2026-05-02 10:03:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 3, 6, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 10:03:06'
2026-05-02 10:03:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 3, 20, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 10:03:20'
2026-05-02 10:04:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 4, 57, 66774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17155, 'low': 1.17141, 'close': 1.17155, 'volume': 3.0} | asctime='2026-05-02 10:04:57'
2026-05-02 10:04:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 4, 57, 68329, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17274, 'low': 1.17245, 'close': 1.17245, 'volume': 3.0} | asctime='2026-05-02 10:04:57'
2026-05-02 10:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 4, 57, 189000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 10:04:57'
2026-05-02 10:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 4, 57, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 10:04:57'
2026-05-02 10:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 4, 58, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 10:04:57'
2026-05-02 10:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 0, 318725, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.1715, 'low': 1.17122, 'close': 1.1715, 'volume': 3.0} | asctime='2026-05-02 10:05:00'
2026-05-02 10:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 0, 319459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17282, 'low': 1.17278, 'close': 1.17282, 'volume': 3.0} | asctime='2026-05-02 10:05:00'
2026-05-02 10:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 0, 320683, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17155, 'low': 1.17122, 'close': 1.1715, 'volume': 12.0} | asctime='2026-05-02 10:05:00'
2026-05-02 10:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 0, 322026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17281, 'high': 1.17411, 'low': 1.17241, 'close': 1.17282, 'volume': 12.0} | asctime='2026-05-02 10:05:00'
2026-05-02 10:05:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 0, 417000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 10:05:00'
2026-05-02 10:05:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 19, 904000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 10:05:19'
2026-05-02 10:05:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 28, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 10:05:28'
2026-05-02 10:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 5, 34, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 10:05:34'
2026-05-02 10:07:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 7, 11, 15937, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17125, 'close': 1.17125, 'volume': 4.0} | asctime='2026-05-02 10:07:11'
2026-05-02 10:07:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 7, 11, 17503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17257, 'low': 1.17238, 'close': 1.17257, 'volume': 4.0} | asctime='2026-05-02 10:07:11'
2026-05-02 10:07:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 7, 11, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17399, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 10:07:11'
2026-05-02 10:07:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 7, 23, 777000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 10:07:23'
2026-05-02 10:07:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 7, 31, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 10:07:31'
2026-05-02 10:07:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 7, 49, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 10:07:49'
2026-05-02 10:09:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 9, 25, 564693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17133, 'low': 1.1711, 'close': 1.17133, 'volume': 4.0} | asctime='2026-05-02 10:09:25'
2026-05-02 10:09:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 9, 25, 565448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17399, 'high': 1.17399, 'low': 1.17265, 'close': 1.17265, 'volume': 4.0} | asctime='2026-05-02 10:09:25'
2026-05-02 10:09:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 9, 25, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 10:09:25'
2026-05-02 10:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 9, 26, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 10:09:26'
2026-05-02 10:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 9, 34, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 10:09:34'
2026-05-02 10:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 10, 2, 564631, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17166, 'low': 1.17137, 'close': 1.17161, 'volume': 3.0} | asctime='2026-05-02 10:10:02'
2026-05-02 10:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 10, 2, 566047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17251, 'close': 1.17251, 'volume': 3.0} | asctime='2026-05-02 10:10:02'
2026-05-02 10:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 10, 2, 567404, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17166, 'low': 1.1711, 'close': 1.17161, 'volume': 11.0} | asctime='2026-05-02 10:10:02'
2026-05-02 10:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 10, 2, 568375, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17399, 'low': 1.17238, 'close': 1.17251, 'volume': 11.0} | asctime='2026-05-02 10:10:02'
2026-05-02 10:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 10, 2, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 10:10:02'
2026-05-02 10:10:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 10, 23, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 10:10:23'
2026-05-02 10:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 12, 12, 362726, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17153, 'low': 1.1715, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 10:12:12'
2026-05-02 10:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 12, 12, 363882, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17243, 'low': 1.1724, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 10:12:12'
2026-05-02 10:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 12, 12, 479000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 10:12:12'
2026-05-02 10:12:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 12, 32, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 10:12:32'
2026-05-02 10:14:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 14, 42, 561300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17153, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 10:14:42'
2026-05-02 10:14:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 14, 42, 562197, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 10:14:42'
2026-05-02 10:14:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 14, 42, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 10:14:42'
2026-05-02 10:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 14, 57, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 10:14:57'
2026-05-02 10:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 14, 57, 806000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 10:14:57'
2026-05-02 10:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 14, 59, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 10:14:59'
2026-05-02 10:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 12, 921854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17124, 'close': 1.17137, 'volume': 4.0} | asctime='2026-05-02 10:17:12'
2026-05-02 10:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 12, 923047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17256, 'low': 1.17227, 'close': 1.17227, 'volume': 4.0} | asctime='2026-05-02 10:17:12'
2026-05-02 10:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 12, 924678, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1715, 'high': 1.17155, 'low': 1.17124, 'close': 1.17137, 'volume': 8.0} | asctime='2026-05-02 10:17:12'
2026-05-02 10:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 12, 925777, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1724, 'high': 1.17256, 'low': 1.17227, 'close': 1.17227, 'volume': 8.0} | asctime='2026-05-02 10:17:12'
2026-05-02 10:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 12, 927008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17125, 'high': 1.17166, 'low': 1.1711, 'close': 1.17137, 'volume': 31.0} | asctime='2026-05-02 10:17:12'
2026-05-02 10:17:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 12, 930378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17281, 'high': 1.17411, 'low': 1.17227, 'close': 1.17227, 'volume': 31.0} | asctime='2026-05-02 10:17:12'
2026-05-02 10:17:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 12, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 10:17:12'
2026-05-02 10:17:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 28, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 10:17:28'
2026-05-02 10:17:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 17, 34, 446000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 10:17:34'
2026-05-02 10:18:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 18, 8, 199690, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17154, 'low': 1.17104, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 10:18:08'
2026-05-02 10:18:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 18, 8, 200945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.1726, 'low': 1.17244, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 10:18:08'
2026-05-02 10:18:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 18, 8, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 10:18:08'
2026-05-02 10:19:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 19, 47, 147861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17142, 'close': 1.17142, 'volume': 1.0} | asctime='2026-05-02 10:19:47'
2026-05-02 10:19:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 19, 47, 149464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17274, 'close': 1.17274, 'volume': 1.0} | asctime='2026-05-02 10:19:47'
2026-05-02 10:19:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 19, 47, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 10:19:47'
2026-05-02 10:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 4, 556397, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17143, 'low': 1.17143, 'close': 1.17143, 'volume': 1.0} | asctime='2026-05-02 10:20:04'
2026-05-02 10:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 4, 558075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17275, 'close': 1.17275, 'volume': 1.0} | asctime='2026-05-02 10:20:04'
2026-05-02 10:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 4, 559600, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17124, 'high': 1.17154, 'low': 1.17104, 'close': 1.17143, 'volume': 5.0} | asctime='2026-05-02 10:20:04'
2026-05-02 10:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 4, 560773, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17256, 'high': 1.17275, 'low': 1.17244, 'close': 1.17275, 'volume': 5.0} | asctime='2026-05-02 10:20:04'
2026-05-02 10:20:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 4, 506000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 10:20:04'
2026-05-02 10:20:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 49, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17407, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 10:20:49'
2026-05-02 10:20:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 51, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 10:20:51'
2026-05-02 10:20:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 20, 51, 920000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 10:20:51'
2026-05-02 10:21:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 21, 58, 62166, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17121, 'close': 1.17121, 'volume': 4.0} | asctime='2026-05-02 10:21:58'
2026-05-02 10:21:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 21, 58, 63002, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17407, 'low': 1.17253, 'close': 1.17253, 'volume': 4.0} | asctime='2026-05-02 10:21:58'
2026-05-02 10:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 21, 57, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17224, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 10:21:58'
2026-05-02 10:22:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 35, 419949, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17134, 'low': 1.17134, 'close': 1.17134, 'volume': 1.0} | asctime='2026-05-02 10:22:35'
2026-05-02 10:22:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 35, 420839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17224, 'high': 1.17224, 'low': 1.17224, 'close': 1.17224, 'volume': 1.0} | asctime='2026-05-02 10:22:35'
2026-05-02 10:22:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 35, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 10:22:35'
2026-05-02 10:22:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 36, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 10:22:36'
2026-05-02 10:22:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 42, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 10:22:42'
2026-05-02 10:22:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 42, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 10:22:42'
2026-05-02 10:22:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 59, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 10:22:59'
2026-05-02 10:22:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 22, 59, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17078, 'volume': 0.0} | asctime='2026-05-02 10:22:59'
2026-05-02 10:24:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 24, 46, 618546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17103, 'high': 1.17122, 'low': 1.17078, 'close': 1.17078, 'volume': 6.0} | asctime='2026-05-02 10:24:46'
2026-05-02 10:24:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 24, 46, 619497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17282, 'low': 1.17252, 'close': 1.17282, 'volume': 6.0} | asctime='2026-05-02 10:24:46'
2026-05-02 10:24:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 24, 46, 507000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17083, 'volume': 0.0} | asctime='2026-05-02 10:24:46'
2026-05-02 10:24:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 24, 52, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 10:24:52'
2026-05-02 10:25:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 25, 29, 167799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17083, 'high': 1.17095, 'low': 1.17083, 'close': 1.17095, 'volume': 2.0} | asctime='2026-05-02 10:25:29'
2026-05-02 10:25:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 25, 29, 168558, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17275, 'low': 1.17263, 'close': 1.17275, 'volume': 2.0} | asctime='2026-05-02 10:25:29'
2026-05-02 10:25:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 25, 29, 169316, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17078, 'close': 1.17095, 'volume': 13.0} | asctime='2026-05-02 10:25:29'
2026-05-02 10:25:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 25, 29, 169755, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17274, 'high': 1.17407, 'low': 1.17224, 'close': 1.17275, 'volume': 13.0} | asctime='2026-05-02 10:25:29'
2026-05-02 10:25:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 25, 29, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 10:25:29'
2026-05-02 10:26:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 26, 59, 266380, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17104, 'high': 1.17104, 'low': 1.17104, 'close': 1.17104, 'volume': 1.0} | asctime='2026-05-02 10:26:59'
2026-05-02 10:26:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 26, 59, 267728, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.1726, 'close': 1.1726, 'volume': 1.0} | asctime='2026-05-02 10:26:59'
2026-05-02 10:26:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 26, 59, 190000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 10:26:59'
2026-05-02 10:27:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 27, 59, 216901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17132, 'close': 1.17132, 'volume': 1.0} | asctime='2026-05-02 10:27:59'
2026-05-02 10:27:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 27, 59, 217936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17264, 'close': 1.17264, 'volume': 1.0} | asctime='2026-05-02 10:27:59'
2026-05-02 10:27:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 27, 59, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 10:27:59'
2026-05-02 10:28:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 28, 8, 815843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17157, 'close': 1.17157, 'volume': 1.0} | asctime='2026-05-02 10:28:08'
2026-05-02 10:28:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 28, 8, 816694, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17247, 'close': 1.17247, 'volume': 1.0} | asctime='2026-05-02 10:28:08'
2026-05-02 10:28:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 28, 8, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 10:28:08'
2026-05-02 10:29:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 29, 38, 766033, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 10:29:38'
2026-05-02 10:29:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 29, 38, 768354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 10:29:38'
2026-05-02 10:29:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 29, 38, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 10:29:38'
2026-05-02 10:29:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 29, 53, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 10:29:53'
2026-05-02 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 2, 714584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17141, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 10:30:02'
2026-05-02 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 2, 715491, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17273, 'low': 1.1724, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 10:30:02'
2026-05-02 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 2, 716804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17104, 'high': 1.17157, 'low': 1.17104, 'close': 1.17141, 'volume': 6.0} | asctime='2026-05-02 10:30:02'
2026-05-02 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 2, 718275, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1726, 'high': 1.17273, 'low': 1.1724, 'close': 1.17273, 'volume': 6.0} | asctime='2026-05-02 10:30:02'
2026-05-02 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 2, 719496, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17124, 'high': 1.17157, 'low': 1.17078, 'close': 1.17141, 'volume': 24.0} | asctime='2026-05-02 10:30:02'
2026-05-02 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 2, 720748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17256, 'high': 1.17407, 'low': 1.17224, 'close': 1.17273, 'volume': 24.0} | asctime='2026-05-02 10:30:02'
2026-05-02 10:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 2, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 10:30:02'
2026-05-02 10:30:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 3, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 10:30:03'
2026-05-02 10:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 12, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 10:30:12'
2026-05-02 10:30:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 30, 30, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 10:30:30'
2026-05-02 10:31:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 31, 47, 263557, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.1714, 'low': 1.17125, 'close': 1.17125, 'volume': 4.0} | asctime='2026-05-02 10:31:47'
2026-05-02 10:31:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 31, 47, 264401, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.1723, 'close': 1.17257, 'volume': 4.0} | asctime='2026-05-02 10:31:47'
2026-05-02 10:31:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 31, 47, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 10:31:47'
2026-05-02 10:31:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 31, 47, 398000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 10:31:47'
2026-05-02 10:31:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 31, 56, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 10:31:56'
2026-05-02 10:32:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 32, 34, 763248, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17126, 'close': 1.17127, 'volume': 3.0} | asctime='2026-05-02 10:32:34'
2026-05-02 10:32:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 32, 34, 764067, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17283, 'low': 1.17274, 'close': 1.17283, 'volume': 3.0} | asctime='2026-05-02 10:32:34'
2026-05-02 10:32:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 32, 34, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 10:32:34'
2026-05-02 10:34:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 34, 14, 712644, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17134, 'low': 1.17134, 'close': 1.17134, 'volume': 1.0} | asctime='2026-05-02 10:34:14'
2026-05-02 10:34:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 34, 14, 713855, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.1729, 'close': 1.1729, 'volume': 1.0} | asctime='2026-05-02 10:34:14'
2026-05-02 10:34:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 34, 14, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 10:34:14'
2026-05-02 10:34:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 34, 41, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 10:34:41'
2026-05-02 10:34:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 34, 46, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 10:34:46'
2026-05-02 10:34:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 34, 54, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 10:34:54'
2026-05-02 10:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 36, 3, 911919, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17135, 'close': 1.17135, 'volume': 4.0} | asctime='2026-05-02 10:36:03'
2026-05-02 10:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 36, 3, 912545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17282, 'low': 1.17241, 'close': 1.17267, 'volume': 4.0} | asctime='2026-05-02 10:36:03'
2026-05-02 10:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 36, 3, 913183, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17151, 'low': 1.17125, 'close': 1.17135, 'volume': 12.0} | asctime='2026-05-02 10:36:03'
2026-05-02 10:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 36, 3, 913700, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.1729, 'low': 1.1723, 'close': 1.17267, 'volume': 12.0} | asctime='2026-05-02 10:36:03'
2026-05-02 10:36:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 36, 3, 834000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 10:36:03'
2026-05-02 10:37:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 37, 10, 710416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17129, 'close': 1.17129, 'volume': 1.0} | asctime='2026-05-02 10:37:10'
2026-05-02 10:37:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 37, 10, 711901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17261, 'close': 1.17261, 'volume': 1.0} | asctime='2026-05-02 10:37:10'
2026-05-02 10:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 37, 10, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 10:37:10'
2026-05-02 10:37:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 37, 12, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 10:37:13'
2026-05-02 10:37:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 37, 16, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 10:37:16'
2026-05-02 10:39:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 39, 42, 609319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17147, 'low': 1.17119, 'close': 1.17147, 'volume': 3.0} | asctime='2026-05-02 10:39:42'
2026-05-02 10:39:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 39, 42, 610105, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17237, 'close': 1.17237, 'volume': 3.0} | asctime='2026-05-02 10:39:42'
2026-05-02 10:39:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 39, 42, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 10:39:42'
2026-05-02 10:39:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 39, 50, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 10:39:50'
2026-05-02 10:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 40, 28, 658555, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17153, 'low': 1.17125, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 10:40:28'
2026-05-02 10:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 40, 28, 659914, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 10:40:28'
2026-05-02 10:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 40, 28, 660402, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17129, 'high': 1.17153, 'low': 1.17119, 'close': 1.17153, 'volume': 6.0} | asctime='2026-05-02 10:40:28'
2026-05-02 10:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 40, 28, 660874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17237, 'close': 1.17243, 'volume': 6.0} | asctime='2026-05-02 10:40:28'
2026-05-02 10:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 40, 28, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 10:40:28'
2026-05-02 10:40:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 40, 29, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 10:40:29'
2026-05-02 10:40:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 40, 40, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 10:40:40'
2026-05-02 10:42:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 42, 58, 257657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17153, 'low': 1.1712, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 10:42:58'
2026-05-02 10:42:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 42, 58, 259510, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17276, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 10:42:58'
2026-05-02 10:42:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 42, 58, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 10:42:58'
2026-05-02 10:43:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 43, 6, 657433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17159, 'close': 1.17159, 'volume': 1.0} | asctime='2026-05-02 10:43:06'
2026-05-02 10:43:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 43, 6, 658985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 10:43:06'
2026-05-02 10:43:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 43, 6, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 10:43:06'
2026-05-02 10:43:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 43, 14, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 10:43:14'
2026-05-02 10:43:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 43, 32, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 10:43:32'
2026-05-02 10:44:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 44, 55, 6719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.1715, 'low': 1.17119, 'close': 1.17119, 'volume': 3.0} | asctime='2026-05-02 10:44:55'
2026-05-02 10:44:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 44, 55, 7609, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.1724, 'close': 1.17251, 'volume': 3.0} | asctime='2026-05-02 10:44:55'
2026-05-02 10:44:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 44, 54, 944000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 10:44:55'
2026-05-02 10:44:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 44, 55, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 10:44:55'
2026-05-02 10:44:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 44, 55, 190000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 10:44:55'
2026-05-02 10:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 1, 756049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17112, 'close': 1.17112, 'volume': 3.0} | asctime='2026-05-02 10:45:01'
2026-05-02 10:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 1, 756994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17292, 'low': 1.17238, 'close': 1.17292, 'volume': 3.0} | asctime='2026-05-02 10:45:01'
2026-05-02 10:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 1, 758657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17159, 'low': 1.17112, 'close': 1.17112, 'volume': 10.0} | asctime='2026-05-02 10:45:01'
2026-05-02 10:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 1, 759239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17276, 'high': 1.17292, 'low': 1.17238, 'close': 1.17292, 'volume': 10.0} | asctime='2026-05-02 10:45:01'
2026-05-02 10:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 1, 759687, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17133, 'high': 1.17159, 'low': 1.17112, 'close': 1.17112, 'volume': 28.0} | asctime='2026-05-02 10:45:01'
2026-05-02 10:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 1, 760161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17265, 'high': 1.17292, 'low': 1.1723, 'close': 1.17292, 'volume': 28.0} | asctime='2026-05-02 10:45:01'
2026-05-02 10:45:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 1, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 10:45:01'
2026-05-02 10:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 6, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 10:45:06'
2026-05-02 10:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 16, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 10:45:16'
2026-05-02 10:45:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 40, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 10:45:40'
2026-05-02 10:45:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 45, 48, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 10:45:48'
2026-05-02 10:48:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 48, 9, 154326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17131, 'low': 1.17112, 'close': 1.17124, 'volume': 5.0} | asctime='2026-05-02 10:48:09'
2026-05-02 10:48:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 48, 9, 155863, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17268, 'low': 1.17254, 'close': 1.17256, 'volume': 5.0} | asctime='2026-05-02 10:48:09'
2026-05-02 10:48:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 48, 9, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 10:48:09'
2026-05-02 10:48:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 48, 18, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 10:48:18'
2026-05-02 10:49:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 49, 55, 258551, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17157, 'low': 1.17154, 'close': 1.17157, 'volume': 2.0} | asctime='2026-05-02 10:49:55'
2026-05-02 10:49:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 49, 55, 259937, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17247, 'low': 1.17244, 'close': 1.17247, 'volume': 2.0} | asctime='2026-05-02 10:49:55'
2026-05-02 10:49:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 49, 55, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17308, 'bid_price': 1.17056, 'volume': 0.0} | asctime='2026-05-02 10:49:55'
2026-05-02 10:49:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 49, 58, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 10:49:58'
2026-05-02 10:52:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 52, 5, 852549, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17056, 'high': 1.17056, 'low': 1.1705, 'close': 1.1705, 'volume': 2.0} | asctime='2026-05-02 10:52:05'
2026-05-02 10:52:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 52, 5, 853662, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17308, 'high': 1.17308, 'low': 1.17254, 'close': 1.17254, 'volume': 2.0} | asctime='2026-05-02 10:52:05'
2026-05-02 10:52:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 52, 5, 854684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17122, 'high': 1.17157, 'low': 1.1705, 'close': 1.1705, 'volume': 9.0} | asctime='2026-05-02 10:52:05'
2026-05-02 10:52:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 52, 5, 855257, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17308, 'low': 1.17244, 'close': 1.17254, 'volume': 9.0} | asctime='2026-05-02 10:52:05'
2026-05-02 10:52:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 52, 5, 766000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17044, 'volume': 0.0} | asctime='2026-05-02 10:52:05'
2026-05-02 10:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 52, 10, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17045, 'volume': 0.0} | asctime='2026-05-02 10:52:10'
2026-05-02 10:53:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 53, 12, 501440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17044, 'high': 1.17045, 'low': 1.17044, 'close': 1.17045, 'volume': 2.0} | asctime='2026-05-02 10:53:12'
2026-05-02 10:53:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 53, 12, 502933, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17273, 'low': 1.17272, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 10:53:12'
2026-05-02 10:53:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 53, 12, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 10:53:12'
2026-05-02 10:53:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 53, 54, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 10:53:54'
2026-05-02 10:54:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 54, 35, 800194, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17159, 'low': 1.17111, 'close': 1.17159, 'volume': 2.0} | asctime='2026-05-02 10:54:35'
2026-05-02 10:54:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 54, 35, 801829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17249, 'close': 1.17249, 'volume': 2.0} | asctime='2026-05-02 10:54:35'
2026-05-02 10:54:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 54, 35, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 10:54:35'
2026-05-02 10:54:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 54, 40, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 10:54:40'
2026-05-02 10:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 54, 58, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 10:54:58'
2026-05-02 10:55:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 55, 47, 299240, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17166, 'high': 1.17166, 'low': 1.1714, 'close': 1.1714, 'volume': 3.0} | asctime='2026-05-02 10:55:47'
2026-05-02 10:55:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 55, 47, 300322, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17274, 'low': 1.17256, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 10:55:47'
2026-05-02 10:55:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 55, 47, 301422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17044, 'high': 1.17166, 'low': 1.17044, 'close': 1.1714, 'volume': 7.0} | asctime='2026-05-02 10:55:47'
2026-05-02 10:55:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 55, 47, 301886, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17272, 'high': 1.17274, 'low': 1.17249, 'close': 1.17272, 'volume': 7.0} | asctime='2026-05-02 10:55:47'
2026-05-02 10:55:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 55, 47, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 10:55:47'
2026-05-02 10:56:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 56, 24, 749520, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17136, 'close': 1.17136, 'volume': 1.0} | asctime='2026-05-02 10:56:24'
2026-05-02 10:56:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 56, 24, 750530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17268, 'close': 1.17268, 'volume': 1.0} | asctime='2026-05-02 10:56:24'
2026-05-02 10:56:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 56, 24, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 10:56:24'
2026-05-02 10:57:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 57, 6, 598994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17135, 'low': 1.17135, 'close': 1.17135, 'volume': 1.0} | asctime='2026-05-02 10:57:06'
2026-05-02 10:57:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 57, 6, 600536, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17267, 'close': 1.17267, 'volume': 1.0} | asctime='2026-05-02 10:57:06'
2026-05-02 10:57:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 57, 6, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 10:57:06'
2026-05-02 10:57:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 57, 30, 465000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 10:57:30'
2026-05-02 10:58:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 58, 58, 647681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17152, 'high': 1.17153, 'low': 1.17152, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 10:58:58'
2026-05-02 10:58:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 58, 58, 648709, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17242, 'high': 1.17243, 'low': 1.17242, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 10:58:58'
2026-05-02 10:58:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 58, 58, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 10:58:58'
2026-05-02 10:59:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 59, 36, 797249, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.1712, 'low': 1.1712, 'close': 1.1712, 'volume': 1.0} | asctime='2026-05-02 10:59:36'
2026-05-02 10:59:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 59, 36, 798656, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17252, 'close': 1.17252, 'volume': 1.0} | asctime='2026-05-02 10:59:36'
2026-05-02 10:59:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 59, 36, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 10:59:36'
2026-05-02 10:59:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 10, 59, 42, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 10:59:42'
2026-05-02 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 0, 848103, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17113, 'high': 1.1712, 'low': 1.17113, 'close': 1.1712, 'volume': 2.0} | asctime='2026-05-02 11:00:00'
2026-05-02 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 0, 849844, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17276, 'low': 1.17269, 'close': 1.17276, 'volume': 2.0} | asctime='2026-05-02 11:00:00'
2026-05-02 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 0, 852266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17136, 'high': 1.17153, 'low': 1.17113, 'close': 1.1712, 'volume': 7.0} | asctime='2026-05-02 11:00:00'
2026-05-02 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 0, 854441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.17276, 'low': 1.17242, 'close': 1.17276, 'volume': 7.0} | asctime='2026-05-02 11:00:00'
2026-05-02 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 0, 856096, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17122, 'high': 1.17166, 'low': 1.17044, 'close': 1.1712, 'volume': 23.0} | asctime='2026-05-02 11:00:00'
2026-05-02 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 0, 857497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17254, 'high': 1.17308, 'low': 1.17242, 'close': 1.17276, 'volume': 23.0} | asctime='2026-05-02 11:00:00'
2026-05-02 11:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 0, 777000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 11:00:00'
2026-05-02 11:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 1, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 11:00:01'
2026-05-02 11:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 2, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 11:00:02'
2026-05-02 11:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 3, 756000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 11:00:03'
2026-05-02 11:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 6, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 11:00:06'
2026-05-02 11:00:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 7, 977000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 11:00:08'
2026-05-02 11:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 9, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 11:00:09'
2026-05-02 11:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 0, 9, 713000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 11:00:09'
2026-05-02 11:01:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 1, 10, 746701, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17128, 'low': 1.17077, 'close': 1.17107, 'volume': 8.0} | asctime='2026-05-02 11:01:10'
2026-05-02 11:01:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 1, 10, 747963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17233, 'close': 1.17239, 'volume': 8.0} | asctime='2026-05-02 11:01:10'
2026-05-02 11:01:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 1, 10, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 11:01:10'
2026-05-02 11:01:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 1, 26, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17083, 'volume': 0.0} | asctime='2026-05-02 11:01:26'
2026-05-02 11:01:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 1, 27, 787000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.1708, 'volume': 0.0} | asctime='2026-05-02 11:01:27'
2026-05-02 11:01:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 1, 36, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 11:01:36'
2026-05-02 11:01:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 1, 49, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 11:01:49'
2026-05-02 11:02:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 2, 40, 495522, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17108, 'high': 1.17134, 'low': 1.1708, 'close': 1.17134, 'volume': 5.0} | asctime='2026-05-02 11:02:40'
2026-05-02 11:02:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 2, 40, 496461, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17287, 'low': 1.1724, 'close': 1.17266, 'volume': 5.0} | asctime='2026-05-02 11:02:40'
2026-05-02 11:02:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 2, 40, 398000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 11:02:40'
2026-05-02 11:02:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 2, 50, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 11:02:50'
2026-05-02 11:03:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 3, 56, 694747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17119, 'low': 1.17111, 'close': 1.17119, 'volume': 2.0} | asctime='2026-05-02 11:03:56'
2026-05-02 11:03:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 3, 56, 696487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17251, 'close': 1.17251, 'volume': 2.0} | asctime='2026-05-02 11:03:56'
2026-05-02 11:03:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 3, 56, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:03:56'
2026-05-02 11:04:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 4, 22, 144594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 11:04:22'
2026-05-02 11:04:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 4, 22, 146203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 11:04:22'
2026-05-02 11:04:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 4, 22, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 11:04:22'
2026-05-02 11:04:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 4, 24, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 11:04:24'
2026-05-02 11:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 4, 32, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 11:04:32'
2026-05-02 11:06:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 6, 26, 743991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17126, 'close': 1.17132, 'volume': 3.0} | asctime='2026-05-02 11:06:26'
2026-05-02 11:06:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 6, 26, 745416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17264, 'low': 1.17238, 'close': 1.17264, 'volume': 3.0} | asctime='2026-05-02 11:06:26'
2026-05-02 11:06:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 6, 26, 746529, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17154, 'low': 1.17077, 'close': 1.17132, 'volume': 19.0} | asctime='2026-05-02 11:06:26'
2026-05-02 11:06:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 6, 26, 747509, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17281, 'high': 1.17287, 'low': 1.17233, 'close': 1.17264, 'volume': 19.0} | asctime='2026-05-02 11:06:26'
2026-05-02 11:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 6, 26, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 11:06:26'
2026-05-02 11:06:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 6, 54, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 11:06:54'
2026-05-02 11:06:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 6, 57, 949000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 11:06:58'
2026-05-02 11:07:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 7, 2, 743252, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17127, 'low': 1.17126, 'close': 1.17126, 'volume': 3.0} | asctime='2026-05-02 11:07:02'
2026-05-02 11:07:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 7, 2, 744738, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17259, 'low': 1.17258, 'close': 1.17258, 'volume': 3.0} | asctime='2026-05-02 11:07:02'
2026-05-02 11:07:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 7, 2, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 11:07:02'
2026-05-02 11:07:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 7, 40, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:07:40'
2026-05-02 11:08:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 8, 13, 742814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17154, 'low': 1.17149, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 11:08:13'
2026-05-02 11:08:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 8, 13, 743900, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17244, 'low': 1.17239, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 11:08:13'
2026-05-02 11:08:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 8, 13, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 11:08:13'
2026-05-02 11:09:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 9, 24, 741652, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 11:09:24'
2026-05-02 11:09:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 9, 24, 742573, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 11:09:24'
2026-05-02 11:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 9, 24, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 11:09:24'
2026-05-02 11:09:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 9, 32, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 11:09:32'
2026-05-02 11:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 10, 3, 691846, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17153, 'low': 1.17151, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 11:10:03'
2026-05-02 11:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 10, 3, 694145, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17243, 'low': 1.17241, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 11:10:03'
2026-05-02 11:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 10, 3, 695681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17126, 'high': 1.17154, 'low': 1.17126, 'close': 1.17153, 'volume': 8.0} | asctime='2026-05-02 11:10:03'
2026-05-02 11:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 10, 3, 696746, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17258, 'high': 1.17259, 'low': 1.17239, 'close': 1.17243, 'volume': 8.0} | asctime='2026-05-02 11:10:03'
2026-05-02 11:10:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 10, 3, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 11:10:03'
2026-05-02 11:10:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 10, 12, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 11:10:12'
2026-05-02 11:11:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 11, 36, 690887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17136, 'close': 1.17136, 'volume': 2.0} | asctime='2026-05-02 11:11:36'
2026-05-02 11:11:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 11, 36, 691696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17268, 'close': 1.17268, 'volume': 2.0} | asctime='2026-05-02 11:11:36'
2026-05-02 11:11:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 11, 36, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 11:11:36'
2026-05-02 11:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 11, 40, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 11:11:40'
2026-05-02 11:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 12, 2, 989696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17114, 'close': 1.17114, 'volume': 2.0} | asctime='2026-05-02 11:12:02'
2026-05-02 11:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 12, 2, 990657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.1727, 'low': 1.17265, 'close': 1.1727, 'volume': 2.0} | asctime='2026-05-02 11:12:02'
2026-05-02 11:12:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 12, 2, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 11:12:02'
2026-05-02 11:12:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 12, 47, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 11:12:47'
2026-05-02 11:12:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 12, 53, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 11:12:53'
2026-05-02 11:12:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 12, 58, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 11:12:58'
2026-05-02 11:13:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 13, 10, 739595, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17143, 'low': 1.1711, 'close': 1.17143, 'volume': 4.0} | asctime='2026-05-02 11:13:10'
2026-05-02 11:13:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 13, 10, 740298, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17233, 'close': 1.17233, 'volume': 4.0} | asctime='2026-05-02 11:13:10'
2026-05-02 11:13:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 13, 10, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17217, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 11:13:10'
2026-05-02 11:13:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 13, 57, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 11:13:58'
2026-05-02 11:14:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 14, 13, 688676, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17143, 'close': 1.17143, 'volume': 2.0} | asctime='2026-05-02 11:14:13'
2026-05-02 11:14:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 14, 13, 689286, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17217, 'high': 1.17233, 'low': 1.17217, 'close': 1.17233, 'volume': 2.0} | asctime='2026-05-02 11:14:13'
2026-05-02 11:14:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 14, 13, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 11:14:13'
2026-05-02 11:14:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 14, 33, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 11:14:33'
2026-05-02 11:16:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 32, 687160, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17155, 'low': 1.17129, 'close': 1.17155, 'volume': 2.0} | asctime='2026-05-02 11:16:32'
2026-05-02 11:16:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 32, 688199, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17245, 'close': 1.17245, 'volume': 2.0} | asctime='2026-05-02 11:16:32'
2026-05-02 11:16:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 32, 689345, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.17155, 'low': 1.1711, 'close': 1.17155, 'volume': 12.0} | asctime='2026-05-02 11:16:32'
2026-05-02 11:16:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 32, 689783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17269, 'high': 1.17271, 'low': 1.17217, 'close': 1.17245, 'volume': 12.0} | asctime='2026-05-02 11:16:32'
2026-05-02 11:16:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 32, 690171, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17125, 'high': 1.17155, 'low': 1.17077, 'close': 1.17155, 'volume': 39.0} | asctime='2026-05-02 11:16:32'
2026-05-02 11:16:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 32, 690542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17281, 'high': 1.17287, 'low': 1.17217, 'close': 1.17245, 'volume': 39.0} | asctime='2026-05-02 11:16:32'
2026-05-02 11:16:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 32, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:16:32'
2026-05-02 11:16:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 16, 50, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 11:16:50'
2026-05-02 11:17:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 17, 3, 87401, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17153, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 11:17:03'
2026-05-02 11:17:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 17, 3, 88161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 11:17:03'
2026-05-02 11:17:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 17, 3, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 11:17:03'
2026-05-02 11:17:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 17, 47, 721000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 11:17:47'
2026-05-02 11:17:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 17, 48, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 11:17:48'
2026-05-02 11:17:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 17, 58, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 11:17:58'
2026-05-02 11:18:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 18, 30, 737119, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17153, 'low': 1.17137, 'close': 1.17153, 'volume': 4.0} | asctime='2026-05-02 11:18:30'
2026-05-02 11:18:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 18, 30, 739300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.1727, 'low': 1.17241, 'close': 1.17243, 'volume': 4.0} | asctime='2026-05-02 11:18:30'
2026-05-02 11:18:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 18, 30, 668000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 11:18:30'
2026-05-02 11:18:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 18, 32, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 11:18:32'
2026-05-02 11:18:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 18, 32, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 11:18:32'
2026-05-02 11:20:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 20, 18, 735326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17166, 'low': 1.17138, 'close': 1.17163, 'volume': 3.0} | asctime='2026-05-02 11:20:18'
2026-05-02 11:20:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 20, 18, 736225, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17253, 'close': 1.17253, 'volume': 3.0} | asctime='2026-05-02 11:20:18'
2026-05-02 11:20:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 20, 18, 736885, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17166, 'low': 1.17137, 'close': 1.17163, 'volume': 9.0} | asctime='2026-05-02 11:20:18'
2026-05-02 11:20:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 20, 18, 737285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.1727, 'low': 1.17241, 'close': 1.17253, 'volume': 9.0} | asctime='2026-05-02 11:20:18'
2026-05-02 11:20:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 20, 18, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 11:20:18'
2026-05-02 11:20:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 20, 51, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 11:20:51'
2026-05-02 11:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 21, 2, 134845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17138, 'close': 1.17138, 'volume': 2.0} | asctime='2026-05-02 11:21:02'
2026-05-02 11:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 21, 2, 135773, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.1727, 'low': 1.17247, 'close': 1.1727, 'volume': 2.0} | asctime='2026-05-02 11:21:02'
2026-05-02 11:21:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 21, 2, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 11:21:02'
2026-05-02 11:22:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 22, 55, 983685, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.1715, 'close': 1.1715, 'volume': 1.0} | asctime='2026-05-02 11:22:55'
2026-05-02 11:22:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 22, 55, 984963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1724, 'low': 1.1724, 'close': 1.1724, 'volume': 1.0} | asctime='2026-05-02 11:22:55'
2026-05-02 11:22:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 22, 55, 911000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 11:22:55'
2026-05-02 11:22:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 22, 57, 896000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 11:22:57'
2026-05-02 11:23:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 0, 183463, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.1714, 'low': 1.17138, 'close': 1.1714, 'volume': 2.0} | asctime='2026-05-02 11:23:00'
2026-05-02 11:23:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 0, 184357, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.17272, 'low': 1.1727, 'close': 1.17272, 'volume': 2.0} | asctime='2026-05-02 11:23:00'
2026-05-02 11:23:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 0, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 11:23:00'
2026-05-02 11:23:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 12, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 11:23:12'
2026-05-02 11:23:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 20, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17174, 'volume': 0.0} | asctime='2026-05-02 11:23:20'
2026-05-02 11:23:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 38, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 11:23:38'
2026-05-02 11:23:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 40, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 11:23:40'
2026-05-02 11:23:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 44, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 11:23:44'
2026-05-02 11:23:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 50, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 11:23:50'
2026-05-02 11:23:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 51, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 11:23:51'
2026-05-02 11:23:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 23, 57, 970000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 11:23:58'
2026-05-02 11:25:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 25, 42, 682853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17174, 'low': 1.1712, 'close': 1.17155, 'volume': 9.0} | asctime='2026-05-02 11:25:42'
2026-05-02 11:25:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 25, 42, 684683, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.173, 'low': 1.17245, 'close': 1.17245, 'volume': 9.0} | asctime='2026-05-02 11:25:42'
2026-05-02 11:25:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 25, 42, 688764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17157, 'high': 1.17174, 'low': 1.1712, 'close': 1.17155, 'volume': 14.0} | asctime='2026-05-02 11:25:42'
2026-05-02 11:25:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 25, 42, 691528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17247, 'high': 1.173, 'low': 1.1724, 'close': 1.17245, 'volume': 14.0} | asctime='2026-05-02 11:25:42'
2026-05-02 11:25:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 25, 42, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 11:25:42'
2026-05-02 11:26:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 26, 8, 132160, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 11:26:08'
2026-05-02 11:26:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 26, 8, 133545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 11:26:08'
2026-05-02 11:26:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 26, 8, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 11:26:08'
2026-05-02 11:26:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 26, 12, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 11:26:12'
2026-05-02 11:26:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 26, 21, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 11:26:21'
2026-05-02 11:26:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 26, 58, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 11:26:58'
2026-05-02 11:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 27, 0, 381120, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17156, 'low': 1.17123, 'close': 1.17123, 'volume': 4.0} | asctime='2026-05-02 11:27:00'
2026-05-02 11:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 27, 0, 382096, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17246, 'close': 1.17255, 'volume': 4.0} | asctime='2026-05-02 11:27:00'
2026-05-02 11:27:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 27, 0, 303000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 11:27:00'
2026-05-02 11:28:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 28, 20, 180082, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17129, 'close': 1.17129, 'volume': 1.0} | asctime='2026-05-02 11:28:20'
2026-05-02 11:28:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 28, 20, 181716, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17261, 'close': 1.17261, 'volume': 1.0} | asctime='2026-05-02 11:28:20'
2026-05-02 11:28:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 28, 20, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 11:28:20'
2026-05-02 11:28:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 28, 20, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 11:28:21'
2026-05-02 11:28:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 28, 30, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 11:28:30'
2026-05-02 11:28:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 28, 42, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 11:28:42'
2026-05-02 11:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 42, 679346, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17141, 'low': 1.17124, 'close': 1.17124, 'volume': 4.0} | asctime='2026-05-02 11:30:42'
2026-05-02 11:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 42, 680410, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.17231, 'close': 1.17256, 'volume': 4.0} | asctime='2026-05-02 11:30:42'
2026-05-02 11:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 42, 681667, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17153, 'high': 1.17156, 'low': 1.17123, 'close': 1.17124, 'volume': 10.0} | asctime='2026-05-02 11:30:42'
2026-05-02 11:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 42, 682571, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17243, 'high': 1.1727, 'low': 1.17231, 'close': 1.17256, 'volume': 10.0} | asctime='2026-05-02 11:30:42'
2026-05-02 11:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 42, 683424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17154, 'high': 1.17174, 'low': 1.1712, 'close': 1.17124, 'volume': 33.0} | asctime='2026-05-02 11:30:42'
2026-05-02 11:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 42, 684266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17244, 'high': 1.173, 'low': 1.17231, 'close': 1.17256, 'volume': 33.0} | asctime='2026-05-02 11:30:42'
2026-05-02 11:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 42, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 11:30:42'
2026-05-02 11:30:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 49, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 11:30:49'
2026-05-02 11:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 50, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 11:30:50'
2026-05-02 11:30:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 30, 57, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 11:30:58'
2026-05-02 11:31:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 31, 52, 678452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1705, 'high': 1.1713, 'low': 1.1705, 'close': 1.1713, 'volume': 4.0} | asctime='2026-05-02 11:31:52'
2026-05-02 11:31:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 31, 52, 679393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17288, 'low': 1.17254, 'close': 1.17286, 'volume': 4.0} | asctime='2026-05-02 11:31:52'
2026-05-02 11:31:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 31, 52, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 11:31:52'
2026-05-02 11:32:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 32, 38, 228651, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17136, 'close': 1.17136, 'volume': 1.0} | asctime='2026-05-02 11:32:38'
2026-05-02 11:32:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 32, 38, 229806, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17268, 'close': 1.17268, 'volume': 1.0} | asctime='2026-05-02 11:32:38'
2026-05-02 11:32:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 32, 38, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 11:32:38'
2026-05-02 11:33:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 33, 11, 127483, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 11:33:11'
2026-05-02 11:33:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 33, 11, 129122, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17287, 'high': 1.17287, 'low': 1.17287, 'close': 1.17287, 'volume': 1.0} | asctime='2026-05-02 11:33:11'
2026-05-02 11:33:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 33, 11, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 11:33:11'
2026-05-02 11:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 33, 20, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 11:33:20'
2026-05-02 11:33:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 33, 28, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 11:33:28'
2026-05-02 11:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 34, 10, 204300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17153, 'low': 1.1713, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 11:34:10'
2026-05-02 11:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 34, 10, 205974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17265, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 11:34:10'
2026-05-02 11:34:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 34, 10, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 11:34:10'
2026-05-02 11:34:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 34, 11, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 11:34:11'
2026-05-02 11:34:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 34, 34, 212000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 11:34:34'
2026-05-02 11:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 34, 40, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 11:34:40'
2026-05-02 11:34:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 34, 52, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 11:34:52'
2026-05-02 11:35:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 35, 28, 26769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17148, 'low': 1.17109, 'close': 1.17145, 'volume': 5.0} | asctime='2026-05-02 11:35:28'
2026-05-02 11:35:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 35, 28, 27508, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17271, 'low': 1.17235, 'close': 1.17235, 'volume': 5.0} | asctime='2026-05-02 11:35:28'
2026-05-02 11:35:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 35, 28, 28075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1705, 'high': 1.17153, 'low': 1.1705, 'close': 1.17145, 'volume': 14.0} | asctime='2026-05-02 11:35:28'
2026-05-02 11:35:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 35, 28, 28584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17288, 'low': 1.17235, 'close': 1.17235, 'volume': 14.0} | asctime='2026-05-02 11:35:28'
2026-05-02 11:35:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 35, 27, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 11:35:28'
2026-05-02 11:35:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 35, 44, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 11:35:44'
2026-05-02 11:35:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 35, 48, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 11:35:48'
2026-05-02 11:37:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 37, 51, 125727, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17127, 'low': 1.17113, 'close': 1.17113, 'volume': 3.0} | asctime='2026-05-02 11:37:51'
2026-05-02 11:37:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 37, 51, 126671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17269, 'low': 1.1725, 'close': 1.17269, 'volume': 3.0} | asctime='2026-05-02 11:37:51'
2026-05-02 11:37:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 37, 51, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 11:37:51'
2026-05-02 11:37:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 37, 58, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 11:37:58'
2026-05-02 11:38:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 38, 18, 674839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17132, 'close': 1.17132, 'volume': 2.0} | asctime='2026-05-02 11:38:18'
2026-05-02 11:38:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 38, 18, 676384, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17264, 'low': 1.17238, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 11:38:18'
2026-05-02 11:38:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 38, 18, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 11:38:18'
2026-05-02 11:39:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 39, 42, 723592, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17159, 'close': 1.17159, 'volume': 1.0} | asctime='2026-05-02 11:39:42'
2026-05-02 11:39:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 39, 42, 724265, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 11:39:42'
2026-05-02 11:39:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 39, 42, 652000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 11:39:42'
2026-05-02 11:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 40, 28, 773923, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 11:40:28'
2026-05-02 11:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 40, 28, 774955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 11:40:28'
2026-05-02 11:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 40, 28, 776612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17118, 'high': 1.17159, 'low': 1.17113, 'close': 1.17153, 'volume': 7.0} | asctime='2026-05-02 11:40:28'
2026-05-02 11:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 40, 28, 777632, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1725, 'high': 1.17269, 'low': 1.17238, 'close': 1.17243, 'volume': 7.0} | asctime='2026-05-02 11:40:28'
2026-05-02 11:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 40, 28, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 11:40:28'
2026-05-02 11:40:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 40, 48, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:40:48'
2026-05-02 11:40:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 40, 58, 365000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 11:40:58'
2026-05-02 11:41:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 41, 18, 672800, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17127, 'close': 1.17127, 'volume': 3.0} | asctime='2026-05-02 11:41:18'
2026-05-02 11:41:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 41, 18, 674601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17259, 'low': 1.17244, 'close': 1.17259, 'volume': 3.0} | asctime='2026-05-02 11:41:18'
2026-05-02 11:41:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 41, 18, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 11:41:18'
2026-05-02 11:42:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 42, 46, 522419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17138, 'close': 1.17138, 'volume': 1.0} | asctime='2026-05-02 11:42:46'
2026-05-02 11:42:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 42, 46, 523987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17228, 'high': 1.17228, 'low': 1.17228, 'close': 1.17228, 'volume': 1.0} | asctime='2026-05-02 11:42:46'
2026-05-02 11:42:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 42, 46, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 11:42:46'
2026-05-02 11:42:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 42, 54, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 11:42:54'
2026-05-02 11:43:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 43, 13, 72163, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17117, 'low': 1.17112, 'close': 1.17117, 'volume': 2.0} | asctime='2026-05-02 11:43:13'
2026-05-02 11:43:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 43, 13, 73053, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17249, 'close': 1.17249, 'volume': 2.0} | asctime='2026-05-02 11:43:13'
2026-05-02 11:43:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 43, 13, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:43:13'
2026-05-02 11:43:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 43, 17, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 11:43:17'
2026-05-02 11:44:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 18, 771509, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17122, 'close': 1.17122, 'volume': 2.0} | asctime='2026-05-02 11:44:18'
2026-05-02 11:44:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 18, 772660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17254, 'low': 1.17244, 'close': 1.17254, 'volume': 2.0} | asctime='2026-05-02 11:44:18'
2026-05-02 11:44:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 18, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17225, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 11:44:18'
2026-05-02 11:44:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 36, 444000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 11:44:36'
2026-05-02 11:44:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 36, 568000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17075, 'volume': 0.0} | asctime='2026-05-02 11:44:36'
2026-05-02 11:44:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 44, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17079, 'volume': 0.0} | asctime='2026-05-02 11:44:44'
2026-05-02 11:44:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 48, 237000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 11:44:48'
2026-05-02 11:44:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 44, 53, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 11:44:53'
2026-05-02 11:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 70818, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17152, 'low': 1.17075, 'close': 1.17152, 'volume': 6.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 72479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17225, 'high': 1.17303, 'low': 1.17225, 'close': 1.17242, 'volume': 6.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 73548, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17075, 'close': 1.17152, 'volume': 14.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 74627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17303, 'low': 1.17225, 'close': 1.17242, 'volume': 14.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 75580, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1705, 'high': 1.17159, 'low': 1.1705, 'close': 1.17152, 'volume': 35.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 76520, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17254, 'high': 1.17303, 'low': 1.17225, 'close': 1.17242, 'volume': 35.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 2, 386000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 11:45:02'
2026-05-02 11:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 7, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 11:45:08'
2026-05-02 11:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 8, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 11:45:08'
2026-05-02 11:45:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 11, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 11:45:11'
2026-05-02 11:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 16, 784000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 11:45:16'
2026-05-02 11:45:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 20, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 11:45:20'
2026-05-02 11:45:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 27, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 11:45:27'
2026-05-02 11:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 33, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 11:45:33'
2026-05-02 11:45:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 45, 34, 906000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 11:45:34'
2026-05-02 11:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 46, 16, 670040, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17148, 'low': 1.171, 'close': 1.17123, 'volume': 10.0} | asctime='2026-05-02 11:46:16'
2026-05-02 11:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 46, 16, 672700, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17273, 'low': 1.17235, 'close': 1.17255, 'volume': 10.0} | asctime='2026-05-02 11:46:16'
2026-05-02 11:46:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 46, 16, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 11:46:16'
2026-05-02 11:47:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 47, 50, 619526, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17125, 'close': 1.17125, 'volume': 1.0} | asctime='2026-05-02 11:47:50'
2026-05-02 11:47:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 47, 50, 621100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17257, 'close': 1.17257, 'volume': 1.0} | asctime='2026-05-02 11:47:50'
2026-05-02 11:47:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 47, 50, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 11:47:50'
2026-05-02 11:47:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 47, 58, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 11:47:58'
2026-05-02 11:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 48, 2, 669131, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17158, 'low': 1.17129, 'close': 1.17158, 'volume': 2.0} | asctime='2026-05-02 11:48:02'
2026-05-02 11:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 48, 2, 669891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17248, 'close': 1.17248, 'volume': 2.0} | asctime='2026-05-02 11:48:02'
2026-05-02 11:48:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 48, 2, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:48:02'
2026-05-02 11:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 48, 4, 722000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 11:48:04'
2026-05-02 11:48:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 48, 10, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 11:48:10'
2026-05-02 11:48:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 48, 16, 638000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 11:48:16'
2026-05-02 11:49:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 49, 16, 268451, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17121, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 11:49:16'
2026-05-02 11:49:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 49, 16, 270199, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17256, 'low': 1.17226, 'close': 1.17226, 'volume': 4.0} | asctime='2026-05-02 11:49:16'
2026-05-02 11:49:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 49, 16, 217000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 11:49:16'
2026-05-02 11:49:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 49, 40, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 11:49:40'
2026-05-02 11:49:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 49, 44, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 11:49:44'
2026-05-02 11:49:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 49, 58, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 11:49:58'
2026-05-02 11:50:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 50, 42, 667512, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17139, 'low': 1.17111, 'close': 1.17127, 'volume': 4.0} | asctime='2026-05-02 11:50:42'
2026-05-02 11:50:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 50, 42, 669512, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17271, 'low': 1.17259, 'close': 1.17259, 'volume': 4.0} | asctime='2026-05-02 11:50:42'
2026-05-02 11:50:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 50, 42, 670192, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.17158, 'low': 1.171, 'close': 1.17127, 'volume': 21.0} | asctime='2026-05-02 11:50:42'
2026-05-02 11:50:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 50, 42, 672006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17269, 'high': 1.17273, 'low': 1.17226, 'close': 1.17259, 'volume': 21.0} | asctime='2026-05-02 11:50:42'
2026-05-02 11:50:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 50, 42, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 11:50:42'
2026-05-02 11:51:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 51, 46, 816489, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17128, 'low': 1.17128, 'close': 1.17128, 'volume': 1.0} | asctime='2026-05-02 11:51:46'
2026-05-02 11:51:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 51, 46, 818101, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.1726, 'close': 1.1726, 'volume': 1.0} | asctime='2026-05-02 11:51:46'
2026-05-02 11:51:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 51, 46, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 11:51:46'
2026-05-02 11:52:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 12, 616513, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 11:52:12'
2026-05-02 11:52:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 12, 617602, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 11:52:12'
2026-05-02 11:52:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 12, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 11:52:12'
2026-05-02 11:52:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 24, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 11:52:24'
2026-05-02 11:52:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 25, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:52:25'
2026-05-02 11:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 34, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 11:52:34'
2026-05-02 11:52:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 41, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 11:52:41'
2026-05-02 11:52:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 45, 978000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 11:52:46'
2026-05-02 11:52:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 50, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 11:52:50'
2026-05-02 11:52:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 52, 52, 929000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:52:52'
2026-05-02 11:54:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 37, 115564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17154, 'low': 1.17122, 'close': 1.17154, 'volume': 8.0} | asctime='2026-05-02 11:54:37'
2026-05-02 11:54:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 37, 117271, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17285, 'low': 1.1724, 'close': 1.17244, 'volume': 8.0} | asctime='2026-05-02 11:54:37'
2026-05-02 11:54:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 37, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 11:54:37'
2026-05-02 11:54:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 37, 437000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 11:54:37'
2026-05-02 11:54:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 37, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 11:54:37'
2026-05-02 11:54:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 49, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 11:54:49'
2026-05-02 11:54:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 50, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 11:54:50'
2026-05-02 11:54:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 53, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 11:54:53'
2026-05-02 11:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 54, 58, 42000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 11:54:58'
2026-05-02 11:55:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 8, 514773, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17165, 'low': 1.1712, 'close': 1.17136, 'volume': 7.0} | asctime='2026-05-02 11:55:08'
2026-05-02 11:55:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 8, 515775, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17279, 'low': 1.17226, 'close': 1.17226, 'volume': 7.0} | asctime='2026-05-02 11:55:08'
2026-05-02 11:55:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 8, 517591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17128, 'high': 1.17165, 'low': 1.1712, 'close': 1.17136, 'volume': 17.0} | asctime='2026-05-02 11:55:08'
2026-05-02 11:55:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 8, 519064, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1726, 'high': 1.17285, 'low': 1.17226, 'close': 1.17226, 'volume': 17.0} | asctime='2026-05-02 11:55:08'
2026-05-02 11:55:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 8, 468000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 11:55:08'
2026-05-02 11:55:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 13, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 11:55:13'
2026-05-02 11:55:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 16, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17411, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 11:55:16'
2026-05-02 11:55:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 32, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17418, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 11:55:32'
2026-05-02 11:55:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 36, 271000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17407, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 11:55:36'
2026-05-02 11:55:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 42, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 11:55:42'
2026-05-02 11:55:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 46, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 11:55:46'
2026-05-02 11:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 56, 6000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 11:55:56'
2026-05-02 11:55:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 55, 57, 992000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 11:55:58'
2026-05-02 11:56:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 56, 29, 63763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.1715, 'low': 1.17133, 'close': 1.17135, 'volume': 9.0} | asctime='2026-05-02 11:56:29'
2026-05-02 11:56:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 56, 29, 64456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17418, 'low': 1.17232, 'close': 1.17267, 'volume': 9.0} | asctime='2026-05-02 11:56:29'
2026-05-02 11:56:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 56, 29, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 11:56:29'
2026-05-02 11:58:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 58, 6, 512682, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17164, 'high': 1.17164, 'low': 1.17164, 'close': 1.17164, 'volume': 1.0} | asctime='2026-05-02 11:58:06'
2026-05-02 11:58:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 58, 6, 513339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17254, 'low': 1.17254, 'close': 1.17254, 'volume': 1.0} | asctime='2026-05-02 11:58:06'
2026-05-02 11:58:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 58, 6, 460000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 11:58:06'
2026-05-02 11:58:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 58, 13, 34000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 11:58:13'
2026-05-02 11:58:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 58, 26, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 11:58:26'
2026-05-02 11:59:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 59, 6, 712394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17155, 'low': 1.17139, 'close': 1.17155, 'volume': 3.0} | asctime='2026-05-02 11:59:06'
2026-05-02 11:59:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 59, 6, 713047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17244, 'close': 1.17245, 'volume': 3.0} | asctime='2026-05-02 11:59:06'
2026-05-02 11:59:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 11, 59, 6, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 11:59:06'
2026-05-02 12:00:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 38, 663008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17158, 'close': 1.17158, 'volume': 1.0} | asctime='2026-05-02 12:00:38'
2026-05-02 12:00:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 38, 664100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17248, 'low': 1.17248, 'close': 1.17248, 'volume': 1.0} | asctime='2026-05-02 12:00:38'
2026-05-02 12:00:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 38, 665571, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17142, 'high': 1.17164, 'low': 1.17133, 'close': 1.17158, 'volume': 14.0} | asctime='2026-05-02 12:00:38'
2026-05-02 12:00:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 38, 667117, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17232, 'high': 1.17418, 'low': 1.17232, 'close': 1.17248, 'volume': 14.0} | asctime='2026-05-02 12:00:38'
2026-05-02 12:00:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 38, 667694, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17137, 'high': 1.17165, 'low': 1.171, 'close': 1.17158, 'volume': 52.0} | asctime='2026-05-02 12:00:38'
2026-05-02 12:00:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 38, 669100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17269, 'high': 1.17418, 'low': 1.17226, 'close': 1.17248, 'volume': 52.0} | asctime='2026-05-02 12:00:38'
2026-05-02 12:00:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 38, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 12:00:38'
2026-05-02 12:00:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 42, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:00:42'
2026-05-02 12:00:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 0, 54, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 12:00:54'
2026-05-02 12:01:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 28, 63455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17152, 'close': 1.17152, 'volume': 3.0} | asctime='2026-05-02 12:01:28'
2026-05-02 12:01:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 28, 69504, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17242, 'close': 1.17242, 'volume': 3.0} | asctime='2026-05-02 12:01:28'
2026-05-02 12:01:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 28, 30000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 12:01:28'
2026-05-02 12:01:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 36, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 12:01:36'
2026-05-02 12:01:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 40, 193000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 12:01:40'
2026-05-02 12:01:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 40, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 12:01:40'
2026-05-02 12:01:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 41, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 12:01:41'
2026-05-02 12:01:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 44, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 12:01:44'
2026-05-02 12:01:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 1, 54, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 12:01:54'
2026-05-02 12:04:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 4, 10, 309106, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17111, 'close': 1.17133, 'volume': 7.0} | asctime='2026-05-02 12:04:10'
2026-05-02 12:04:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 4, 10, 309907, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17267, 'low': 1.17235, 'close': 1.17265, 'volume': 7.0} | asctime='2026-05-02 12:04:10'
2026-05-02 12:04:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 4, 10, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 12:04:10'
2026-05-02 12:04:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 4, 12, 862000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 12:04:12'
2026-05-02 12:04:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 4, 58, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 12:04:58'
2026-05-02 12:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 5, 49, 859832, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17142, 'low': 1.17131, 'close': 1.17142, 'volume': 3.0} | asctime='2026-05-02 12:05:49'
2026-05-02 12:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 5, 49, 860803, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17274, 'low': 1.17263, 'close': 1.17274, 'volume': 3.0} | asctime='2026-05-02 12:05:49'
2026-05-02 12:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 5, 49, 862110, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17111, 'close': 1.17142, 'volume': 13.0} | asctime='2026-05-02 12:05:49'
2026-05-02 12:05:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 5, 49, 863420, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17274, 'low': 1.17235, 'close': 1.17274, 'volume': 13.0} | asctime='2026-05-02 12:05:49'
2026-05-02 12:05:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 5, 49, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 12:05:49'
2026-05-02 12:05:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 5, 53, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 12:05:53'
2026-05-02 12:05:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 5, 53, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 12:05:53'
2026-05-02 12:06:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 6, 51, 407410, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17145, 'low': 1.1713, 'close': 1.17135, 'volume': 3.0} | asctime='2026-05-02 12:06:51'
2026-05-02 12:06:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 6, 51, 408467, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17291, 'low': 1.17277, 'close': 1.17291, 'volume': 3.0} | asctime='2026-05-02 12:06:51'
2026-05-02 12:06:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 6, 51, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 12:06:51'
2026-05-02 12:06:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 6, 58, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 12:06:58'
2026-05-02 12:07:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 7, 7, 658080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17169, 'low': 1.17136, 'close': 1.17169, 'volume': 2.0} | asctime='2026-05-02 12:07:07'
2026-05-02 12:07:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 7, 7, 658721, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17292, 'high': 1.17292, 'low': 1.17259, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 12:07:07'
2026-05-02 12:07:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 7, 7, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 12:07:07'
2026-05-02 12:07:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 7, 8, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 12:07:08'
2026-05-02 12:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 7, 16, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 12:07:16'
2026-05-02 12:07:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 7, 47, 465000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 12:07:47'
2026-05-02 12:07:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 7, 56, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 12:07:56'
2026-05-02 12:09:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 21, 206432, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17153, 'low': 1.17131, 'close': 1.17153, 'volume': 5.0} | asctime='2026-05-02 12:09:21'
2026-05-02 12:09:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 21, 208591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17294, 'high': 1.17294, 'low': 1.17243, 'close': 1.17243, 'volume': 5.0} | asctime='2026-05-02 12:09:21'
2026-05-02 12:09:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 21, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 12:09:21'
2026-05-02 12:09:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 25, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 12:09:25'
2026-05-02 12:09:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 25, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 12:09:25'
2026-05-02 12:09:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 25, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17312, 'bid_price': 1.17084, 'volume': 0.0} | asctime='2026-05-02 12:09:25'
2026-05-02 12:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 26, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 12:09:26'
2026-05-02 12:09:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 32, 721000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 12:09:32'
2026-05-02 12:09:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 42, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 12:09:42'
2026-05-02 12:09:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 50, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 12:09:50'
2026-05-02 12:09:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 51, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 12:09:52'
2026-05-02 12:09:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 9, 58, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 12:09:58'
2026-05-02 12:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 2, 204477, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17157, 'low': 1.17084, 'close': 1.17157, 'volume': 10.0} | asctime='2026-05-02 12:12:02'
2026-05-02 12:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 2, 206152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17312, 'low': 1.17247, 'close': 1.17247, 'volume': 10.0} | asctime='2026-05-02 12:12:02'
2026-05-02 12:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 2, 207527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17145, 'high': 1.17169, 'low': 1.17084, 'close': 1.17157, 'volume': 20.0} | asctime='2026-05-02 12:12:02'
2026-05-02 12:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 2, 208095, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17277, 'high': 1.17312, 'low': 1.17243, 'close': 1.17247, 'volume': 20.0} | asctime='2026-05-02 12:12:02'
2026-05-02 12:12:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 2, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17419, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 12:12:02'
2026-05-02 12:12:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 12, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17411, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 12:12:13'
2026-05-02 12:12:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 32, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 12:12:32'
2026-05-02 12:12:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 33, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 12:12:33'
2026-05-02 12:12:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 42, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 12:12:42'
2026-05-02 12:12:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 12, 52, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 12:12:52'
2026-05-02 12:13:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 13, 48, 554052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.1717, 'low': 1.17137, 'close': 1.1717, 'volume': 6.0} | asctime='2026-05-02 12:13:48'
2026-05-02 12:13:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 13, 48, 554783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17419, 'high': 1.17419, 'low': 1.17248, 'close': 1.1726, 'volume': 6.0} | asctime='2026-05-02 12:13:48'
2026-05-02 12:13:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 13, 48, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 12:13:48'
2026-05-02 12:13:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 13, 52, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 12:13:52'
2026-05-02 12:14:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 14, 37, 453013, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17147, 'close': 1.17147, 'volume': 2.0} | asctime='2026-05-02 12:14:37'
2026-05-02 12:14:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 14, 37, 453842, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17279, 'low': 1.17252, 'close': 1.17279, 'volume': 2.0} | asctime='2026-05-02 12:14:37'
2026-05-02 12:14:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 14, 37, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 12:14:37'
2026-05-02 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 15, 3, 153857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17156, 'close': 1.17156, 'volume': 1.0} | asctime='2026-05-02 12:15:03'
2026-05-02 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 15, 3, 155604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17246, 'close': 1.17246, 'volume': 1.0} | asctime='2026-05-02 12:15:03'
2026-05-02 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 15, 3, 160233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17145, 'high': 1.1717, 'low': 1.17137, 'close': 1.17156, 'volume': 9.0} | asctime='2026-05-02 12:15:03'
2026-05-02 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 15, 3, 160947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17419, 'high': 1.17419, 'low': 1.17246, 'close': 1.17246, 'volume': 9.0} | asctime='2026-05-02 12:15:03'
2026-05-02 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 15, 3, 161440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17155, 'high': 1.1717, 'low': 1.17084, 'close': 1.17156, 'volume': 42.0} | asctime='2026-05-02 12:15:03'
2026-05-02 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 15, 3, 161961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17245, 'high': 1.17419, 'low': 1.17235, 'close': 1.17246, 'volume': 42.0} | asctime='2026-05-02 12:15:03'
2026-05-02 12:15:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 15, 3, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 12:15:03'
2026-05-02 12:16:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 16, 22, 852621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17155, 'close': 1.17155, 'volume': 1.0} | asctime='2026-05-02 12:16:22'
2026-05-02 12:16:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 16, 22, 854349, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17245, 'close': 1.17245, 'volume': 1.0} | asctime='2026-05-02 12:16:22'
2026-05-02 12:16:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 16, 22, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 12:16:22'
2026-05-02 12:16:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 16, 24, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 12:16:24'
2026-05-02 12:17:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 17, 16, 701621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17157, 'low': 1.17156, 'close': 1.17157, 'volume': 2.0} | asctime='2026-05-02 12:17:16'
2026-05-02 12:17:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 17, 16, 706084, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17247, 'low': 1.17246, 'close': 1.17247, 'volume': 2.0} | asctime='2026-05-02 12:17:16'
2026-05-02 12:17:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 17, 16, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:17:16'
2026-05-02 12:18:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 18, 53, 300828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 12:18:53'
2026-05-02 12:18:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 18, 53, 302256, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 12:18:53'
2026-05-02 12:18:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 18, 53, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 12:18:53'
2026-05-02 12:18:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 18, 54, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 12:18:54'
2026-05-02 12:19:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 19, 38, 200522, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17132, 'close': 1.17132, 'volume': 2.0} | asctime='2026-05-02 12:19:38'
2026-05-02 12:19:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 19, 38, 204896, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17264, 'low': 1.1724, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 12:19:38'
2026-05-02 12:19:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 19, 38, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 12:19:38'
2026-05-02 12:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 19, 46, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 12:19:46'
2026-05-02 12:22:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 22, 5, 199168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17157, 'low': 1.17133, 'close': 1.17157, 'volume': 2.0} | asctime='2026-05-02 12:22:05'
2026-05-02 12:22:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 22, 5, 200339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17247, 'close': 1.17247, 'volume': 2.0} | asctime='2026-05-02 12:22:05'
2026-05-02 12:22:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 22, 5, 201788, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17157, 'low': 1.17132, 'close': 1.17157, 'volume': 8.0} | asctime='2026-05-02 12:22:05'
2026-05-02 12:22:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 22, 5, 202401, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17265, 'low': 1.1724, 'close': 1.17247, 'volume': 8.0} | asctime='2026-05-02 12:22:05'
2026-05-02 12:22:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 22, 5, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:22:05'
2026-05-02 12:22:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 22, 8, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 12:22:08'
2026-05-02 12:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 22, 16, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:22:16'
2026-05-02 12:23:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 23, 54, 547969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17158, 'low': 1.17154, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 12:23:54'
2026-05-02 12:23:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 23, 54, 549075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17248, 'low': 1.17244, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 12:23:54'
2026-05-02 12:23:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 23, 54, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 12:23:54'
2026-05-02 12:23:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 23, 54, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 12:23:54'
2026-05-02 12:24:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 24, 11, 48006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17132, 'close': 1.17132, 'volume': 2.0} | asctime='2026-05-02 12:24:11'
2026-05-02 12:24:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 24, 11, 49052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17264, 'low': 1.17239, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 12:24:11'
2026-05-02 12:24:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 24, 11, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.17058, 'volume': 0.0} | asctime='2026-05-02 12:24:11'
2026-05-02 12:24:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 24, 12, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.17092, 'volume': 0.0} | asctime='2026-05-02 12:24:12'
2026-05-02 12:24:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 24, 17, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 12:24:17'
2026-05-02 12:25:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 26, 497182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17058, 'high': 1.171, 'low': 1.17058, 'close': 1.171, 'volume': 3.0} | asctime='2026-05-02 12:25:26'
2026-05-02 12:25:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 26, 498095, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17286, 'high': 1.17296, 'low': 1.17256, 'close': 1.17256, 'volume': 3.0} | asctime='2026-05-02 12:25:26'
2026-05-02 12:25:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 26, 498692, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17158, 'low': 1.17058, 'close': 1.171, 'volume': 8.0} | asctime='2026-05-02 12:25:26'
2026-05-02 12:25:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 26, 499429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.17296, 'low': 1.17239, 'close': 1.17256, 'volume': 8.0} | asctime='2026-05-02 12:25:26'
2026-05-02 12:25:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 26, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 12:25:26'
2026-05-02 12:25:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 34, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 12:25:34'
2026-05-02 12:25:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 41, 240000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 12:25:41'
2026-05-02 12:25:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 41, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17331, 'bid_price': 1.17079, 'volume': 0.0} | asctime='2026-05-02 12:25:41'
2026-05-02 12:25:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 25, 43, 350000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 12:25:43'
2026-05-02 12:26:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 23, 346829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17167, 'low': 1.17079, 'close': 1.17135, 'volume': 5.0} | asctime='2026-05-02 12:26:23'
2026-05-02 12:26:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 23, 348109, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17331, 'low': 1.17257, 'close': 1.17291, 'volume': 5.0} | asctime='2026-05-02 12:26:23'
2026-05-02 12:26:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 23, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 12:26:23'
2026-05-02 12:26:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 29, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 12:26:29'
2026-05-02 12:26:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 30, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 12:26:30'
2026-05-02 12:26:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 30, 889000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 12:26:30'
2026-05-02 12:26:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 35, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 12:26:35'
2026-05-02 12:26:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 38, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 12:26:38'
2026-05-02 12:26:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 38, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 12:26:38'
2026-05-02 12:26:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 41, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 12:26:41'
2026-05-02 12:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 46, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 12:26:46'
2026-05-02 12:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 46, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17304, 'bid_price': 1.17076, 'volume': 0.0} | asctime='2026-05-02 12:26:46'
2026-05-02 12:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 46, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17075, 'volume': 0.0} | asctime='2026-05-02 12:26:46'
2026-05-02 12:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 46, 899000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 12:26:46'
2026-05-02 12:26:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 48, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:26:48'
2026-05-02 12:26:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 50, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 12:26:50'
2026-05-02 12:26:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 55, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:26:55'
2026-05-02 12:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 26, 56, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 12:26:56'
2026-05-02 12:27:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 27, 40, 295723, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17169, 'low': 1.17075, 'close': 1.17117, 'volume': 16.0} | asctime='2026-05-02 12:27:40'
2026-05-02 12:27:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 27, 40, 296590, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17304, 'low': 1.17244, 'close': 1.17273, 'volume': 16.0} | asctime='2026-05-02 12:27:40'
2026-05-02 12:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 27, 40, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 12:27:40'
2026-05-02 12:28:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 2, 995562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17142, 'close': 1.17142, 'volume': 1.0} | asctime='2026-05-02 12:28:02'
2026-05-02 12:28:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 2, 996544, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17232, 'low': 1.17232, 'close': 1.17232, 'volume': 1.0} | asctime='2026-05-02 12:28:02'
2026-05-02 12:28:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 2, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 12:28:02'
2026-05-02 12:28:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 12, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 12:28:12'
2026-05-02 12:28:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 28, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 12:28:28'
2026-05-02 12:28:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 29, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 12:28:29'
2026-05-02 12:28:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 54, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 12:28:54'
2026-05-02 12:28:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 57, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 12:28:57'
2026-05-02 12:28:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 28, 57, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 12:28:57'
2026-05-02 12:29:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 29, 20, 596008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17149, 'low': 1.17114, 'close': 1.17115, 'volume': 7.0} | asctime='2026-05-02 12:29:20'
2026-05-02 12:29:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 29, 20, 596833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17282, 'low': 1.17247, 'close': 1.17247, 'volume': 7.0} | asctime='2026-05-02 12:29:20'
2026-05-02 12:29:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 29, 20, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 12:29:20'
2026-05-02 12:29:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 29, 38, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 12:29:38'
2026-05-02 12:30:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 17, 193922, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.1714, 'low': 1.17137, 'close': 1.1714, 'volume': 2.0} | asctime='2026-05-02 12:30:17'
2026-05-02 12:30:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 17, 194925, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17227, 'high': 1.1723, 'low': 1.17227, 'close': 1.1723, 'volume': 2.0} | asctime='2026-05-02 12:30:17'
2026-05-02 12:30:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 17, 195470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17141, 'high': 1.17169, 'low': 1.17075, 'close': 1.1714, 'volume': 31.0} | asctime='2026-05-02 12:30:17'
2026-05-02 12:30:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 17, 196038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17273, 'high': 1.17331, 'low': 1.17227, 'close': 1.1723, 'volume': 31.0} | asctime='2026-05-02 12:30:17'
2026-05-02 12:30:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 17, 196451, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17155, 'high': 1.17169, 'low': 1.17058, 'close': 1.1714, 'volume': 47.0} | asctime='2026-05-02 12:30:17'
2026-05-02 12:30:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 17, 196845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17245, 'high': 1.17331, 'low': 1.17227, 'close': 1.1723, 'volume': 47.0} | asctime='2026-05-02 12:30:17'
2026-05-02 12:30:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 17, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 12:30:17'
2026-05-02 12:30:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 34, 413000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 12:30:34'
2026-05-02 12:30:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 36, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 12:30:36'
2026-05-02 12:30:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 44, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 12:30:44'
2026-05-02 12:30:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 30, 57, 996000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 12:30:58'
2026-05-02 12:31:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 7, 943513, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17152, 'high': 1.17153, 'low': 1.17126, 'close': 1.17138, 'volume': 5.0} | asctime='2026-05-02 12:31:07'
2026-05-02 12:31:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 7, 944288, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17242, 'high': 1.17282, 'low': 1.17242, 'close': 1.1727, 'volume': 5.0} | asctime='2026-05-02 12:31:07'
2026-05-02 12:31:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 7, 926000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 12:31:07'
2026-05-02 12:31:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 8, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 12:31:08'
2026-05-02 12:31:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 13, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 12:31:13'
2026-05-02 12:31:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 18, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:31:18'
2026-05-02 12:31:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 25, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 12:31:25'
2026-05-02 12:31:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 25, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 12:31:25'
2026-05-02 12:31:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 26, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 12:31:26'
2026-05-02 12:31:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 30, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 12:31:30'
2026-05-02 12:31:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 37, 219000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 12:31:37'
2026-05-02 12:31:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 38, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 12:31:38'
2026-05-02 12:31:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 40, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:31:40'
2026-05-02 12:31:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 45, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 12:31:45'
2026-05-02 12:31:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 31, 58, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 12:31:58'
2026-05-02 12:33:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 33, 5, 745356, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17154, 'low': 1.17108, 'close': 1.17122, 'volume': 13.0} | asctime='2026-05-02 12:33:05'
2026-05-02 12:33:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 33, 5, 754059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.1728, 'low': 1.17244, 'close': 1.17254, 'volume': 13.0} | asctime='2026-05-02 12:33:05'
2026-05-02 12:33:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 33, 5, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 12:33:05'
2026-05-02 12:33:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 33, 13, 40000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 12:33:13'
2026-05-02 12:33:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 33, 18, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 12:33:18'
2026-05-02 12:33:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 33, 23, 837000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 12:33:23'
2026-05-02 12:34:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 34, 0, 742118, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.1717, 'low': 1.17121, 'close': 1.1717, 'volume': 4.0} | asctime='2026-05-02 12:34:00'
2026-05-02 12:34:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 34, 0, 743626, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17274, 'low': 1.17245, 'close': 1.1726, 'volume': 4.0} | asctime='2026-05-02 12:34:00'
2026-05-02 12:34:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 34, 0, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 12:34:00'
2026-05-02 12:34:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 34, 18, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 12:34:18'
2026-05-02 12:34:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 34, 20, 808000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 12:34:20'
2026-05-02 12:34:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 34, 50, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 12:34:50'
2026-05-02 12:35:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 35, 16, 690897, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17153, 'low': 1.17125, 'close': 1.17125, 'volume': 4.0} | asctime='2026-05-02 12:35:16'
2026-05-02 12:35:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 35, 16, 691748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17293, 'low': 1.17243, 'close': 1.17257, 'volume': 4.0} | asctime='2026-05-02 12:35:16'
2026-05-02 12:35:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 35, 16, 692937, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17152, 'high': 1.1717, 'low': 1.17108, 'close': 1.17125, 'volume': 26.0} | asctime='2026-05-02 12:35:16'
2026-05-02 12:35:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 35, 16, 694186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17242, 'high': 1.17293, 'low': 1.17242, 'close': 1.17257, 'volume': 26.0} | asctime='2026-05-02 12:35:16'
2026-05-02 12:35:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 35, 16, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 12:35:16'
2026-05-02 12:35:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 35, 48, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 12:35:48'
2026-05-02 12:36:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 36, 28, 439991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17136, 'low': 1.17122, 'close': 1.17136, 'volume': 2.0} | asctime='2026-05-02 12:36:28'
2026-05-02 12:36:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 36, 28, 440858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17268, 'close': 1.17268, 'volume': 2.0} | asctime='2026-05-02 12:36:28'
2026-05-02 12:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 36, 28, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 12:36:28'
2026-05-02 12:37:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 37, 17, 340378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17133, 'close': 1.17133, 'volume': 1.0} | asctime='2026-05-02 12:37:17'
2026-05-02 12:37:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 37, 17, 342013, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17265, 'close': 1.17265, 'volume': 1.0} | asctime='2026-05-02 12:37:17'
2026-05-02 12:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 37, 17, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 12:37:17'
2026-05-02 12:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 37, 17, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 12:37:17'
2026-05-02 12:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 37, 17, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 12:37:17'
2026-05-02 12:37:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 37, 18, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 12:37:18'
2026-05-02 12:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 37, 20, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 12:37:20'
2026-05-02 12:39:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 39, 24, 288567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17104, 'close': 1.1712, 'volume': 5.0} | asctime='2026-05-02 12:39:24'
2026-05-02 12:39:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 39, 24, 289261, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17284, 'low': 1.17257, 'close': 1.17276, 'volume': 5.0} | asctime='2026-05-02 12:39:24'
2026-05-02 12:39:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 39, 24, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 12:39:24'
2026-05-02 12:39:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 39, 24, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 12:39:24'
2026-05-02 12:39:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 39, 47, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 12:39:47'
2026-05-02 12:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 39, 54, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 12:39:54'
2026-05-02 12:39:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 39, 56, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 12:39:56'
2026-05-02 12:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 41, 12, 637127, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17148, 'low': 1.17125, 'close': 1.17127, 'volume': 5.0} | asctime='2026-05-02 12:41:12'
2026-05-02 12:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 41, 12, 637972, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17234, 'close': 1.17259, 'volume': 5.0} | asctime='2026-05-02 12:41:12'
2026-05-02 12:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 41, 12, 638889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17122, 'high': 1.17148, 'low': 1.17104, 'close': 1.17127, 'volume': 13.0} | asctime='2026-05-02 12:41:12'
2026-05-02 12:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 41, 12, 639483, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17278, 'high': 1.17284, 'low': 1.17234, 'close': 1.17259, 'volume': 13.0} | asctime='2026-05-02 12:41:12'
2026-05-02 12:41:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 41, 12, 638000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 12:41:12'
2026-05-02 12:41:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 41, 25, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 12:41:25'
2026-05-02 12:41:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 41, 26, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 12:41:26'
2026-05-02 12:42:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 42, 26, 536931, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17145, 'low': 1.17124, 'close': 1.17124, 'volume': 3.0} | asctime='2026-05-02 12:42:26'
2026-05-02 12:42:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 42, 26, 540312, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.1728, 'low': 1.17231, 'close': 1.1728, 'volume': 3.0} | asctime='2026-05-02 12:42:26'
2026-05-02 12:42:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 42, 26, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 12:42:26'
2026-05-02 12:43:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 43, 57, 385997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17114, 'high': 1.17114, 'low': 1.17114, 'close': 1.17114, 'volume': 1.0} | asctime='2026-05-02 12:43:57'
2026-05-02 12:43:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 43, 57, 386998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.1727, 'close': 1.1727, 'volume': 1.0} | asctime='2026-05-02 12:43:57'
2026-05-02 12:43:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 43, 57, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 12:43:57'
2026-05-02 12:43:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 43, 57, 966000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:43:57'
2026-05-02 12:44:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 44, 51, 635816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17154, 'low': 1.17142, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 12:44:51'
2026-05-02 12:44:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 44, 51, 636642, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 12:44:51'
2026-05-02 12:44:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 44, 51, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 12:44:51'
2026-05-02 12:44:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 44, 56, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:44:56'
2026-05-02 12:46:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 46, 56, 735790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 12:46:56'
2026-05-02 12:46:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 46, 56, 736714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 12:46:56'
2026-05-02 12:46:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 46, 56, 737440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17141, 'high': 1.17157, 'low': 1.17114, 'close': 1.17154, 'volume': 8.0} | asctime='2026-05-02 12:46:56'
2026-05-02 12:46:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 46, 56, 737910, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17231, 'high': 1.1728, 'low': 1.17231, 'close': 1.17244, 'volume': 8.0} | asctime='2026-05-02 12:46:56'
2026-05-02 12:46:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 46, 56, 738439, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17152, 'high': 1.1717, 'low': 1.17104, 'close': 1.17154, 'volume': 47.0} | asctime='2026-05-02 12:46:56'
2026-05-02 12:46:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 46, 56, 738881, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17242, 'high': 1.17293, 'low': 1.17231, 'close': 1.17244, 'volume': 47.0} | asctime='2026-05-02 12:46:56'
2026-05-02 12:46:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 46, 56, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 12:46:56'
2026-05-02 12:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 47, 1, 783951, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17156, 'close': 1.17156, 'volume': 1.0} | asctime='2026-05-02 12:47:01'
2026-05-02 12:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 47, 1, 784642, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17246, 'close': 1.17246, 'volume': 1.0} | asctime='2026-05-02 12:47:01'
2026-05-02 12:47:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 47, 1, 789000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 12:47:01'
2026-05-02 12:47:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 47, 21, 897000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 12:47:21'
2026-05-02 12:47:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 47, 40, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 12:47:40'
2026-05-02 12:47:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 47, 48, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:47:48'
2026-05-02 12:49:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 49, 40, 682606, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17154, 'low': 1.17127, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 12:49:40'
2026-05-02 12:49:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 49, 40, 683275, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17234, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 12:49:40'
2026-05-02 12:49:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 49, 40, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 12:49:40'
2026-05-02 12:49:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 49, 52, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 12:49:52'
2026-05-02 12:49:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 49, 56, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:49:56'
2026-05-02 12:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 51, 14, 631978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17145, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 12:51:14'
2026-05-02 12:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 51, 14, 632833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17277, 'low': 1.17244, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 12:51:14'
2026-05-02 12:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 51, 14, 633455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17127, 'close': 1.17154, 'volume': 8.0} | asctime='2026-05-02 12:51:14'
2026-05-02 12:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 51, 14, 633881, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17246, 'high': 1.17277, 'low': 1.17234, 'close': 1.17244, 'volume': 8.0} | asctime='2026-05-02 12:51:14'
2026-05-02 12:51:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 51, 14, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 12:51:14'
2026-05-02 12:52:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 2, 281357, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 12:52:02'
2026-05-02 12:52:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 2, 282398, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 12:52:02'
2026-05-02 12:52:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 2, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 12:52:02'
2026-05-02 12:52:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 7, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 12:52:07'
2026-05-02 12:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 10, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:52:10'
2026-05-02 12:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 22, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 12:52:22'
2026-05-02 12:52:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 26, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:52:26'
2026-05-02 12:52:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 37, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 12:52:37'
2026-05-02 12:52:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 37, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 12:52:37'
2026-05-02 12:52:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 52, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 12:52:52'
2026-05-02 12:52:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 52, 58, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 12:52:58'
2026-05-02 12:53:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 53, 12, 584497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17157, 'low': 1.1711, 'close': 1.1711, 'volume': 9.0} | asctime='2026-05-02 12:53:12'
2026-05-02 12:53:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 53, 12, 585568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17266, 'low': 1.17227, 'close': 1.17266, 'volume': 9.0} | asctime='2026-05-02 12:53:12'
2026-05-02 12:53:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 53, 12, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17046, 'volume': 0.0} | asctime='2026-05-02 12:53:12'
2026-05-02 12:53:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 53, 23, 714000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 12:53:23'
2026-05-02 12:53:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 53, 42, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 12:53:42'
2026-05-02 12:54:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 54, 24, 679780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17046, 'high': 1.1713, 'low': 1.17046, 'close': 1.17127, 'volume': 3.0} | asctime='2026-05-02 12:54:24'
2026-05-02 12:54:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 54, 24, 680736, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17259, 'close': 1.17259, 'volume': 3.0} | asctime='2026-05-02 12:54:24'
2026-05-02 12:54:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 54, 24, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 12:54:24'
2026-05-02 12:55:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 7, 129534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17144, 'low': 1.17144, 'close': 1.17144, 'volume': 1.0} | asctime='2026-05-02 12:55:07'
2026-05-02 12:55:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 7, 130804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17234, 'high': 1.17234, 'low': 1.17234, 'close': 1.17234, 'volume': 1.0} | asctime='2026-05-02 12:55:07'
2026-05-02 12:55:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 7, 131936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17157, 'low': 1.17046, 'close': 1.17144, 'volume': 14.0} | asctime='2026-05-02 12:55:07'
2026-05-02 12:55:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 7, 132854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.17274, 'low': 1.17227, 'close': 1.17234, 'volume': 14.0} | asctime='2026-05-02 12:55:07'
2026-05-02 12:55:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 7, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 12:55:07'
2026-05-02 12:55:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 18, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 12:55:18'
2026-05-02 12:55:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 23, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 12:55:23'
2026-05-02 12:55:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 55, 42, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 12:55:42'
2026-05-02 12:56:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 56, 54, 728070, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17163, 'low': 1.17126, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 12:56:54'
2026-05-02 12:56:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 56, 54, 728908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17266, 'low': 1.17244, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 12:56:54'
2026-05-02 12:56:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 56, 54, 722000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 12:56:54'
2026-05-02 12:57:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 57, 28, 627988, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17121, 'low': 1.17121, 'close': 1.17121, 'volume': 1.0} | asctime='2026-05-02 12:57:28'
2026-05-02 12:57:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 57, 28, 630168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17253, 'low': 1.17253, 'close': 1.17253, 'volume': 1.0} | asctime='2026-05-02 12:57:28'
2026-05-02 12:57:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 57, 28, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 12:57:28'
2026-05-02 12:57:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 57, 48, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 12:57:48'
2026-05-02 12:57:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 57, 54, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 12:57:54'
2026-05-02 12:57:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 57, 56, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 12:57:56'
2026-05-02 12:59:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 59, 24, 26662, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17124, 'low': 1.17117, 'close': 1.17124, 'volume': 4.0} | asctime='2026-05-02 12:59:24'
2026-05-02 12:59:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 59, 24, 27767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17276, 'low': 1.17255, 'close': 1.17256, 'volume': 4.0} | asctime='2026-05-02 12:59:24'
2026-05-02 12:59:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 12, 59, 24, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 12:59:24'
2026-05-02 13:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 277335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 278470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 279725, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17126, 'high': 1.17163, 'low': 1.17117, 'close': 1.17153, 'volume': 10.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 281527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17258, 'high': 1.17276, 'low': 1.17243, 'close': 1.17243, 'volume': 10.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 282114, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17156, 'high': 1.17163, 'low': 1.17046, 'close': 1.17153, 'volume': 32.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 282556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17246, 'high': 1.17277, 'low': 1.17227, 'close': 1.17243, 'volume': 32.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 1, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 13:00:01'
2026-05-02 13:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 0, 10, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 13:00:10'
2026-05-02 13:01:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 1, 16, 208601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17159, 'low': 1.17142, 'close': 1.17142, 'volume': 3.0} | asctime='2026-05-02 13:01:16'
2026-05-02 13:01:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 1, 16, 209727, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17249, 'close': 1.17274, 'volume': 3.0} | asctime='2026-05-02 13:01:16'
2026-05-02 13:01:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 1, 15, 871000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 13:01:16'
2026-05-02 13:01:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 1, 35, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 13:01:35'
2026-05-02 13:01:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 1, 36, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17094, 'volume': 0.0} | asctime='2026-05-02 13:01:36'
2026-05-02 13:02:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 2, 24, 525666, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17112, 'low': 1.17094, 'close': 1.17094, 'volume': 3.0} | asctime='2026-05-02 13:02:24'
2026-05-02 13:02:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 2, 24, 527153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17298, 'low': 1.17268, 'close': 1.17298, 'volume': 3.0} | asctime='2026-05-02 13:02:24'
2026-05-02 13:02:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 2, 24, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 13:02:24'
2026-05-02 13:02:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 2, 36, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 13:02:36'
2026-05-02 13:02:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 2, 37, 790000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 13:02:37'
2026-05-02 13:04:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 6, 424678, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17159, 'low': 1.17132, 'close': 1.17147, 'volume': 3.0} | asctime='2026-05-02 13:04:06'
2026-05-02 13:04:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 6, 425739, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17288, 'high': 1.17288, 'low': 1.17249, 'close': 1.17279, 'volume': 3.0} | asctime='2026-05-02 13:04:06'
2026-05-02 13:04:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 6, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17172, 'volume': 0.0} | asctime='2026-05-02 13:04:06'
2026-05-02 13:04:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 14, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 13:04:14'
2026-05-02 13:04:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 29, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 13:04:29'
2026-05-02 13:04:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 29, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 13:04:29'
2026-05-02 13:04:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 41, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 13:04:41'
2026-05-02 13:04:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 41, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17319, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 13:04:41'
2026-05-02 13:04:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 42, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 13:04:42'
2026-05-02 13:04:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 4, 50, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 13:04:50'
2026-05-02 13:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 4, 23707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17172, 'high': 1.17172, 'low': 1.17115, 'close': 1.17153, 'volume': 8.0} | asctime='2026-05-02 13:05:04'
2026-05-02 13:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 4, 24814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17319, 'low': 1.17243, 'close': 1.17243, 'volume': 8.0} | asctime='2026-05-02 13:05:04'
2026-05-02 13:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 4, 26163, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17142, 'high': 1.17172, 'low': 1.17094, 'close': 1.17153, 'volume': 17.0} | asctime='2026-05-02 13:05:04'
2026-05-02 13:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 4, 27191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17274, 'high': 1.17319, 'low': 1.17243, 'close': 1.17243, 'volume': 17.0} | asctime='2026-05-02 13:05:04'
2026-05-02 13:05:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 4, 4000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 13:05:04'
2026-05-02 13:05:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 12, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 13:05:12'
2026-05-02 13:05:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 22, 1000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:05:22'
2026-05-02 13:05:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 22, 373000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 13:05:22'
2026-05-02 13:05:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 5, 25, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 13:05:25'
2026-05-02 13:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 0, 723356, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17148, 'low': 1.17109, 'close': 1.17144, 'volume': 5.0} | asctime='2026-05-02 13:06:00'
2026-05-02 13:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 0, 725210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17234, 'close': 1.17234, 'volume': 5.0} | asctime='2026-05-02 13:06:00'
2026-05-02 13:06:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 0, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 13:06:00'
2026-05-02 13:06:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 42, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 13:06:42'
2026-05-02 13:06:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 43, 797000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 13:06:43'
2026-05-02 13:06:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 46, 30000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 13:06:46'
2026-05-02 13:06:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 46, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 13:06:46'
2026-05-02 13:06:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 6, 50, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 13:06:50'
2026-05-02 13:07:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 7, 12, 572631, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17148, 'low': 1.17117, 'close': 1.17117, 'volume': 6.0} | asctime='2026-05-02 13:07:12'
2026-05-02 13:07:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 7, 12, 573505, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17273, 'low': 1.17238, 'close': 1.17273, 'volume': 6.0} | asctime='2026-05-02 13:07:12'
2026-05-02 13:07:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 7, 12, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 13:07:12'
2026-05-02 13:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 7, 14, 708000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 13:07:14'
2026-05-02 13:07:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 7, 30, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 13:07:30'
2026-05-02 13:07:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 7, 43, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 13:07:43'
2026-05-02 13:07:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 7, 52, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 13:07:52'
2026-05-02 13:08:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 8, 27, 171845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17159, 'low': 1.17143, 'close': 1.17156, 'volume': 5.0} | asctime='2026-05-02 13:08:27'
2026-05-02 13:08:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 8, 27, 173941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17229, 'close': 1.17246, 'volume': 5.0} | asctime='2026-05-02 13:08:27'
2026-05-02 13:08:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 8, 27, 189000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 13:08:27'
2026-05-02 13:08:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 8, 27, 312000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 13:08:27'
2026-05-02 13:09:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 9, 17, 221293, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17132, 'close': 1.17132, 'volume': 2.0} | asctime='2026-05-02 13:09:17'
2026-05-02 13:09:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 9, 17, 223021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17264, 'low': 1.17243, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 13:09:17'
2026-05-02 13:09:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 9, 17, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:09:17'
2026-05-02 13:09:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 9, 18, 326000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 13:09:18'
2026-05-02 13:09:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 9, 40, 668000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:09:40'
2026-05-02 13:09:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 9, 56, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 13:09:56'
2026-05-02 13:09:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 9, 56, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 13:09:56'
2026-05-02 13:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 4, 120415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17154, 'low': 1.17122, 'close': 1.17122, 'volume': 5.0} | asctime='2026-05-02 13:10:04'
2026-05-02 13:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 4, 121236, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17283, 'low': 1.17239, 'close': 1.17278, 'volume': 5.0} | asctime='2026-05-02 13:10:04'
2026-05-02 13:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 4, 122293, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.17159, 'low': 1.17109, 'close': 1.17122, 'volume': 23.0} | asctime='2026-05-02 13:10:04'
2026-05-02 13:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 4, 122870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17289, 'high': 1.17289, 'low': 1.17229, 'close': 1.17278, 'volume': 23.0} | asctime='2026-05-02 13:10:04'
2026-05-02 13:10:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 4, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:10:04'
2026-05-02 13:10:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 5, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 13:10:05'
2026-05-02 13:10:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 14, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 13:10:14'
2026-05-02 13:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 18, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 13:10:18'
2026-05-02 13:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 10, 24, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:10:24'
2026-05-02 13:11:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 34, 119911, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17154, 'low': 1.17127, 'close': 1.17154, 'volume': 5.0} | asctime='2026-05-02 13:11:34'
2026-05-02 13:11:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 34, 121468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17286, 'low': 1.17244, 'close': 1.17244, 'volume': 5.0} | asctime='2026-05-02 13:11:34'
2026-05-02 13:11:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 34, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 13:11:34'
2026-05-02 13:11:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 34, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 13:11:34'
2026-05-02 13:11:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 34, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 13:11:34'
2026-05-02 13:11:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 38, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:11:38'
2026-05-02 13:11:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 39, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 13:11:39'
2026-05-02 13:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 40, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 13:11:40'
2026-05-02 13:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 40, 196000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 13:11:40'
2026-05-02 13:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 40, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 13:11:40'
2026-05-02 13:11:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 11, 48, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 13:11:48'
2026-05-02 13:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 0, 319238, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17152, 'high': 1.17152, 'low': 1.17122, 'close': 1.17143, 'volume': 9.0} | asctime='2026-05-02 13:12:00'
2026-05-02 13:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 0, 320152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17242, 'high': 1.17283, 'low': 1.17242, 'close': 1.17275, 'volume': 9.0} | asctime='2026-05-02 13:12:00'
2026-05-02 13:12:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 0, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 13:12:00'
2026-05-02 13:12:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 8, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 13:12:08'
2026-05-02 13:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 12, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 13:12:12'
2026-05-02 13:12:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 13, 212000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 13:12:13'
2026-05-02 13:12:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 14, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 13:12:14'
2026-05-02 13:12:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 34, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 13:12:34'
2026-05-02 13:12:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 12, 36, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 13:12:36'
2026-05-02 13:13:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 3, 619057, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17145, 'low': 1.17113, 'close': 1.17132, 'volume': 7.0} | asctime='2026-05-02 13:13:03'
2026-05-02 13:13:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 3, 619960, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17235, 'high': 1.1727, 'low': 1.17231, 'close': 1.17264, 'volume': 7.0} | asctime='2026-05-02 13:13:03'
2026-05-02 13:13:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 3, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 13:13:03'
2026-05-02 13:13:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 7, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 13:13:07'
2026-05-02 13:13:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 9, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 13:13:09'
2026-05-02 13:13:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 12, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 13:13:12'
2026-05-02 13:13:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 18, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 13:13:18'
2026-05-02 13:13:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 44, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 13:13:44'
2026-05-02 13:13:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 46, 799000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 13:13:46'
2026-05-02 13:13:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 49, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 13:13:49'
2026-05-02 13:13:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 50, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17322, 'bid_price': 1.17094, 'volume': 0.0} | asctime='2026-05-02 13:13:50'
2026-05-02 13:13:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 52, 757000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17305, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 13:13:52'
2026-05-02 13:13:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 53, 502000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 13:13:53'
2026-05-02 13:13:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 13, 57, 970000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 13:13:57'
2026-05-02 13:14:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 0, 968187, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17164, 'high': 1.17164, 'low': 1.17094, 'close': 1.17131, 'volume': 12.0} | asctime='2026-05-02 13:14:00'
2026-05-02 13:14:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 0, 969304, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17322, 'low': 1.17245, 'close': 1.17287, 'volume': 12.0} | asctime='2026-05-02 13:14:00'
2026-05-02 13:14:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 0, 949000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 13:14:00'
2026-05-02 13:14:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 4, 797000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 13:14:04'
2026-05-02 13:14:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 4, 920000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 13:14:04'
2026-05-02 13:14:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 8, 768000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 13:14:08'
2026-05-02 13:14:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 9, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 13:14:09'
2026-05-02 13:14:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 10, 382000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 13:14:10'
2026-05-02 13:14:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 11, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 13:14:11'
2026-05-02 13:14:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 24, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 13:14:24'
2026-05-02 13:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 14, 58, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 13:14:58'
2026-05-02 13:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 518136, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17151, 'low': 1.17113, 'close': 1.17144, 'volume': 9.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 518923, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17293, 'high': 1.17293, 'low': 1.17234, 'close': 1.17234, 'volume': 9.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 519672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17164, 'low': 1.17094, 'close': 1.17144, 'volume': 42.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 520244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17283, 'high': 1.17322, 'low': 1.17231, 'close': 1.17234, 'volume': 42.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 520799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17142, 'high': 1.17172, 'low': 1.17094, 'close': 1.17144, 'volume': 82.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 521372, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17274, 'high': 1.17322, 'low': 1.17229, 'close': 1.17234, 'volume': 82.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 0, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 13:15:00'
2026-05-02 13:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 2, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 13:15:02'
2026-05-02 13:15:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 4, 375000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 13:15:04'
2026-05-02 13:15:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 12, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 13:15:12'
2026-05-02 13:15:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 25, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 13:15:25'
2026-05-02 13:15:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 26, 717000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 13:15:26'
2026-05-02 13:15:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 28, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 13:15:28'
2026-05-02 13:15:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 34, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 13:15:34'
2026-05-02 13:15:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 35, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 13:15:35'
2026-05-02 13:15:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 15, 54, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 13:15:54'
2026-05-02 13:16:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 16, 5, 216833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17151, 'low': 1.17111, 'close': 1.17145, 'volume': 11.0} | asctime='2026-05-02 13:16:05'
2026-05-02 13:16:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 16, 5, 217661, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17268, 'low': 1.17235, 'close': 1.17235, 'volume': 11.0} | asctime='2026-05-02 13:16:05'
2026-05-02 13:16:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 16, 5, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 13:16:05'
2026-05-02 13:16:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 16, 14, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 13:16:14'
2026-05-02 13:17:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 17, 10, 616962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17106, 'high': 1.17109, 'low': 1.17106, 'close': 1.17109, 'volume': 2.0} | asctime='2026-05-02 13:17:10'
2026-05-02 13:17:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 17, 10, 617742, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17265, 'low': 1.17262, 'close': 1.17265, 'volume': 2.0} | asctime='2026-05-02 13:17:10'
2026-05-02 13:17:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 17, 10, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 13:17:10'
2026-05-02 13:17:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 17, 12, 965000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 13:17:12'
2026-05-02 13:17:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 17, 44, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 13:17:44'
2026-05-02 13:18:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 18, 35, 115888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17157, 'low': 1.17124, 'close': 1.17157, 'volume': 3.0} | asctime='2026-05-02 13:18:35'
2026-05-02 13:18:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 18, 35, 117710, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17257, 'low': 1.17247, 'close': 1.17247, 'volume': 3.0} | asctime='2026-05-02 13:18:35'
2026-05-02 13:18:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 18, 35, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 13:18:35'
2026-05-02 13:19:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 13, 965048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17119, 'low': 1.17119, 'close': 1.17119, 'volume': 1.0} | asctime='2026-05-02 13:19:13'
2026-05-02 13:19:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 13, 966719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17275, 'close': 1.17275, 'volume': 1.0} | asctime='2026-05-02 13:19:13'
2026-05-02 13:19:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 13, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 13:19:13'
2026-05-02 13:19:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 14, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 13:19:14'
2026-05-02 13:19:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 22, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 13:19:22'
2026-05-02 13:19:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 23, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 13:19:23'
2026-05-02 13:19:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 29, 747000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 13:19:29'
2026-05-02 13:19:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 40, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 13:19:40'
2026-05-02 13:19:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 19, 48, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 13:19:48'
2026-05-02 13:20:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 20, 58, 364419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17155, 'low': 1.17112, 'close': 1.17141, 'volume': 7.0} | asctime='2026-05-02 13:20:58'
2026-05-02 13:20:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 20, 58, 365610, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17231, 'close': 1.17231, 'volume': 7.0} | asctime='2026-05-02 13:20:58'
2026-05-02 13:20:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 20, 58, 367026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17126, 'high': 1.17157, 'low': 1.17106, 'close': 1.17141, 'volume': 24.0} | asctime='2026-05-02 13:20:58'
2026-05-02 13:20:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 20, 58, 367604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17258, 'high': 1.17275, 'low': 1.17231, 'close': 1.17231, 'volume': 24.0} | asctime='2026-05-02 13:20:58'
2026-05-02 13:20:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 20, 58, 370000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 13:20:58'
2026-05-02 13:20:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 20, 59, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 13:20:59'
2026-05-02 13:21:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 21, 8, 664234, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17134, 'close': 1.17134, 'volume': 2.0} | asctime='2026-05-02 13:21:08'
2026-05-02 13:21:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 21, 8, 664998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17266, 'close': 1.17266, 'volume': 2.0} | asctime='2026-05-02 13:21:08'
2026-05-02 13:21:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 21, 8, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 13:21:08'
2026-05-02 13:21:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 21, 46, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 13:21:46'
2026-05-02 13:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 21, 52, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 13:21:52'
2026-05-02 13:22:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 10, 613017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17166, 'high': 1.17166, 'low': 1.17136, 'close': 1.17136, 'volume': 3.0} | asctime='2026-05-02 13:22:10'
2026-05-02 13:22:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 10, 614593, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17268, 'low': 1.17248, 'close': 1.17268, 'volume': 3.0} | asctime='2026-05-02 13:22:10'
2026-05-02 13:22:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 10, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 13:22:10'
2026-05-02 13:22:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 11, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 13:22:11'
2026-05-02 13:22:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 12, 346000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 13:22:12'
2026-05-02 13:22:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 19, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 13:22:19'
2026-05-02 13:22:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 20, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 13:22:20'
2026-05-02 13:22:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 22, 26, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 13:22:26'
2026-05-02 13:23:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 23, 16, 613377, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17149, 'low': 1.17112, 'close': 1.17125, 'volume': 6.0} | asctime='2026-05-02 13:23:16'
2026-05-02 13:23:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 23, 16, 614522, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17271, 'low': 1.17232, 'close': 1.17257, 'volume': 6.0} | asctime='2026-05-02 13:23:16'
2026-05-02 13:23:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 23, 16, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 13:23:16'
2026-05-02 13:23:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 23, 57, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17221, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 13:23:57'
2026-05-02 13:24:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 28, 512198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17151, 'low': 1.17146, 'close': 1.17151, 'volume': 2.0} | asctime='2026-05-02 13:24:28'
2026-05-02 13:24:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 28, 513136, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17236, 'low': 1.17221, 'close': 1.17221, 'volume': 2.0} | asctime='2026-05-02 13:24:28'
2026-05-02 13:24:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 28, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 13:24:28'
2026-05-02 13:24:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 36, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:24:36'
2026-05-02 13:24:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 49, 982000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 13:24:49'
2026-05-02 13:24:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 50, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 13:24:50'
2026-05-02 13:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 56, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 13:24:56'
2026-05-02 13:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 24, 58, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 13:24:58'
2026-05-02 13:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 26, 18, 611531, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17149, 'low': 1.17127, 'close': 1.17149, 'volume': 6.0} | asctime='2026-05-02 13:26:18'
2026-05-02 13:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 26, 18, 612974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17239, 'close': 1.17239, 'volume': 6.0} | asctime='2026-05-02 13:26:18'
2026-05-02 13:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 26, 18, 613976, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17136, 'high': 1.17166, 'low': 1.17112, 'close': 1.17149, 'volume': 19.0} | asctime='2026-05-02 13:26:18'
2026-05-02 13:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 26, 18, 614785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.17271, 'low': 1.17221, 'close': 1.17239, 'volume': 19.0} | asctime='2026-05-02 13:26:18'
2026-05-02 13:26:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 26, 18, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 13:26:18'
2026-05-02 13:27:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 27, 12, 610324, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17136, 'close': 1.17136, 'volume': 1.0} | asctime='2026-05-02 13:27:12'
2026-05-02 13:27:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 27, 12, 611590, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17268, 'close': 1.17268, 'volume': 1.0} | asctime='2026-05-02 13:27:12'
2026-05-02 13:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 27, 12, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 13:27:12'
2026-05-02 13:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 27, 28, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:27:28'
2026-05-02 13:28:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 28, 48, 659578, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 13:28:48'
2026-05-02 13:28:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 28, 48, 660689, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 13:28:48'
2026-05-02 13:28:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 28, 48, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 13:28:48'
2026-05-02 13:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 29, 50, 959395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17151, 'close': 1.17151, 'volume': 1.0} | asctime='2026-05-02 13:29:50'
2026-05-02 13:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 29, 50, 960475, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17241, 'low': 1.17241, 'close': 1.17241, 'volume': 1.0} | asctime='2026-05-02 13:29:50'
2026-05-02 13:29:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 29, 50, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:29:50'
2026-05-02 13:31:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 10, 157700, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 13:31:10'
2026-05-02 13:31:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 10, 158786, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 13:31:10'
2026-05-02 13:31:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 10, 166485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17136, 'high': 1.17157, 'low': 1.17136, 'close': 1.17154, 'volume': 5.0} | asctime='2026-05-02 13:31:10'
2026-05-02 13:31:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 10, 167059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17241, 'close': 1.17244, 'volume': 5.0} | asctime='2026-05-02 13:31:10'
2026-05-02 13:31:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 10, 167491, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17126, 'high': 1.17166, 'low': 1.17106, 'close': 1.17154, 'volume': 48.0} | asctime='2026-05-02 13:31:10'
2026-05-02 13:31:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 10, 167887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17258, 'high': 1.17275, 'low': 1.17221, 'close': 1.17244, 'volume': 48.0} | asctime='2026-05-02 13:31:10'
2026-05-02 13:31:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 10, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:31:10'
2026-05-02 13:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 31, 57, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 13:31:57'
2026-05-02 13:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 32, 2, 407811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17141, 'low': 1.17127, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 13:32:02'
2026-05-02 13:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 32, 2, 409019, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17231, 'close': 1.17231, 'volume': 2.0} | asctime='2026-05-02 13:32:02'
2026-05-02 13:32:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 32, 2, 423000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:32:02'
2026-05-02 13:32:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 32, 20, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:32:20'
2026-05-02 13:33:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 33, 39, 456233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17154, 'low': 1.17127, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 13:33:39'
2026-05-02 13:33:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 33, 39, 457395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 13:33:39'
2026-05-02 13:33:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 33, 39, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 13:33:39'
2026-05-02 13:33:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 33, 48, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 13:33:48'
2026-05-02 13:34:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 34, 42, 656299, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17159, 'low': 1.17157, 'close': 1.17159, 'volume': 2.0} | asctime='2026-05-02 13:34:42'
2026-05-02 13:34:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 34, 42, 656932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17249, 'low': 1.17247, 'close': 1.17249, 'volume': 2.0} | asctime='2026-05-02 13:34:42'
2026-05-02 13:34:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 34, 42, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:34:42'
2026-05-02 13:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 36, 18, 605140, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 13:36:18'
2026-05-02 13:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 36, 18, 606157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 13:36:18'
2026-05-02 13:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 36, 18, 607310, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17159, 'low': 1.17127, 'close': 1.17154, 'volume': 7.0} | asctime='2026-05-02 13:36:18'
2026-05-02 13:36:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 36, 18, 607784, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17231, 'close': 1.17244, 'volume': 7.0} | asctime='2026-05-02 13:36:18'
2026-05-02 13:36:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 36, 18, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 13:36:18'
2026-05-02 13:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 37, 2, 554495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.1715, 'close': 1.1715, 'volume': 1.0} | asctime='2026-05-02 13:37:02'
2026-05-02 13:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 37, 2, 558729, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1724, 'low': 1.1724, 'close': 1.1724, 'volume': 1.0} | asctime='2026-05-02 13:37:02'
2026-05-02 13:37:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 37, 2, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 13:37:02'
2026-05-02 13:37:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 37, 28, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 13:37:28'
2026-05-02 13:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 37, 50, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 13:37:50'
2026-05-02 13:39:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 39, 42, 658112, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.1715, 'low': 1.17132, 'close': 1.1715, 'volume': 3.0} | asctime='2026-05-02 13:39:42'
2026-05-02 13:39:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 39, 42, 659501, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17265, 'low': 1.1724, 'close': 1.1724, 'volume': 3.0} | asctime='2026-05-02 13:39:42'
2026-05-02 13:39:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 39, 42, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 13:39:42'
2026-05-02 13:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 39, 58, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 13:39:58'
2026-05-02 13:40:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 9, 953369, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.1715, 'low': 1.17148, 'close': 1.1715, 'volume': 2.0} | asctime='2026-05-02 13:40:09'
2026-05-02 13:40:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 9, 954996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.1724, 'low': 1.17238, 'close': 1.1724, 'volume': 2.0} | asctime='2026-05-02 13:40:09'
2026-05-02 13:40:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 9, 955969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17132, 'close': 1.1715, 'volume': 6.0} | asctime='2026-05-02 13:40:09'
2026-05-02 13:40:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 9, 956545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1724, 'high': 1.17265, 'low': 1.17238, 'close': 1.1724, 'volume': 6.0} | asctime='2026-05-02 13:40:09'
2026-05-02 13:40:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 9, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 13:40:09'
2026-05-02 13:40:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 10, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 13:40:11'
2026-05-02 13:40:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 13, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 13:40:13'
2026-05-02 13:40:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 13, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 13:40:13'
2026-05-02 13:40:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 15, 181000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 13:40:15'
2026-05-02 13:40:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 18, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 13:40:18'
2026-05-02 13:40:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 40, 24, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 13:40:24'
2026-05-02 13:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 41, 2, 202046, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17153, 'low': 1.17113, 'close': 1.17153, 'volume': 7.0} | asctime='2026-05-02 13:41:02'
2026-05-02 13:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 41, 2, 203541, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17293, 'low': 1.17243, 'close': 1.17243, 'volume': 7.0} | asctime='2026-05-02 13:41:02'
2026-05-02 13:41:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 41, 2, 223000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 13:41:02'
2026-05-02 13:41:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 41, 41, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 13:41:41'
2026-05-02 13:42:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 42, 44, 501493, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17173, 'low': 1.17139, 'close': 1.17173, 'volume': 2.0} | asctime='2026-05-02 13:42:44'
2026-05-02 13:42:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 42, 44, 502446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17263, 'close': 1.17263, 'volume': 2.0} | asctime='2026-05-02 13:42:44'
2026-05-02 13:42:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 42, 44, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 13:42:44'
2026-05-02 13:43:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 43, 8, 701011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17141, 'close': 1.17141, 'volume': 1.0} | asctime='2026-05-02 13:43:08'
2026-05-02 13:43:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 43, 8, 702337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17273, 'low': 1.17273, 'close': 1.17273, 'volume': 1.0} | asctime='2026-05-02 13:43:08'
2026-05-02 13:43:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 43, 8, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:43:08'
2026-05-02 13:43:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 43, 23, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 13:43:23'
2026-05-02 13:43:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 43, 32, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 13:43:32'
2026-05-02 13:44:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 44, 14, 601594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17164, 'low': 1.17139, 'close': 1.17164, 'volume': 3.0} | asctime='2026-05-02 13:44:14'
2026-05-02 13:44:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 44, 14, 602545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17271, 'low': 1.17244, 'close': 1.17254, 'volume': 3.0} | asctime='2026-05-02 13:44:14'
2026-05-02 13:44:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 44, 14, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 13:44:14'
2026-05-02 13:44:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 44, 23, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 13:44:23'
2026-05-02 13:44:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 44, 24, 663000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 13:44:24'
2026-05-02 13:45:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 45, 34, 649761, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17163, 'high': 1.17163, 'low': 1.17116, 'close': 1.17116, 'volume': 3.0} | asctime='2026-05-02 13:45:34'
2026-05-02 13:45:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 45, 34, 650490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17272, 'low': 1.17253, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 13:45:34'
2026-05-02 13:45:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 45, 34, 651374, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17132, 'high': 1.17173, 'low': 1.17113, 'close': 1.17116, 'volume': 16.0} | asctime='2026-05-02 13:45:34'
2026-05-02 13:45:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 45, 34, 652478, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17264, 'high': 1.17293, 'low': 1.17243, 'close': 1.17272, 'volume': 16.0} | asctime='2026-05-02 13:45:34'
2026-05-02 13:45:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 45, 34, 653407, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17127, 'high': 1.17173, 'low': 1.17113, 'close': 1.17116, 'volume': 29.0} | asctime='2026-05-02 13:45:34'
2026-05-02 13:45:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 45, 34, 654329, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17259, 'high': 1.17293, 'low': 1.17231, 'close': 1.17272, 'volume': 29.0} | asctime='2026-05-02 13:45:34'
2026-05-02 13:45:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 45, 34, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 13:45:34'
2026-05-02 13:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 46, 2, 549114, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17138, 'close': 1.17138, 'volume': 1.0} | asctime='2026-05-02 13:46:02'
2026-05-02 13:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 46, 2, 550131, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.1727, 'close': 1.1727, 'volume': 1.0} | asctime='2026-05-02 13:46:02'
2026-05-02 13:46:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 46, 2, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 13:46:02'
2026-05-02 13:46:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 46, 14, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 13:46:14'
2026-05-02 13:46:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 46, 23, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 13:46:23'
2026-05-02 13:46:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 46, 38, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:46:38'
2026-05-02 13:48:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 48, 52, 35, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17154, 'low': 1.17108, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 13:48:52'
2026-05-02 13:48:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 48, 52, 2107, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17264, 'low': 1.17244, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 13:48:52'
2026-05-02 13:48:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 48, 52, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 13:48:52'
2026-05-02 13:48:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 48, 53, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 13:48:52'
2026-05-02 13:49:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 49, 10, 497547, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17132, 'low': 1.17125, 'close': 1.17132, 'volume': 2.0} | asctime='2026-05-02 13:49:10'
2026-05-02 13:49:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 49, 10, 498462, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17264, 'low': 1.17257, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 13:49:10'
2026-05-02 13:49:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 49, 10, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 13:49:10'
2026-05-02 13:49:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 49, 12, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:49:12'
2026-05-02 13:51:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 51, 22, 46027, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 13:51:22'
2026-05-02 13:51:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 51, 22, 47139, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 13:51:22'
2026-05-02 13:51:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 51, 22, 48469, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17138, 'high': 1.17156, 'low': 1.17108, 'close': 1.17154, 'volume': 9.0} | asctime='2026-05-02 13:51:22'
2026-05-02 13:51:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 51, 22, 49730, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17244, 'close': 1.17244, 'volume': 9.0} | asctime='2026-05-02 13:51:22'
2026-05-02 13:51:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 51, 22, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 13:51:22'
2026-05-02 13:51:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 51, 23, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 13:51:23'
2026-05-02 13:51:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 51, 40, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:51:40'
2026-05-02 13:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 52, 4, 245594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17152, 'high': 1.17154, 'low': 1.1715, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 13:52:04'
2026-05-02 13:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 52, 4, 246441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17242, 'high': 1.17244, 'low': 1.1724, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 13:52:04'
2026-05-02 13:52:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 52, 4, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 13:52:04'
2026-05-02 13:52:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 52, 6, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 13:52:06'
2026-05-02 13:52:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 52, 6, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 13:52:06'
2026-05-02 13:53:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 53, 10, 394780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17128, 'low': 1.1712, 'close': 1.1712, 'volume': 3.0} | asctime='2026-05-02 13:53:10'
2026-05-02 13:53:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 53, 10, 395599, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17284, 'low': 1.17258, 'close': 1.17276, 'volume': 3.0} | asctime='2026-05-02 13:53:10'
2026-05-02 13:53:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 53, 10, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 13:53:10'
2026-05-02 13:53:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 53, 11, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 13:53:11'
2026-05-02 13:53:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 53, 11, 927000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 13:53:11'
2026-05-02 13:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 53, 38, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 13:53:38'
2026-05-02 13:53:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 53, 42, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 13:53:42'
2026-05-02 13:54:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 54, 36, 793984, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17149, 'low': 1.1711, 'close': 1.1711, 'volume': 5.0} | asctime='2026-05-02 13:54:36'
2026-05-02 13:54:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 54, 36, 795443, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17285, 'high': 1.17285, 'low': 1.17239, 'close': 1.17266, 'volume': 5.0} | asctime='2026-05-02 13:54:36'
2026-05-02 13:54:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 54, 36, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 13:54:36'
2026-05-02 13:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 15, 144253, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17157, 'close': 1.17157, 'volume': 1.0} | asctime='2026-05-02 13:55:15'
2026-05-02 13:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 15, 145458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17247, 'close': 1.17247, 'volume': 1.0} | asctime='2026-05-02 13:55:15'
2026-05-02 13:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 15, 146528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17152, 'high': 1.17157, 'low': 1.1711, 'close': 1.17157, 'volume': 12.0} | asctime='2026-05-02 13:55:15'
2026-05-02 13:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 15, 147528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17242, 'high': 1.17285, 'low': 1.17239, 'close': 1.17247, 'volume': 12.0} | asctime='2026-05-02 13:55:15'
2026-05-02 13:55:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 15, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 13:55:15'
2026-05-02 13:55:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 15, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 13:55:15'
2026-05-02 13:55:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 17, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17174, 'volume': 0.0} | asctime='2026-05-02 13:55:17'
2026-05-02 13:55:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 17, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17311, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 13:55:17'
2026-05-02 13:55:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 22, 502000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 13:55:22'
2026-05-02 13:55:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 26, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 13:55:26'
2026-05-02 13:55:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 43, 355000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 13:55:43'
2026-05-02 13:55:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 43, 851000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 13:55:43'
2026-05-02 13:55:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 45, 713000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 13:55:45'
2026-05-02 13:55:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 55, 51, 298000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 13:55:51'
2026-05-02 13:56:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 56, 44, 542856, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17174, 'low': 1.17107, 'close': 1.17138, 'volume': 10.0} | asctime='2026-05-02 13:56:44'
2026-05-02 13:56:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 56, 44, 543946, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17311, 'low': 1.17252, 'close': 1.1727, 'volume': 10.0} | asctime='2026-05-02 13:56:44'
2026-05-02 13:56:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 56, 44, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 13:56:44'
2026-05-02 13:56:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 56, 56, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 13:56:56'
2026-05-02 13:58:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 14, 492148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17155, 'low': 1.17139, 'close': 1.17155, 'volume': 2.0} | asctime='2026-05-02 13:58:14'
2026-05-02 13:58:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 14, 493366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17245, 'close': 1.17245, 'volume': 2.0} | asctime='2026-05-02 13:58:14'
2026-05-02 13:58:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 14, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17039, 'volume': 0.0} | asctime='2026-05-02 13:58:14'
2026-05-02 13:58:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 20, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 13:58:20'
2026-05-02 13:58:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 38, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 13:58:38'
2026-05-02 13:58:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 42, 708000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 13:58:42'
2026-05-02 13:58:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 51, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 13:58:51'
2026-05-02 13:58:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 58, 57, 978000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 13:58:57'
2026-05-02 13:59:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 59, 22, 541454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17039, 'high': 1.17159, 'low': 1.17039, 'close': 1.17107, 'volume': 6.0} | asctime='2026-05-02 13:59:22'
2026-05-02 13:59:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 59, 22, 542967, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17272, 'low': 1.17244, 'close': 1.17263, 'volume': 6.0} | asctime='2026-05-02 13:59:22'
2026-05-02 13:59:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 59, 22, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 13:59:22'
2026-05-02 13:59:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 59, 24, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 13:59:24'
2026-05-02 13:59:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 13, 59, 25, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 13:59:25'
2026-05-02 14:00:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 22, 340584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1711, 'high': 1.17146, 'low': 1.1711, 'close': 1.17146, 'volume': 3.0} | asctime='2026-05-02 14:00:22'
2026-05-02 14:00:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 22, 342266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17277, 'low': 1.17236, 'close': 1.17236, 'volume': 3.0} | asctime='2026-05-02 14:00:22'
2026-05-02 14:00:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 22, 342858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17174, 'low': 1.17039, 'close': 1.17146, 'volume': 21.0} | asctime='2026-05-02 14:00:22'
2026-05-02 14:00:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 22, 343304, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17311, 'low': 1.17236, 'close': 1.17236, 'volume': 21.0} | asctime='2026-05-02 14:00:22'
2026-05-02 14:00:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 22, 343928, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17138, 'high': 1.17174, 'low': 1.17039, 'close': 1.17146, 'volume': 42.0} | asctime='2026-05-02 14:00:22'
2026-05-02 14:00:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 22, 344790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1727, 'high': 1.17311, 'low': 1.17236, 'close': 1.17236, 'volume': 42.0} | asctime='2026-05-02 14:00:22'
2026-05-02 14:00:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 22, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 14:00:22'
2026-05-02 14:00:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 23, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 14:00:23'
2026-05-02 14:00:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 27, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:00:27'
2026-05-02 14:00:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 43, 237000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 14:00:43'
2026-05-02 14:00:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 57, 14000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 14:00:56'
2026-05-02 14:00:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 58, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 14:00:57'
2026-05-02 14:00:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 0, 58, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 14:00:58'
2026-05-02 14:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 1, 2, 190346, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17145, 'low': 1.17126, 'close': 1.17128, 'volume': 7.0} | asctime='2026-05-02 14:01:02'
2026-05-02 14:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 1, 2, 191261, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17287, 'low': 1.17235, 'close': 1.1726, 'volume': 7.0} | asctime='2026-05-02 14:01:02'
2026-05-02 14:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 1, 2, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 14:01:02'
2026-05-02 14:01:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 1, 10, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 14:01:10'
2026-05-02 14:01:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 1, 26, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:01:26'
2026-05-02 14:01:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 1, 46, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:01:46'
2026-05-02 14:01:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 1, 57, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 14:01:57'
2026-05-02 14:02:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 2, 15, 190206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17164, 'low': 1.17121, 'close': 1.17164, 'volume': 5.0} | asctime='2026-05-02 14:02:15'
2026-05-02 14:02:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 2, 15, 190817, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17281, 'low': 1.17254, 'close': 1.17254, 'volume': 5.0} | asctime='2026-05-02 14:02:15'
2026-05-02 14:02:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 2, 15, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 14:02:15'
2026-05-02 14:02:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 2, 24, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 14:02:24'
2026-05-02 14:03:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 3, 50, 488509, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17119, 'low': 1.17112, 'close': 1.17119, 'volume': 2.0} | asctime='2026-05-02 14:03:50'
2026-05-02 14:03:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 3, 50, 489479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17275, 'low': 1.17268, 'close': 1.17275, 'volume': 2.0} | asctime='2026-05-02 14:03:50'
2026-05-02 14:03:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 3, 50, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 14:03:50'
2026-05-02 14:03:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 3, 54, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 14:03:54'
2026-05-02 14:04:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 4, 32, 588621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17121, 'low': 1.1712, 'close': 1.17121, 'volume': 2.0} | asctime='2026-05-02 14:04:32'
2026-05-02 14:04:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 4, 32, 589516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17276, 'low': 1.17253, 'close': 1.17253, 'volume': 2.0} | asctime='2026-05-02 14:04:32'
2026-05-02 14:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 4, 32, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 14:04:32'
2026-05-02 14:04:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 4, 45, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 14:04:44'
2026-05-02 14:06:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 6, 38, 786794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 14:06:38'
2026-05-02 14:06:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 6, 38, 787999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 14:06:38'
2026-05-02 14:06:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 6, 38, 788490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17126, 'high': 1.17164, 'low': 1.17112, 'close': 1.17154, 'volume': 18.0} | asctime='2026-05-02 14:06:38'
2026-05-02 14:06:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 6, 38, 788935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17282, 'high': 1.17287, 'low': 1.17235, 'close': 1.17244, 'volume': 18.0} | asctime='2026-05-02 14:06:38'
2026-05-02 14:06:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 6, 38, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 14:06:38'
2026-05-02 14:06:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 6, 38, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:06:38'
2026-05-02 14:06:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 6, 57, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 14:06:57'
2026-05-02 14:07:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 7, 16, 437142, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17125, 'close': 1.17137, 'volume': 3.0} | asctime='2026-05-02 14:07:16'
2026-05-02 14:07:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 7, 16, 438062, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17257, 'low': 1.17227, 'close': 1.17227, 'volume': 3.0} | asctime='2026-05-02 14:07:16'
2026-05-02 14:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 7, 16, 449000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 14:07:16'
2026-05-02 14:07:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 7, 18, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 14:07:18'
2026-05-02 14:08:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 8, 57, 935764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17122, 'low': 1.17115, 'close': 1.17122, 'volume': 2.0} | asctime='2026-05-02 14:08:57'
2026-05-02 14:08:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 8, 57, 936697, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17278, 'low': 1.17271, 'close': 1.17278, 'volume': 2.0} | asctime='2026-05-02 14:08:57'
2026-05-02 14:08:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 8, 57, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:08:57'
2026-05-02 14:09:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 26, 385525, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17125, 'close': 1.17125, 'volume': 1.0} | asctime='2026-05-02 14:09:26'
2026-05-02 14:09:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 26, 386822, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17281, 'close': 1.17281, 'volume': 1.0} | asctime='2026-05-02 14:09:26'
2026-05-02 14:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 26, 402000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 14:09:26'
2026-05-02 14:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 26, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 14:09:26'
2026-05-02 14:09:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 46, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 14:09:46'
2026-05-02 14:09:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 54, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17093, 'volume': 0.0} | asctime='2026-05-02 14:09:54'
2026-05-02 14:09:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 54, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17083, 'volume': 0.0} | asctime='2026-05-02 14:09:54'
2026-05-02 14:09:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 54, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 14:09:54'
2026-05-02 14:09:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 9, 58, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 14:09:58'
2026-05-02 14:10:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 24, 584844, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.1713, 'low': 1.17083, 'close': 1.17104, 'volume': 7.0} | asctime='2026-05-02 14:10:24'
2026-05-02 14:10:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 24, 586534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17276, 'low': 1.17249, 'close': 1.1726, 'volume': 7.0} | asctime='2026-05-02 14:10:24'
2026-05-02 14:10:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 24, 587503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17083, 'close': 1.17104, 'volume': 13.0} | asctime='2026-05-02 14:10:24'
2026-05-02 14:10:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 24, 588799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17239, 'high': 1.17281, 'low': 1.17227, 'close': 1.1726, 'volume': 13.0} | asctime='2026-05-02 14:10:24'
2026-05-02 14:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 24, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 14:10:24'
2026-05-02 14:10:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 31, 442000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 14:10:31'
2026-05-02 14:10:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 40, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 14:10:40'
2026-05-02 14:10:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 10, 56, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 14:10:56'
2026-05-02 14:11:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 11, 3, 34910, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17117, 'low': 1.17103, 'close': 1.17107, 'volume': 4.0} | asctime='2026-05-02 14:11:03'
2026-05-02 14:11:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 11, 3, 35726, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17263, 'low': 1.17249, 'close': 1.17263, 'volume': 4.0} | asctime='2026-05-02 14:11:03'
2026-05-02 14:11:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 11, 3, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 14:11:03'
2026-05-02 14:11:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 11, 12, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 14:11:12'
2026-05-02 14:12:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 12, 14, 783915, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17157, 'low': 1.17124, 'close': 1.17157, 'volume': 2.0} | asctime='2026-05-02 14:12:14'
2026-05-02 14:12:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 12, 14, 784790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1728, 'high': 1.1728, 'low': 1.17247, 'close': 1.17247, 'volume': 2.0} | asctime='2026-05-02 14:12:14'
2026-05-02 14:12:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 12, 14, 835000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 14:12:14'
2026-05-02 14:12:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 12, 24, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 14:12:24'
2026-05-02 14:13:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 13, 2, 582911, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17139, 'low': 1.17133, 'close': 1.17139, 'volume': 2.0} | asctime='2026-05-02 14:13:02'
2026-05-02 14:13:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 13, 2, 584472, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17271, 'low': 1.17265, 'close': 1.17271, 'volume': 2.0} | asctime='2026-05-02 14:13:02'
2026-05-02 14:13:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 13, 2, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 14:13:02'
2026-05-02 14:14:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 14, 40, 531926, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 14:14:40'
2026-05-02 14:14:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 14, 40, 532541, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 14:14:40'
2026-05-02 14:14:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 14, 40, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 14:14:40'
2026-05-02 14:14:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 14, 44, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 14:14:44'
2026-05-02 14:14:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 14, 54, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:14:54'
2026-05-02 14:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 15, 32, 531369, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17121, 'close': 1.17129, 'volume': 3.0} | asctime='2026-05-02 14:15:32'
2026-05-02 14:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 15, 32, 532298, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17261, 'low': 1.17244, 'close': 1.17261, 'volume': 3.0} | asctime='2026-05-02 14:15:32'
2026-05-02 14:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 15, 32, 535375, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17117, 'high': 1.17157, 'low': 1.17103, 'close': 1.17129, 'volume': 12.0} | asctime='2026-05-02 14:15:32'
2026-05-02 14:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 15, 32, 536401, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17249, 'high': 1.1728, 'low': 1.17243, 'close': 1.17261, 'volume': 12.0} | asctime='2026-05-02 14:15:32'
2026-05-02 14:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 15, 32, 537204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17126, 'high': 1.17164, 'low': 1.17083, 'close': 1.17129, 'volume': 43.0} | asctime='2026-05-02 14:15:32'
2026-05-02 14:15:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 15, 32, 537660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17282, 'high': 1.17287, 'low': 1.17227, 'close': 1.17261, 'volume': 43.0} | asctime='2026-05-02 14:15:32'
2026-05-02 14:15:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 15, 32, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 14:15:32'
2026-05-02 14:17:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 17, 4, 480542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17132, 'close': 1.17132, 'volume': 1.0} | asctime='2026-05-02 14:17:04'
2026-05-02 14:17:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 17, 4, 481399, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17264, 'close': 1.17264, 'volume': 1.0} | asctime='2026-05-02 14:17:04'
2026-05-02 14:17:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 17, 4, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 14:17:04'
2026-05-02 14:17:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 17, 22, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 14:17:22'
2026-05-02 14:17:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 17, 24, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 14:17:24'
2026-05-02 14:18:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 18, 2, 580431, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17136, 'close': 1.17137, 'volume': 3.0} | asctime='2026-05-02 14:18:02'
2026-05-02 14:18:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 18, 2, 581499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17269, 'low': 1.17239, 'close': 1.17269, 'volume': 3.0} | asctime='2026-05-02 14:18:02'
2026-05-02 14:18:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 18, 2, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 14:18:02'
2026-05-02 14:18:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 18, 23, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 14:18:23'
2026-05-02 14:18:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 18, 30, 423000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 14:18:30'
2026-05-02 14:18:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 18, 52, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 14:18:52'
2026-05-02 14:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 19, 3, 529549, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17168, 'high': 1.17168, 'low': 1.17155, 'close': 1.17155, 'volume': 4.0} | asctime='2026-05-02 14:19:03'
2026-05-02 14:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 19, 3, 530638, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17245, 'close': 1.17245, 'volume': 4.0} | asctime='2026-05-02 14:19:03'
2026-05-02 14:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 19, 3, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:19:03'
2026-05-02 14:19:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 19, 12, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 14:19:12'
2026-05-02 14:19:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 19, 14, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 14:19:14'
2026-05-02 14:19:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 19, 16, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:19:16'
2026-05-02 14:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 20, 32, 279154, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17147, 'low': 1.17128, 'close': 1.17146, 'volume': 4.0} | asctime='2026-05-02 14:20:32'
2026-05-02 14:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 20, 32, 280926, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17284, 'low': 1.17278, 'close': 1.17278, 'volume': 4.0} | asctime='2026-05-02 14:20:32'
2026-05-02 14:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 20, 32, 282759, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17132, 'high': 1.17168, 'low': 1.17128, 'close': 1.17146, 'volume': 12.0} | asctime='2026-05-02 14:20:32'
2026-05-02 14:20:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 20, 32, 283554, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17264, 'high': 1.17284, 'low': 1.17239, 'close': 1.17278, 'volume': 12.0} | asctime='2026-05-02 14:20:32'
2026-05-02 14:20:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 20, 32, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 14:20:32'
2026-05-02 14:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 21, 16, 578677, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 14:21:16'
2026-05-02 14:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 21, 16, 580017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 14:21:16'
2026-05-02 14:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 21, 16, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 14:21:16'
2026-05-02 14:21:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 21, 44, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 14:21:44'
2026-05-02 14:22:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 22, 19, 628020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17127, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 14:22:19'
2026-05-02 14:22:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 22, 19, 628836, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17259, 'low': 1.17231, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 14:22:19'
2026-05-02 14:22:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 22, 19, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 14:22:19'
2026-05-02 14:22:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 22, 20, 791000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 14:22:20'
2026-05-02 14:22:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 22, 38, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17172, 'volume': 0.0} | asctime='2026-05-02 14:22:38'
2026-05-02 14:22:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 22, 58, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 14:22:58'
2026-05-02 14:23:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 23, 7, 276952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17172, 'low': 1.17142, 'close': 1.17142, 'volume': 4.0} | asctime='2026-05-02 14:23:07'
2026-05-02 14:23:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 23, 7, 277673, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17274, 'low': 1.17244, 'close': 1.17274, 'volume': 4.0} | asctime='2026-05-02 14:23:07'
2026-05-02 14:23:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 23, 7, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 14:23:07'
2026-05-02 14:23:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 23, 16, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 14:23:16'
2026-05-02 14:23:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 23, 18, 258000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 14:23:18'
2026-05-02 14:23:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 23, 36, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 14:23:36'
2026-05-02 14:24:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 24, 14, 576352, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17159, 'low': 1.17114, 'close': 1.17133, 'volume': 4.0} | asctime='2026-05-02 14:24:14'
2026-05-02 14:24:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 24, 14, 578208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17249, 'close': 1.17265, 'volume': 4.0} | asctime='2026-05-02 14:24:14'
2026-05-02 14:24:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 24, 14, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 14:24:14'
2026-05-02 14:25:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 13, 276042, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 14:25:13'
2026-05-02 14:25:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 13, 279905, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17263, 'close': 1.17263, 'volume': 1.0} | asctime='2026-05-02 14:25:13'
2026-05-02 14:25:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 13, 281192, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17172, 'low': 1.17114, 'close': 1.17131, 'volume': 12.0} | asctime='2026-05-02 14:25:13'
2026-05-02 14:25:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 13, 281786, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.17275, 'low': 1.17231, 'close': 1.17263, 'volume': 12.0} | asctime='2026-05-02 14:25:13'
2026-05-02 14:25:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 13, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 14:25:13'
2026-05-02 14:25:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 13, 940000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 14:25:13'
2026-05-02 14:25:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 22, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 14:25:22'
2026-05-02 14:25:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 27, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 14:25:27'
2026-05-02 14:25:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 27, 965000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17356, 'bid_price': 1.17082, 'volume': 0.0} | asctime='2026-05-02 14:25:27'
2026-05-02 14:25:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 28, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17051, 'volume': 0.0} | asctime='2026-05-02 14:25:28'
2026-05-02 14:25:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 28, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17049, 'volume': 0.0} | asctime='2026-05-02 14:25:28'
2026-05-02 14:25:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 29, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 14:25:29'
2026-05-02 14:25:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 30, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 14:25:30'
2026-05-02 14:25:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 30, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 14:25:30'
2026-05-02 14:25:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 37, 895000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 14:25:37'
2026-05-02 14:25:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 38, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 14:25:38'
2026-05-02 14:25:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 25, 50, 804000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 14:25:50'
2026-05-02 14:26:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 6, 625020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17049, 'close': 1.17117, 'volume': 13.0} | asctime='2026-05-02 14:26:06'
2026-05-02 14:26:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 6, 626098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17356, 'low': 1.17243, 'close': 1.17249, 'volume': 13.0} | asctime='2026-05-02 14:26:06'
2026-05-02 14:26:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 6, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 14:26:06'
2026-05-02 14:26:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 7, 312000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17088, 'volume': 0.0} | asctime='2026-05-02 14:26:07'
2026-05-02 14:26:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 7, 436000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17309, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 14:26:07'
2026-05-02 14:26:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 8, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17308, 'bid_price': 1.1708, 'volume': 0.0} | asctime='2026-05-02 14:26:08'
2026-05-02 14:26:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 12, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 14:26:12'
2026-05-02 14:26:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 12, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17297, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 14:26:12'
2026-05-02 14:26:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 13, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 14:26:12'
2026-05-02 14:26:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 13, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 14:26:13'
2026-05-02 14:26:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 13, 393000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 14:26:13'
2026-05-02 14:26:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 14, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 14:26:14'
2026-05-02 14:26:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 16, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 14:26:15'
2026-05-02 14:26:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 22, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 14:26:22'
2026-05-02 14:26:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 24, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 14:26:24'
2026-05-02 14:26:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 28, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 14:26:28'
2026-05-02 14:26:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 26, 38, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 14:26:38'
2026-05-02 14:27:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 6, 224683, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17161, 'low': 1.1708, 'close': 1.17108, 'volume': 15.0} | asctime='2026-05-02 14:27:06'
2026-05-02 14:27:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 6, 225722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17309, 'low': 1.1724, 'close': 1.17264, 'volume': 15.0} | asctime='2026-05-02 14:27:06'
2026-05-02 14:27:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 6, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 14:27:06'
2026-05-02 14:27:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 6, 392000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 14:27:06'
2026-05-02 14:27:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 6, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 14:27:06'
2026-05-02 14:27:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 7, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 14:27:07'
2026-05-02 14:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 40, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:27:40'
2026-05-02 14:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 27, 40, 401000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17304, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 14:27:40'
2026-05-02 14:28:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 28, 15, 223839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17126, 'low': 1.171, 'close': 1.171, 'volume': 6.0} | asctime='2026-05-02 14:28:15'
2026-05-02 14:28:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 28, 15, 224793, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17304, 'low': 1.17249, 'close': 1.17304, 'volume': 6.0} | asctime='2026-05-02 14:28:15'
2026-05-02 14:28:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 28, 15, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 14:28:15'
2026-05-02 14:28:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 28, 15, 775000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 14:28:15'
2026-05-02 14:28:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 28, 24, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 14:28:24'
2026-05-02 14:29:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 29, 37, 773096, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17149, 'low': 1.17134, 'close': 1.17149, 'volume': 3.0} | asctime='2026-05-02 14:29:37'
2026-05-02 14:29:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 29, 37, 774025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.173, 'high': 1.173, 'low': 1.17239, 'close': 1.17239, 'volume': 3.0} | asctime='2026-05-02 14:29:37'
2026-05-02 14:29:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 29, 37, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 14:29:37'
2026-05-02 14:29:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 29, 40, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 14:29:40'
2026-05-02 14:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 29, 57, 184000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 14:29:57'
2026-05-02 14:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 29, 57, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 14:29:57'
2026-05-02 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 1, 223093, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17153, 'low': 1.17141, 'close': 1.17144, 'volume': 4.0} | asctime='2026-05-02 14:30:01'
2026-05-02 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 1, 224446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17276, 'low': 1.17231, 'close': 1.17276, 'volume': 4.0} | asctime='2026-05-02 14:30:01'
2026-05-02 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 1, 225480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17157, 'high': 1.17161, 'low': 1.17049, 'close': 1.17144, 'volume': 41.0} | asctime='2026-05-02 14:30:01'
2026-05-02 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 1, 226134, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17247, 'high': 1.17356, 'low': 1.17231, 'close': 1.17276, 'volume': 41.0} | asctime='2026-05-02 14:30:01'
2026-05-02 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 1, 227341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17132, 'high': 1.17172, 'low': 1.17049, 'close': 1.17144, 'volume': 65.0} | asctime='2026-05-02 14:30:01'
2026-05-02 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 1, 227761, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17264, 'high': 1.17356, 'low': 1.17231, 'close': 1.17276, 'volume': 65.0} | asctime='2026-05-02 14:30:01'
2026-05-02 14:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 1, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 14:30:01'
2026-05-02 14:30:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 28, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:30:28'
2026-05-02 14:30:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 46, 337000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 14:30:46'
2026-05-02 14:30:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 46, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 14:30:46'
2026-05-02 14:30:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 30, 51, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 14:30:51'
2026-05-02 14:31:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 31, 22, 672610, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17159, 'low': 1.17131, 'close': 1.17132, 'volume': 5.0} | asctime='2026-05-02 14:31:22'
2026-05-02 14:31:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 31, 22, 673511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17278, 'low': 1.17249, 'close': 1.17264, 'volume': 5.0} | asctime='2026-05-02 14:31:22'
2026-05-02 14:31:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 31, 22, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 14:31:22'
2026-05-02 14:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 31, 57, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 14:31:57'
2026-05-02 14:31:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 31, 58, 823000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 14:31:58'
2026-05-02 14:32:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 32, 6, 972142, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17154, 'low': 1.17142, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 14:32:06'
2026-05-02 14:32:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 32, 6, 973004, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17244, 'low': 1.17232, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 14:32:06'
2026-05-02 14:32:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 32, 7, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 14:32:06'
2026-05-02 14:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 32, 14, 835000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 14:32:14'
2026-05-02 14:32:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 32, 16, 202000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 14:32:16'
2026-05-02 14:32:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 32, 20, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 14:32:20'
2026-05-02 14:32:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 32, 24, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 14:32:24'
2026-05-02 14:33:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 33, 12, 771011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.1715, 'low': 1.17121, 'close': 1.1715, 'volume': 5.0} | asctime='2026-05-02 14:33:12'
2026-05-02 14:33:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 33, 12, 772843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.1729, 'low': 1.1724, 'close': 1.1724, 'volume': 5.0} | asctime='2026-05-02 14:33:12'
2026-05-02 14:33:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 33, 12, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 14:33:12'
2026-05-02 14:33:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 33, 16, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:33:16'
2026-05-02 14:33:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 33, 17, 394000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 14:33:17'
2026-05-02 14:33:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 33, 26, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 14:33:26'
2026-05-02 14:34:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 5, 21594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.1716, 'low': 1.17121, 'close': 1.1716, 'volume': 4.0} | asctime='2026-05-02 14:34:05'
2026-05-02 14:34:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 5, 22685, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17278, 'low': 1.1725, 'close': 1.1725, 'volume': 4.0} | asctime='2026-05-02 14:34:05'
2026-05-02 14:34:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 5, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 14:34:05'
2026-05-02 14:34:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 6, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:34:06'
2026-05-02 14:34:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 14, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 14:34:14'
2026-05-02 14:34:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 31, 744000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 14:34:31'
2026-05-02 14:34:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 36, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 14:34:36'
2026-05-02 14:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 40, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:34:40'
2026-05-02 14:34:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 44, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 14:34:44'
2026-05-02 14:34:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 34, 50, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 14:34:50'
2026-05-02 14:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 2, 119946, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.1715, 'low': 1.17123, 'close': 1.1715, 'volume': 8.0} | asctime='2026-05-02 14:35:02'
2026-05-02 14:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 2, 120939, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17285, 'low': 1.1724, 'close': 1.1724, 'volume': 8.0} | asctime='2026-05-02 14:35:02'
2026-05-02 14:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 2, 121976, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17145, 'high': 1.1716, 'low': 1.17121, 'close': 1.1715, 'volume': 25.0} | asctime='2026-05-02 14:35:02'
2026-05-02 14:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 2, 122634, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17277, 'high': 1.1729, 'low': 1.17232, 'close': 1.1724, 'volume': 25.0} | asctime='2026-05-02 14:35:02'
2026-05-02 14:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 2, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 14:35:02'
2026-05-02 14:35:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 4, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:35:04'
2026-05-02 14:35:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 34, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 14:35:34'
2026-05-02 14:35:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 35, 42, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 14:35:42'
2026-05-02 14:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 36, 5, 669428, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17156, 'low': 1.17129, 'close': 1.17156, 'volume': 4.0} | asctime='2026-05-02 14:36:05'
2026-05-02 14:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 36, 5, 670247, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17266, 'low': 1.17246, 'close': 1.17246, 'volume': 4.0} | asctime='2026-05-02 14:36:05'
2026-05-02 14:36:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 36, 5, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 14:36:05'
2026-05-02 14:36:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 36, 38, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 14:36:38'
2026-05-02 14:36:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 36, 39, 340000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:36:39'
2026-05-02 14:36:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 36, 57, 958000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 14:36:57'
2026-05-02 14:36:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 36, 58, 951000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 14:36:58'
2026-05-02 14:37:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 37, 14, 518760, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17146, 'low': 1.17122, 'close': 1.17126, 'volume': 5.0} | asctime='2026-05-02 14:37:14'
2026-05-02 14:37:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 37, 14, 519406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17258, 'low': 1.17234, 'close': 1.17258, 'volume': 5.0} | asctime='2026-05-02 14:37:14'
2026-05-02 14:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 37, 14, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 14:37:14'
2026-05-02 14:38:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 17, 118133, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 14:38:17'
2026-05-02 14:38:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 17, 118994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17263, 'close': 1.17263, 'volume': 1.0} | asctime='2026-05-02 14:38:17'
2026-05-02 14:38:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 17, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:38:17'
2026-05-02 14:38:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 17, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 14:38:17'
2026-05-02 14:38:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 19, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 14:38:19'
2026-05-02 14:38:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 25, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 14:38:25'
2026-05-02 14:38:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 27, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 14:38:27'
2026-05-02 14:38:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 32, 40000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:38:31'
2026-05-02 14:38:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 46, 935000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 14:38:46'
2026-05-02 14:38:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 38, 48, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 14:38:48'
2026-05-02 14:39:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 39, 58, 17119, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17157, 'low': 1.17109, 'close': 1.17123, 'volume': 8.0} | asctime='2026-05-02 14:39:58'
2026-05-02 14:39:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 39, 58, 20127, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17273, 'low': 1.17236, 'close': 1.17255, 'volume': 8.0} | asctime='2026-05-02 14:39:58'
2026-05-02 14:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 39, 58, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 14:39:58'
2026-05-02 14:40:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 40, 54, 466431, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17139, 'low': 1.17139, 'close': 1.17139, 'volume': 1.0} | asctime='2026-05-02 14:40:54'
2026-05-02 14:40:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 40, 54, 467459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17229, 'high': 1.17229, 'low': 1.17229, 'close': 1.17229, 'volume': 1.0} | asctime='2026-05-02 14:40:54'
2026-05-02 14:40:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 40, 54, 468097, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17157, 'low': 1.17109, 'close': 1.17139, 'volume': 19.0} | asctime='2026-05-02 14:40:54'
2026-05-02 14:40:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 40, 54, 469630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17273, 'low': 1.17229, 'close': 1.17229, 'volume': 19.0} | asctime='2026-05-02 14:40:54'
2026-05-02 14:40:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 40, 54, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:40:54'
2026-05-02 14:40:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 40, 58, 6000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 14:40:57'
2026-05-02 14:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 41, 2, 66498, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17147, 'low': 1.17125, 'close': 1.17147, 'volume': 2.0} | asctime='2026-05-02 14:41:02'
2026-05-02 14:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 41, 2, 67195, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17237, 'close': 1.17237, 'volume': 2.0} | asctime='2026-05-02 14:41:02'
2026-05-02 14:41:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 41, 2, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 14:41:02'
2026-05-02 14:41:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 41, 16, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 14:41:16'
2026-05-02 14:41:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 41, 17, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 14:41:17'
2026-05-02 14:41:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 41, 18, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 14:41:18'
2026-05-02 14:43:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 43, 17, 115196, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17154, 'low': 1.17137, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 14:43:17'
2026-05-02 14:43:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 43, 17, 116100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17269, 'low': 1.17243, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 14:43:17'
2026-05-02 14:43:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 43, 17, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 14:43:17'
2026-05-02 14:43:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 43, 21, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 14:43:21'
2026-05-02 14:43:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 43, 30, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 14:43:30'
2026-05-02 14:43:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 43, 33, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 14:43:33'
2026-05-02 14:43:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 43, 48, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 14:43:48'
2026-05-02 14:44:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 44, 5, 364905, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17165, 'low': 1.17133, 'close': 1.17158, 'volume': 5.0} | asctime='2026-05-02 14:44:05'
2026-05-02 14:44:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 44, 5, 366010, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17248, 'close': 1.17248, 'volume': 5.0} | asctime='2026-05-02 14:44:05'
2026-05-02 14:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 44, 5, 428000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 14:44:05'
2026-05-02 14:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 44, 5, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 14:44:05'
2026-05-02 14:44:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 44, 14, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 14:44:14'
2026-05-02 14:45:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 47, 14020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17126, 'close': 1.17126, 'volume': 3.0} | asctime='2026-05-02 14:45:47'
2026-05-02 14:45:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 47, 14804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17258, 'close': 1.17258, 'volume': 3.0} | asctime='2026-05-02 14:45:47'
2026-05-02 14:45:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 47, 15655, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17165, 'low': 1.17125, 'close': 1.17126, 'volume': 14.0} | asctime='2026-05-02 14:45:47'
2026-05-02 14:45:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 47, 16454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17257, 'high': 1.17271, 'low': 1.17237, 'close': 1.17258, 'volume': 14.0} | asctime='2026-05-02 14:45:47'
2026-05-02 14:45:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 47, 16881, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17145, 'high': 1.17165, 'low': 1.17109, 'close': 1.17126, 'volume': 58.0} | asctime='2026-05-02 14:45:47'
2026-05-02 14:45:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 47, 17545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17277, 'high': 1.1729, 'low': 1.17229, 'close': 1.17258, 'volume': 58.0} | asctime='2026-05-02 14:45:47'
2026-05-02 14:45:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 47, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:45:47'
2026-05-02 14:45:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 45, 58, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 14:45:57'
2026-05-02 14:46:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 46, 19, 163321, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17159, 'low': 1.17129, 'close': 1.17159, 'volume': 2.0} | asctime='2026-05-02 14:46:19'
2026-05-02 14:46:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 46, 19, 164126, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17249, 'close': 1.17249, 'volume': 2.0} | asctime='2026-05-02 14:46:19'
2026-05-02 14:46:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 46, 19, 230000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 14:46:19'
2026-05-02 14:47:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 47, 8, 562983, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17156, 'close': 1.17156, 'volume': 1.0} | asctime='2026-05-02 14:47:08'
2026-05-02 14:47:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 47, 8, 563761, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17246, 'close': 1.17246, 'volume': 1.0} | asctime='2026-05-02 14:47:08'
2026-05-02 14:47:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 47, 8, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 14:47:08'
2026-05-02 14:47:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 47, 9, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 14:47:09'
2026-05-02 14:48:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 48, 32, 463023, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17142, 'close': 1.17142, 'volume': 2.0} | asctime='2026-05-02 14:48:32'
2026-05-02 14:48:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 48, 32, 465849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17274, 'low': 1.17244, 'close': 1.17274, 'volume': 2.0} | asctime='2026-05-02 14:48:32'
2026-05-02 14:48:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 48, 32, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 14:48:32'
2026-05-02 14:48:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 48, 35, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17421, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 14:48:35'
2026-05-02 14:48:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 48, 42, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1741, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 14:48:42'
2026-05-02 14:48:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 48, 50, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 14:48:50'
2026-05-02 14:48:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 48, 56, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 14:48:56'
2026-05-02 14:49:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 49, 34, 561587, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17136, 'close': 1.17159, 'volume': 5.0} | asctime='2026-05-02 14:49:34'
2026-05-02 14:49:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 49, 34, 562552, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17421, 'low': 1.17247, 'close': 1.17249, 'volume': 5.0} | asctime='2026-05-02 14:49:34'
2026-05-02 14:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 49, 34, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 14:49:34'
2026-05-02 14:49:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 49, 41, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 14:49:41'
2026-05-02 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 50, 4, 562185, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17164, 'high': 1.17167, 'low': 1.17164, 'close': 1.17167, 'volume': 2.0} | asctime='2026-05-02 14:50:04'
2026-05-02 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 50, 4, 562932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17257, 'low': 1.17254, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 14:50:04'
2026-05-02 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 50, 4, 563849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17129, 'high': 1.17167, 'low': 1.17129, 'close': 1.17167, 'volume': 12.0} | asctime='2026-05-02 14:50:04'
2026-05-02 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 50, 4, 564358, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17261, 'high': 1.17421, 'low': 1.17244, 'close': 1.17257, 'volume': 12.0} | asctime='2026-05-02 14:50:04'
2026-05-02 14:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 50, 4, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 14:50:04'
2026-05-02 14:50:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 50, 39, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 14:50:39'
2026-05-02 14:51:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 11, 960036, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17168, 'high': 1.17168, 'low': 1.17135, 'close': 1.17135, 'volume': 2.0} | asctime='2026-05-02 14:51:11'
2026-05-02 14:51:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 11, 961092, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17267, 'low': 1.17258, 'close': 1.17267, 'volume': 2.0} | asctime='2026-05-02 14:51:11'
2026-05-02 14:51:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 12, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:51:11'
2026-05-02 14:51:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 13, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 14:51:12'
2026-05-02 14:51:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 20, 223000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 14:51:20'
2026-05-02 14:51:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 20, 347000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 14:51:20'
2026-05-02 14:51:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 22, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 14:51:22'
2026-05-02 14:51:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 29, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 14:51:28'
2026-05-02 14:51:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 32, 387000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 14:51:32'
2026-05-02 14:51:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 49, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 14:51:48'
2026-05-02 14:51:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 49, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:51:49'
2026-05-02 14:51:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 49, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 14:51:49'
2026-05-02 14:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 55, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 14:51:55'
2026-05-02 14:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 51, 55, 350000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 14:51:55'
2026-05-02 14:52:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 1, 860627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17164, 'low': 1.17122, 'close': 1.17122, 'volume': 12.0} | asctime='2026-05-02 14:52:01'
2026-05-02 14:52:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 1, 862405, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17285, 'high': 1.17295, 'low': 1.17245, 'close': 1.17254, 'volume': 12.0} | asctime='2026-05-02 14:52:01'
2026-05-02 14:52:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 1, 929000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 14:52:01'
2026-05-02 14:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 10, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 14:52:10'
2026-05-02 14:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 10, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 14:52:10'
2026-05-02 14:52:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 11, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:52:11'
2026-05-02 14:52:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 12, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 14:52:12'
2026-05-02 14:52:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 26, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 14:52:26'
2026-05-02 14:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 52, 32, 834000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 14:52:32'
2026-05-02 14:53:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 53, 7, 509901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17137, 'low': 1.1711, 'close': 1.1711, 'volume': 7.0} | asctime='2026-05-02 14:53:07'
2026-05-02 14:53:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 53, 7, 510591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17277, 'low': 1.17227, 'close': 1.17266, 'volume': 7.0} | asctime='2026-05-02 14:53:07'
2026-05-02 14:53:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 53, 7, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 14:53:07'
2026-05-02 14:53:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 53, 13, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 14:53:13'
2026-05-02 14:53:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 53, 19, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:53:19'
2026-05-02 14:53:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 53, 36, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 14:53:36'
2026-05-02 14:53:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 53, 40, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 14:53:40'
2026-05-02 14:54:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 54, 58, 7829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17153, 'low': 1.17115, 'close': 1.17115, 'volume': 5.0} | asctime='2026-05-02 14:54:58'
2026-05-02 14:54:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 54, 58, 8516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17271, 'low': 1.17236, 'close': 1.17271, 'volume': 5.0} | asctime='2026-05-02 14:54:58'
2026-05-02 14:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 54, 58, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 14:54:58'
2026-05-02 14:55:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 55, 55, 207524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17116, 'high': 1.17116, 'low': 1.17116, 'close': 1.17116, 'volume': 1.0} | asctime='2026-05-02 14:55:55'
2026-05-02 14:55:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 55, 55, 208772, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17272, 'low': 1.17272, 'close': 1.17272, 'volume': 1.0} | asctime='2026-05-02 14:55:55'
2026-05-02 14:55:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 55, 55, 209633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17168, 'high': 1.17168, 'low': 1.1711, 'close': 1.17116, 'volume': 27.0} | asctime='2026-05-02 14:55:55'
2026-05-02 14:55:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 55, 55, 210318, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17258, 'high': 1.17295, 'low': 1.17227, 'close': 1.17272, 'volume': 27.0} | asctime='2026-05-02 14:55:55'
2026-05-02 14:55:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 55, 55, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 14:55:55'
2026-05-02 14:56:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 56, 6, 507833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.1715, 'close': 1.1715, 'volume': 1.0} | asctime='2026-05-02 14:56:06'
2026-05-02 14:56:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 56, 6, 508796, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1724, 'low': 1.1724, 'close': 1.1724, 'volume': 1.0} | asctime='2026-05-02 14:56:06'
2026-05-02 14:56:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 56, 6, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 14:56:06'
2026-05-02 14:56:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 56, 10, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17221, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 14:56:10'
2026-05-02 14:57:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 57, 10, 307389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17151, 'low': 1.17146, 'close': 1.17151, 'volume': 2.0} | asctime='2026-05-02 14:57:10'
2026-05-02 14:57:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 57, 10, 308746, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17236, 'low': 1.17221, 'close': 1.17221, 'volume': 2.0} | asctime='2026-05-02 14:57:10'
2026-05-02 14:57:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 57, 10, 368000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 14:57:10'
2026-05-02 14:57:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 57, 18, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 14:57:18'
2026-05-02 14:57:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 57, 44, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 14:57:44'
2026-05-02 14:58:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 58, 29, 6562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17147, 'low': 1.17115, 'close': 1.17147, 'volume': 3.0} | asctime='2026-05-02 14:58:29'
2026-05-02 14:58:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 58, 29, 7458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17237, 'close': 1.17237, 'volume': 3.0} | asctime='2026-05-02 14:58:29'
2026-05-02 14:58:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 58, 29, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 14:58:29'
2026-05-02 14:58:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 58, 40, 231000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 14:58:40'
2026-05-02 14:59:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 59, 38, 155698, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17121, 'close': 1.17121, 'volume': 2.0} | asctime='2026-05-02 14:59:38'
2026-05-02 14:59:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 59, 38, 156505, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17277, 'close': 1.17277, 'volume': 2.0} | asctime='2026-05-02 14:59:38'
2026-05-02 14:59:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 59, 38, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 14:59:38'
2026-05-02 14:59:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 14, 59, 42, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 14:59:41'
2026-05-02 15:01:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 12, 457095, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17148, 'low': 1.17132, 'close': 1.17148, 'volume': 2.0} | asctime='2026-05-02 15:01:12'
2026-05-02 15:01:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 12, 458247, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17238, 'close': 1.17238, 'volume': 2.0} | asctime='2026-05-02 15:01:12'
2026-05-02 15:01:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 12, 459449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1715, 'high': 1.17151, 'low': 1.17115, 'close': 1.17148, 'volume': 10.0} | asctime='2026-05-02 15:01:12'
2026-05-02 15:01:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 12, 459970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1724, 'high': 1.17281, 'low': 1.17221, 'close': 1.17238, 'volume': 10.0} | asctime='2026-05-02 15:01:12'
2026-05-02 15:01:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 12, 460402, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17129, 'high': 1.17168, 'low': 1.1711, 'close': 1.17148, 'volume': 49.0} | asctime='2026-05-02 15:01:12'
2026-05-02 15:01:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 12, 460823, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17261, 'high': 1.17421, 'low': 1.17221, 'close': 1.17238, 'volume': 49.0} | asctime='2026-05-02 15:01:12'
2026-05-02 15:01:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 12, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:01:12'
2026-05-02 15:01:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 1, 42, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 15:01:42'
2026-05-02 15:02:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 2, 10, 53858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17151, 'low': 1.17127, 'close': 1.17151, 'volume': 2.0} | asctime='2026-05-02 15:02:10'
2026-05-02 15:02:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 2, 10, 54659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17241, 'close': 1.17241, 'volume': 2.0} | asctime='2026-05-02 15:02:10'
2026-05-02 15:02:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 2, 10, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 15:02:10'
2026-05-02 15:03:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 3, 27, 153602, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 15:03:27'
2026-05-02 15:03:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 3, 27, 154484, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 15:03:27'
2026-05-02 15:03:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 3, 27, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 15:03:27'
2026-05-02 15:04:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 4, 8, 102487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17151, 'close': 1.17151, 'volume': 1.0} | asctime='2026-05-02 15:04:08'
2026-05-02 15:04:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 4, 8, 103491, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17241, 'low': 1.17241, 'close': 1.17241, 'volume': 1.0} | asctime='2026-05-02 15:04:08'
2026-05-02 15:04:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 4, 8, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 15:04:08'
2026-05-02 15:04:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 4, 20, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:04:20'
2026-05-02 15:04:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 4, 40, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 15:04:40'
2026-05-02 15:04:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 4, 48, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 15:04:48'
2026-05-02 15:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 12, 202100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17127, 'close': 1.17134, 'volume': 4.0} | asctime='2026-05-02 15:06:12'
2026-05-02 15:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 12, 202965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17266, 'low': 1.1724, 'close': 1.17266, 'volume': 4.0} | asctime='2026-05-02 15:06:12'
2026-05-02 15:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 12, 204725, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17154, 'low': 1.17127, 'close': 1.17134, 'volume': 8.0} | asctime='2026-05-02 15:06:12'
2026-05-02 15:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 12, 205785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.17266, 'low': 1.1724, 'close': 1.17266, 'volume': 8.0} | asctime='2026-05-02 15:06:12'
2026-05-02 15:06:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 12, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 15:06:12'
2026-05-02 15:06:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 28, 421000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 15:06:28'
2026-05-02 15:06:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 29, 787000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 15:06:29'
2026-05-02 15:06:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 34, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 15:06:34'
2026-05-02 15:06:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 38, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 15:06:38'
2026-05-02 15:06:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 51, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 15:06:51'
2026-05-02 15:06:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 6, 59, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 15:06:59'
2026-05-02 15:07:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 7, 8, 550832, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17114, 'high': 1.17158, 'low': 1.17111, 'close': 1.17131, 'volume': 7.0} | asctime='2026-05-02 15:07:08'
2026-05-02 15:07:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 7, 8, 551633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17247, 'close': 1.17263, 'volume': 7.0} | asctime='2026-05-02 15:07:08'
2026-05-02 15:07:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 7, 8, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 15:07:08'
2026-05-02 15:07:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 7, 12, 484000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 15:07:12'
2026-05-02 15:07:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 7, 18, 193000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 15:07:18'
2026-05-02 15:07:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 7, 20, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 15:07:20'
2026-05-02 15:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 7, 23, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 15:07:22'
2026-05-02 15:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 0, 451058, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17114, 'close': 1.17129, 'volume': 5.0} | asctime='2026-05-02 15:08:00'
2026-05-02 15:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 0, 451760, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17272, 'low': 1.17238, 'close': 1.17261, 'volume': 5.0} | asctime='2026-05-02 15:08:00'
2026-05-02 15:08:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 0, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 15:08:00'
2026-05-02 15:08:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 8, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 15:08:08'
2026-05-02 15:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 30, 927000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 15:08:30'
2026-05-02 15:08:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 33, 410000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 15:08:33'
2026-05-02 15:08:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 50, 184000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17223, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 15:08:50'
2026-05-02 15:08:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 52, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 15:08:52'
2026-05-02 15:08:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 8, 57, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 15:08:57'
2026-05-02 15:09:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 9, 14, 549908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17133, 'low': 1.17112, 'close': 1.17112, 'volume': 7.0} | asctime='2026-05-02 15:09:14'
2026-05-02 15:09:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 9, 14, 550701, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17271, 'low': 1.17223, 'close': 1.17268, 'volume': 7.0} | asctime='2026-05-02 15:09:14'
2026-05-02 15:09:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 9, 14, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 15:09:14'
2026-05-02 15:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 0, 148761, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17115, 'low': 1.17115, 'close': 1.17115, 'volume': 1.0} | asctime='2026-05-02 15:11:00'
2026-05-02 15:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 0, 149743, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17271, 'close': 1.17271, 'volume': 1.0} | asctime='2026-05-02 15:11:00'
2026-05-02 15:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 0, 150980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17114, 'high': 1.17158, 'low': 1.17111, 'close': 1.17115, 'volume': 20.0} | asctime='2026-05-02 15:11:00'
2026-05-02 15:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 0, 151490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1727, 'high': 1.17272, 'low': 1.17223, 'close': 1.17271, 'volume': 20.0} | asctime='2026-05-02 15:11:00'
2026-05-02 15:11:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 0, 243000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 15:11:00'
2026-05-02 15:11:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 8, 435000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 15:11:08'
2026-05-02 15:11:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 20, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 15:11:20'
2026-05-02 15:11:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 22, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 15:11:22'
2026-05-02 15:11:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 28, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 15:11:28'
2026-05-02 15:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 11, 44, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 15:11:44'
2026-05-02 15:12:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 12, 18, 599134, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17155, 'low': 1.17121, 'close': 1.17147, 'volume': 6.0} | asctime='2026-05-02 15:12:18'
2026-05-02 15:12:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 12, 18, 600965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17262, 'low': 1.17237, 'close': 1.17237, 'volume': 6.0} | asctime='2026-05-02 15:12:18'
2026-05-02 15:12:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 12, 18, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 15:12:18'
2026-05-02 15:12:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 12, 44, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 15:12:44'
2026-05-02 15:13:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 13, 42, 496688, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17136, 'low': 1.17133, 'close': 1.17136, 'volume': 2.0} | asctime='2026-05-02 15:13:42'
2026-05-02 15:13:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 13, 42, 497647, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17268, 'low': 1.17265, 'close': 1.17268, 'volume': 2.0} | asctime='2026-05-02 15:13:42'
2026-05-02 15:13:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 13, 42, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 15:13:42'
2026-05-02 15:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 15, 42, 545879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 15:15:42'
2026-05-02 15:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 15, 42, 547098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17263, 'close': 1.17263, 'volume': 1.0} | asctime='2026-05-02 15:15:42'
2026-05-02 15:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 15, 42, 548626, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17123, 'high': 1.17155, 'low': 1.17121, 'close': 1.17131, 'volume': 9.0} | asctime='2026-05-02 15:15:42'
2026-05-02 15:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 15, 42, 549231, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17255, 'high': 1.17268, 'low': 1.17237, 'close': 1.17263, 'volume': 9.0} | asctime='2026-05-02 15:15:42'
2026-05-02 15:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 15, 42, 549772, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17127, 'high': 1.17158, 'low': 1.17111, 'close': 1.17131, 'volume': 37.0} | asctime='2026-05-02 15:15:42'
2026-05-02 15:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 15, 42, 550237, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17259, 'high': 1.17272, 'low': 1.17223, 'close': 1.17263, 'volume': 37.0} | asctime='2026-05-02 15:15:42'
2026-05-02 15:15:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 15, 42, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:15:42'
2026-05-02 15:16:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 0, 645523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 15:16:00'
2026-05-02 15:16:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 0, 646781, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 15:16:00'
2026-05-02 15:16:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 0, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 15:16:00'
2026-05-02 15:16:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 15, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 15:16:15'
2026-05-02 15:16:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 20, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 15:16:20'
2026-05-02 15:16:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 22, 461000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 15:16:22'
2026-05-02 15:16:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 27, 799000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 15:16:27'
2026-05-02 15:16:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 28, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 15:16:28'
2026-05-02 15:16:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 31, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 15:16:31'
2026-05-02 15:16:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 36, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 15:16:36'
2026-05-02 15:16:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 36, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:16:36'
2026-05-02 15:16:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 55, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 15:16:55'
2026-05-02 15:16:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 16, 56, 721000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 15:16:56'
2026-05-02 15:17:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 17, 1, 95181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17153, 'low': 1.17104, 'close': 1.17105, 'volume': 11.0} | asctime='2026-05-02 15:17:01'
2026-05-02 15:17:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 17, 1, 95959, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17269, 'low': 1.17237, 'close': 1.17237, 'volume': 11.0} | asctime='2026-05-02 15:17:01'
2026-05-02 15:17:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 17, 1, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 15:17:01'
2026-05-02 15:17:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 17, 7, 892000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 15:17:07'
2026-05-02 15:17:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 17, 16, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 15:17:16'
2026-05-02 15:18:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 18, 59, 394466, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17095, 'high': 1.1714, 'low': 1.17095, 'close': 1.1714, 'volume': 3.0} | asctime='2026-05-02 15:18:59'
2026-05-02 15:18:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 18, 59, 395636, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17253, 'low': 1.1723, 'close': 1.1723, 'volume': 3.0} | asctime='2026-05-02 15:18:59'
2026-05-02 15:18:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 18, 59, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17225, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 15:18:59'
2026-05-02 15:18:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 18, 59, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 15:18:59'
2026-05-02 15:19:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 19, 5, 94108, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17135, 'low': 1.17119, 'close': 1.17119, 'volume': 2.0} | asctime='2026-05-02 15:19:05'
2026-05-02 15:19:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 19, 5, 94751, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17225, 'high': 1.17251, 'low': 1.17225, 'close': 1.17251, 'volume': 2.0} | asctime='2026-05-02 15:19:05'
2026-05-02 15:19:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 19, 5, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 15:19:05'
2026-05-02 15:19:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 19, 8, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:19:08'
2026-05-02 15:19:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 19, 14, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 15:19:14'
2026-05-02 15:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 19, 46, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17225, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 15:19:46'
2026-05-02 15:19:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 19, 58, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 15:19:57'
2026-05-02 15:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 21, 30, 842619, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.1714, 'low': 1.17117, 'close': 1.1714, 'volume': 5.0} | asctime='2026-05-02 15:21:30'
2026-05-02 15:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 21, 30, 844006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17259, 'low': 1.17225, 'close': 1.1723, 'volume': 5.0} | asctime='2026-05-02 15:21:30'
2026-05-02 15:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 21, 30, 844952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17127, 'high': 1.17153, 'low': 1.17095, 'close': 1.1714, 'volume': 22.0} | asctime='2026-05-02 15:21:30'
2026-05-02 15:21:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 21, 30, 845859, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.17269, 'low': 1.17225, 'close': 1.1723, 'volume': 22.0} | asctime='2026-05-02 15:21:30'
2026-05-02 15:21:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 21, 30, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 15:21:30'
2026-05-02 15:21:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 21, 35, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 15:21:35'
2026-05-02 15:21:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 21, 40, 459000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17421, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 15:21:40'
2026-05-02 15:23:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 23, 22, 641253, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17152, 'low': 1.17146, 'close': 1.17147, 'volume': 3.0} | asctime='2026-05-02 15:23:22'
2026-05-02 15:23:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 23, 22, 642619, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17421, 'low': 1.17236, 'close': 1.17421, 'volume': 3.0} | asctime='2026-05-02 15:23:22'
2026-05-02 15:23:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 23, 22, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17407, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 15:23:22'
2026-05-02 15:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 24, 0, 491277, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17133, 'close': 1.17133, 'volume': 1.0} | asctime='2026-05-02 15:24:00'
2026-05-02 15:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 24, 0, 492100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17407, 'high': 1.17407, 'low': 1.17407, 'close': 1.17407, 'volume': 1.0} | asctime='2026-05-02 15:24:00'
2026-05-02 15:24:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 24, 0, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 15:24:00'
2026-05-02 15:25:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 25, 52, 90204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17117, 'low': 1.17117, 'close': 1.17117, 'volume': 1.0} | asctime='2026-05-02 15:25:52'
2026-05-02 15:25:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 25, 52, 91839, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 15:25:52'
2026-05-02 15:25:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 25, 52, 92917, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17146, 'high': 1.17152, 'low': 1.17117, 'close': 1.17117, 'volume': 5.0} | asctime='2026-05-02 15:25:52'
2026-05-02 15:25:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 25, 52, 93490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17236, 'high': 1.17421, 'low': 1.17236, 'close': 1.17249, 'volume': 5.0} | asctime='2026-05-02 15:25:52'
2026-05-02 15:25:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 25, 52, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 15:25:52'
2026-05-02 15:25:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 25, 58, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 15:25:57'
2026-05-02 15:26:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 26, 11, 89990, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1705, 'high': 1.17122, 'low': 1.1705, 'close': 1.17122, 'volume': 2.0} | asctime='2026-05-02 15:26:11'
2026-05-02 15:26:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 26, 11, 90632, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17254, 'low': 1.17254, 'close': 1.17254, 'volume': 2.0} | asctime='2026-05-02 15:26:11'
2026-05-02 15:26:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 26, 11, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 15:26:11'
2026-05-02 15:26:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 26, 30, 653000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 15:26:30'
2026-05-02 15:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 26, 46, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 15:26:46'
2026-05-02 15:28:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 28, 22, 388523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17167, 'low': 1.17138, 'close': 1.17138, 'volume': 3.0} | asctime='2026-05-02 15:28:22'
2026-05-02 15:28:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 28, 22, 389327, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17257, 'close': 1.1727, 'volume': 3.0} | asctime='2026-05-02 15:28:22'
2026-05-02 15:28:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 28, 22, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 15:28:22'
2026-05-02 15:28:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 28, 42, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 15:28:42'
2026-05-02 15:28:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 28, 57, 240000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 15:28:57'
2026-05-02 15:29:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 29, 11, 38335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17153, 'low': 1.17132, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 15:29:11'
2026-05-02 15:29:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 29, 11, 39977, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17272, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 15:29:11'
2026-05-02 15:29:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 29, 11, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 15:29:11'
2026-05-02 15:31:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 12, 436690, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17149, 'close': 1.17149, 'volume': 1.0} | asctime='2026-05-02 15:31:12'
2026-05-02 15:31:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 12, 438849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17239, 'close': 1.17239, 'volume': 1.0} | asctime='2026-05-02 15:31:12'
2026-05-02 15:31:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 12, 440920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1705, 'high': 1.17167, 'low': 1.1705, 'close': 1.17149, 'volume': 9.0} | asctime='2026-05-02 15:31:12'
2026-05-02 15:31:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 12, 441390, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17272, 'low': 1.17239, 'close': 1.17239, 'volume': 9.0} | asctime='2026-05-02 15:31:12'
2026-05-02 15:31:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 12, 441973, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17127, 'high': 1.17167, 'low': 1.1705, 'close': 1.17149, 'volume': 36.0} | asctime='2026-05-02 15:31:12'
2026-05-02 15:31:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 12, 442524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17259, 'high': 1.17421, 'low': 1.17225, 'close': 1.17239, 'volume': 36.0} | asctime='2026-05-02 15:31:12'
2026-05-02 15:31:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 12, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 15:31:12'
2026-05-02 15:31:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 14, 769000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 15:31:14'
2026-05-02 15:31:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 27, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 15:31:27'
2026-05-02 15:31:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 40, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 15:31:40'
2026-05-02 15:31:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 31, 42, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 15:31:42'
2026-05-02 15:32:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 32, 57, 686187, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17134, 'close': 1.17135, 'volume': 5.0} | asctime='2026-05-02 15:32:57'
2026-05-02 15:32:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 32, 57, 687780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17267, 'low': 1.17243, 'close': 1.17267, 'volume': 5.0} | asctime='2026-05-02 15:32:57'
2026-05-02 15:32:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 32, 57, 789000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 15:32:57'
2026-05-02 15:33:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 33, 22, 385789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17121, 'low': 1.17121, 'close': 1.17121, 'volume': 1.0} | asctime='2026-05-02 15:33:22'
2026-05-02 15:33:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 33, 22, 387936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17277, 'low': 1.17277, 'close': 1.17277, 'volume': 1.0} | asctime='2026-05-02 15:33:22'
2026-05-02 15:33:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 33, 22, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 15:33:22'
2026-05-02 15:34:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 3, 234589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17131, 'close': 1.17131, 'volume': 1.0} | asctime='2026-05-02 15:34:03'
2026-05-02 15:34:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 3, 235545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17263, 'close': 1.17263, 'volume': 1.0} | asctime='2026-05-02 15:34:03'
2026-05-02 15:34:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 3, 325000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 15:34:03'
2026-05-02 15:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 40, 810000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 15:34:40'
2026-05-02 15:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 40, 934000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.17098, 'volume': 0.0} | asctime='2026-05-02 15:34:40'
2026-05-02 15:34:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 46, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 15:34:46'
2026-05-02 15:34:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 50, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 15:34:50'
2026-05-02 15:34:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 53, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 15:34:53'
2026-05-02 15:34:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 54, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 15:34:54'
2026-05-02 15:34:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 34, 58, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 15:34:57'
2026-05-02 15:36:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 36, 46, 583419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17133, 'low': 1.17098, 'close': 1.17133, 'volume': 8.0} | asctime='2026-05-02 15:36:46'
2026-05-02 15:36:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 36, 46, 584334, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17307, 'low': 1.17257, 'close': 1.17265, 'volume': 8.0} | asctime='2026-05-02 15:36:46'
2026-05-02 15:36:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 36, 46, 585285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17098, 'close': 1.17133, 'volume': 15.0} | asctime='2026-05-02 15:36:46'
2026-05-02 15:36:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 36, 46, 585705, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17247, 'high': 1.17307, 'low': 1.17243, 'close': 1.17265, 'volume': 15.0} | asctime='2026-05-02 15:36:46'
2026-05-02 15:36:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 36, 46, 668000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 15:36:46'
2026-05-02 15:36:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 36, 47, 909000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 15:36:47'
2026-05-02 15:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 36, 50, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 15:36:50'
2026-05-02 15:37:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 37, 18, 582814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1716, 'high': 1.1716, 'low': 1.17125, 'close': 1.17125, 'volume': 3.0} | asctime='2026-05-02 15:37:18'
2026-05-02 15:37:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 37, 18, 583770, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17264, 'low': 1.1725, 'close': 1.17257, 'volume': 3.0} | asctime='2026-05-02 15:37:18'
2026-05-02 15:37:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 37, 18, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 15:37:18'
2026-05-02 15:37:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 37, 58, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 15:37:57'
2026-05-02 15:38:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 38, 1, 533024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17137, 'low': 1.17118, 'close': 1.17137, 'volume': 2.0} | asctime='2026-05-02 15:38:01'
2026-05-02 15:38:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 38, 1, 533842, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17269, 'close': 1.17269, 'volume': 2.0} | asctime='2026-05-02 15:38:01'
2026-05-02 15:38:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 38, 1, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 15:38:01'
2026-05-02 15:38:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 38, 46, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 15:38:46'
2026-05-02 15:39:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 39, 2, 132681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17128, 'close': 1.17128, 'volume': 2.0} | asctime='2026-05-02 15:39:02'
2026-05-02 15:39:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 39, 2, 133876, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.1726, 'low': 1.17237, 'close': 1.1726, 'volume': 2.0} | asctime='2026-05-02 15:39:02'
2026-05-02 15:39:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 39, 2, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 15:39:02'
2026-05-02 15:39:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 39, 20, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 15:39:20'
2026-05-02 15:39:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 39, 26, 413000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 15:39:26'
2026-05-02 15:40:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 40, 40, 531667, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.1717, 'low': 1.1714, 'close': 1.1714, 'volume': 3.0} | asctime='2026-05-02 15:40:40'
2026-05-02 15:40:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 40, 40, 532693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.1726, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 15:40:40'
2026-05-02 15:40:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 40, 40, 533308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1716, 'high': 1.1717, 'low': 1.17118, 'close': 1.1714, 'volume': 10.0} | asctime='2026-05-02 15:40:40'
2026-05-02 15:40:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 40, 40, 533753, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1725, 'high': 1.17275, 'low': 1.17237, 'close': 1.17272, 'volume': 10.0} | asctime='2026-05-02 15:40:40'
2026-05-02 15:40:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 40, 40, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 15:40:40'
2026-05-02 15:40:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 40, 42, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 15:40:42'
2026-05-02 15:41:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 41, 29, 330425, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17138, 'low': 1.17124, 'close': 1.17138, 'volume': 2.0} | asctime='2026-05-02 15:41:29'
2026-05-02 15:41:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 41, 29, 331129, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17256, 'low': 1.17228, 'close': 1.17228, 'volume': 2.0} | asctime='2026-05-02 15:41:29'
2026-05-02 15:41:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 41, 29, 421000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 15:41:29'
2026-05-02 15:41:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 41, 51, 392000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 15:41:51'
2026-05-02 15:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 41, 56, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 15:41:56'
2026-05-02 15:42:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 42, 12, 380176, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17152, 'low': 1.17129, 'close': 1.17152, 'volume': 3.0} | asctime='2026-05-02 15:42:12'
2026-05-02 15:42:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 42, 12, 381063, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17237, 'close': 1.17242, 'volume': 3.0} | asctime='2026-05-02 15:42:12'
2026-05-02 15:42:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 42, 12, 492000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 15:42:12'
2026-05-02 15:43:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 43, 11, 879891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 15:43:11'
2026-05-02 15:43:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 43, 11, 880576, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 15:43:11'
2026-05-02 15:43:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 43, 11, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 15:43:11'
2026-05-02 15:43:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 43, 14, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 15:43:14'
2026-05-02 15:43:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 43, 24, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 15:43:24'
2026-05-02 15:43:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 43, 30, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 15:43:30'
2026-05-02 15:44:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 44, 15, 178870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17138, 'low': 1.17102, 'close': 1.17102, 'volume': 4.0} | asctime='2026-05-02 15:44:15'
2026-05-02 15:44:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 44, 15, 180113, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17258, 'close': 1.17258, 'volume': 4.0} | asctime='2026-05-02 15:44:15'
2026-05-02 15:44:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 44, 15, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 15:44:15'
2026-05-02 15:44:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 44, 17, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:44:17'
2026-05-02 15:44:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 44, 18, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 15:44:18'
2026-05-02 15:44:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 44, 23, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 15:44:23'
2026-05-02 15:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 0, 979833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17147, 'low': 1.17127, 'close': 1.17141, 'volume': 4.0} | asctime='2026-05-02 15:45:00'
2026-05-02 15:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 0, 980596, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17283, 'low': 1.17264, 'close': 1.17273, 'volume': 4.0} | asctime='2026-05-02 15:45:00'
2026-05-02 15:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 0, 981112, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17124, 'high': 1.17153, 'low': 1.17102, 'close': 1.17141, 'volume': 14.0} | asctime='2026-05-02 15:45:00'
2026-05-02 15:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 0, 981565, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17256, 'high': 1.17283, 'low': 1.17228, 'close': 1.17273, 'volume': 14.0} | asctime='2026-05-02 15:45:00'
2026-05-02 15:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 0, 981975, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17157, 'high': 1.1717, 'low': 1.17098, 'close': 1.17141, 'volume': 39.0} | asctime='2026-05-02 15:45:00'
2026-05-02 15:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 0, 983202, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17247, 'high': 1.17307, 'low': 1.17228, 'close': 1.17273, 'volume': 39.0} | asctime='2026-05-02 15:45:00'
2026-05-02 15:45:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 1, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 15:45:00'
2026-05-02 15:45:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 18, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 15:45:18'
2026-05-02 15:45:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 52, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 15:45:52'
2026-05-02 15:45:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 52, 432000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 15:45:52'
2026-05-02 15:45:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 52, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 15:45:52'
2026-05-02 15:45:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 57, 894000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 15:45:57'
2026-05-02 15:45:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 45, 58, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 15:45:58'
2026-05-02 15:46:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 46, 9, 807497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17153, 'low': 1.17101, 'close': 1.17122, 'volume': 7.0} | asctime='2026-05-02 15:46:09'
2026-05-02 15:46:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 46, 9, 808281, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17282, 'low': 1.17243, 'close': 1.17254, 'volume': 7.0} | asctime='2026-05-02 15:46:09'
2026-05-02 15:46:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 46, 9, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:46:09'
2026-05-02 15:46:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 46, 41, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 15:46:41'
2026-05-02 15:46:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 46, 44, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 15:46:44'
2026-05-02 15:46:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 46, 54, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 15:46:54'
2026-05-02 15:47:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 47, 46, 277072, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17158, 'low': 1.17127, 'close': 1.17137, 'volume': 4.0} | asctime='2026-05-02 15:47:46'
2026-05-02 15:47:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 47, 46, 277979, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17285, 'low': 1.17248, 'close': 1.17269, 'volume': 4.0} | asctime='2026-05-02 15:47:46'
2026-05-02 15:47:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 47, 46, 375000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 15:47:46'
2026-05-02 15:47:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 47, 46, 871000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 15:47:46'
2026-05-02 15:48:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 48, 23, 126357, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17143, 'low': 1.17118, 'close': 1.17118, 'volume': 2.0} | asctime='2026-05-02 15:48:23'
2026-05-02 15:48:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 48, 23, 127114, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17274, 'close': 1.17274, 'volume': 2.0} | asctime='2026-05-02 15:48:23'
2026-05-02 15:48:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 48, 23, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 15:48:23'
2026-05-02 15:48:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 48, 32, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 15:48:32'
2026-05-02 15:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 50, 16, 975732, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17138, 'close': 1.17138, 'volume': 2.0} | asctime='2026-05-02 15:50:16'
2026-05-02 15:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 50, 16, 977265, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.1727, 'low': 1.17244, 'close': 1.1727, 'volume': 2.0} | asctime='2026-05-02 15:50:16'
2026-05-02 15:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 50, 16, 978525, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17129, 'high': 1.17158, 'low': 1.17101, 'close': 1.17138, 'volume': 15.0} | asctime='2026-05-02 15:50:16'
2026-05-02 15:50:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 50, 16, 980098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17261, 'high': 1.17285, 'low': 1.17243, 'close': 1.1727, 'volume': 15.0} | asctime='2026-05-02 15:50:16'
2026-05-02 15:50:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 50, 17, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 15:50:16'
2026-05-02 15:50:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 50, 53, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 15:50:52'
2026-05-02 15:50:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 50, 58, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 15:50:57'
2026-05-02 15:51:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 51, 2, 524860, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17124, 'close': 1.17124, 'volume': 3.0} | asctime='2026-05-02 15:51:02'
2026-05-02 15:51:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 51, 2, 527047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17256, 'close': 1.17256, 'volume': 3.0} | asctime='2026-05-02 15:51:02'
2026-05-02 15:51:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 51, 2, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 15:51:02'
2026-05-02 15:51:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 51, 8, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 15:51:08'
2026-05-02 15:52:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 52, 57, 74466, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17153, 'low': 1.17147, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 15:52:57'
2026-05-02 15:52:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 52, 57, 75414, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17243, 'low': 1.17237, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 15:52:57'
2026-05-02 15:52:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 52, 57, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 15:52:57'
2026-05-02 15:52:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 52, 57, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 15:52:57'
2026-05-02 15:52:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 52, 57, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 15:52:57'
2026-05-02 15:53:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 53, 3, 23850, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17143, 'low': 1.17124, 'close': 1.17124, 'volume': 3.0} | asctime='2026-05-02 15:53:03'
2026-05-02 15:53:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 53, 3, 24843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1728, 'low': 1.1727, 'close': 1.1728, 'volume': 3.0} | asctime='2026-05-02 15:53:03'
2026-05-02 15:53:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 53, 3, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 15:53:03'
2026-05-02 15:53:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 53, 12, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 15:53:12'
2026-05-02 15:54:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 54, 22, 72855, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1716, 'high': 1.1716, 'low': 1.17156, 'close': 1.17156, 'volume': 2.0} | asctime='2026-05-02 15:54:22'
2026-05-02 15:54:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 54, 22, 73861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.1725, 'low': 1.17246, 'close': 1.17246, 'volume': 2.0} | asctime='2026-05-02 15:54:22'
2026-05-02 15:54:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 54, 22, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 15:54:22'
2026-05-02 15:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 22, 272138, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17163, 'high': 1.17163, 'low': 1.17163, 'close': 1.17163, 'volume': 1.0} | asctime='2026-05-02 15:55:22'
2026-05-02 15:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 22, 273890, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17253, 'low': 1.17253, 'close': 1.17253, 'volume': 1.0} | asctime='2026-05-02 15:55:22'
2026-05-02 15:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 22, 275168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17131, 'high': 1.17163, 'low': 1.17124, 'close': 1.17163, 'volume': 11.0} | asctime='2026-05-02 15:55:22'
2026-05-02 15:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 22, 275675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17263, 'high': 1.1728, 'low': 1.17237, 'close': 1.17253, 'volume': 11.0} | asctime='2026-05-02 15:55:22'
2026-05-02 15:55:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 22, 392000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 15:55:22'
2026-05-02 15:55:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 22, 764000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 15:55:22'
2026-05-02 15:55:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 32, 322000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17097, 'volume': 0.0} | asctime='2026-05-02 15:55:32'
2026-05-02 15:55:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 44, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 15:55:44'
2026-05-02 15:55:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 55, 50, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 15:55:50'
2026-05-02 15:57:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 57, 36, 970914, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17116, 'high': 1.17133, 'low': 1.17097, 'close': 1.17133, 'volume': 5.0} | asctime='2026-05-02 15:57:36'
2026-05-02 15:57:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 57, 36, 971786, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17282, 'low': 1.17265, 'close': 1.17265, 'volume': 5.0} | asctime='2026-05-02 15:57:36'
2026-05-02 15:57:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 57, 37, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 15:57:36'
2026-05-02 15:57:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 57, 38, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 15:57:38'
2026-05-02 15:57:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 57, 50, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 15:57:50'
2026-05-02 15:59:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 59, 24, 569849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17153, 'low': 1.17126, 'close': 1.17153, 'volume': 3.0} | asctime='2026-05-02 15:59:24'
2026-05-02 15:59:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 59, 24, 570676, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17283, 'low': 1.17243, 'close': 1.17243, 'volume': 3.0} | asctime='2026-05-02 15:59:24'
2026-05-02 15:59:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 15, 59, 24, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 15:59:24'
2026-05-02 16:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 2, 319265, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17147, 'close': 1.17147, 'volume': 1.0} | asctime='2026-05-02 16:00:02'
2026-05-02 16:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 2, 320090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17237, 'low': 1.17237, 'close': 1.17237, 'volume': 1.0} | asctime='2026-05-02 16:00:02'
2026-05-02 16:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 2, 321192, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17116, 'high': 1.17153, 'low': 1.17097, 'close': 1.17147, 'volume': 9.0} | asctime='2026-05-02 16:00:02'
2026-05-02 16:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 2, 322069, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17272, 'high': 1.17283, 'low': 1.17237, 'close': 1.17237, 'volume': 9.0} | asctime='2026-05-02 16:00:02'
2026-05-02 16:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 2, 322521, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17129, 'high': 1.17163, 'low': 1.17097, 'close': 1.17147, 'volume': 35.0} | asctime='2026-05-02 16:00:02'
2026-05-02 16:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 2, 322945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17261, 'high': 1.17285, 'low': 1.17237, 'close': 1.17237, 'volume': 35.0} | asctime='2026-05-02 16:00:02'
2026-05-02 16:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 2, 409000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 16:00:02'
2026-05-02 16:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 10, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 16:00:10'
2026-05-02 16:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 10, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 16:00:10'
2026-05-02 16:00:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 20, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 16:00:20'
2026-05-02 16:00:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 33, 440000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:00:33'
2026-05-02 16:00:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 39, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 16:00:39'
2026-05-02 16:00:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 39, 770000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 16:00:39'
2026-05-02 16:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 44, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 16:00:44'
2026-05-02 16:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 48, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 16:00:48'
2026-05-02 16:00:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 50, 196000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 16:00:50'
2026-05-02 16:00:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 0, 59, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 16:00:58'
2026-05-02 16:01:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 1, 0, 419587, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17159, 'low': 1.17104, 'close': 1.1713, 'volume': 11.0} | asctime='2026-05-02 16:01:00'
2026-05-02 16:01:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 1, 0, 420386, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17284, 'low': 1.17249, 'close': 1.17262, 'volume': 11.0} | asctime='2026-05-02 16:01:00'
2026-05-02 16:01:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 1, 0, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 16:01:00'
2026-05-02 16:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 1, 2, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 16:01:02'
2026-05-02 16:01:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 1, 16, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17175, 'volume': 0.0} | asctime='2026-05-02 16:01:16'
2026-05-02 16:02:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 2, 24, 918529, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17175, 'low': 1.17144, 'close': 1.17175, 'volume': 3.0} | asctime='2026-05-02 16:02:24'
2026-05-02 16:02:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 2, 24, 919057, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17276, 'low': 1.17246, 'close': 1.17265, 'volume': 3.0} | asctime='2026-05-02 16:02:24'
2026-05-02 16:02:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 2, 25, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:02:24'
2026-05-02 16:02:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 2, 29, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 16:02:29'
2026-05-02 16:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 2, 32, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 16:02:32'
2026-05-02 16:02:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 2, 33, 340000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 16:02:33'
2026-05-02 16:02:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 2, 42, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 16:02:42'
2026-05-02 16:03:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 3, 40, 267468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.1716, 'low': 1.17127, 'close': 1.17146, 'volume': 5.0} | asctime='2026-05-02 16:03:40'
2026-05-02 16:03:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 3, 40, 268524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17283, 'low': 1.1725, 'close': 1.17278, 'volume': 5.0} | asctime='2026-05-02 16:03:40'
2026-05-02 16:03:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 3, 40, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 16:03:40'
2026-05-02 16:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 3, 46, 325000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 16:03:46'
2026-05-02 16:03:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 3, 48, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 16:03:48'
2026-05-02 16:03:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 3, 50, 793000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 16:03:50'
2026-05-02 16:03:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 3, 57, 992000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 16:03:57'
2026-05-02 16:04:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 13, 667089, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17125, 'close': 1.17145, 'volume': 5.0} | asctime='2026-05-02 16:04:13'
2026-05-02 16:04:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 13, 667908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17282, 'low': 1.17235, 'close': 1.17235, 'volume': 5.0} | asctime='2026-05-02 16:04:13'
2026-05-02 16:04:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 13, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 16:04:13'
2026-05-02 16:04:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 16, 982000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 16:04:16'
2026-05-02 16:04:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 26, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:04:26'
2026-05-02 16:04:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 34, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 16:04:34'
2026-05-02 16:04:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 38, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 16:04:38'
2026-05-02 16:04:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 54, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:04:54'
2026-05-02 16:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 4, 57, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 16:04:57'
2026-05-02 16:05:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 5, 20, 416546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17157, 'low': 1.17127, 'close': 1.1713, 'volume': 7.0} | asctime='2026-05-02 16:05:20'
2026-05-02 16:05:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 5, 20, 418106, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17246, 'close': 1.17262, 'volume': 7.0} | asctime='2026-05-02 16:05:20'
2026-05-02 16:05:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 5, 20, 419137, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17131, 'high': 1.17175, 'low': 1.17104, 'close': 1.1713, 'volume': 31.0} | asctime='2026-05-02 16:05:20'
2026-05-02 16:05:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 5, 20, 420240, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17263, 'high': 1.17284, 'low': 1.17235, 'close': 1.17262, 'volume': 31.0} | asctime='2026-05-02 16:05:20'
2026-05-02 16:05:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 5, 20, 531000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 16:05:20'
2026-05-02 16:05:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 5, 21, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 16:05:21'
2026-05-02 16:06:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 6, 16, 166320, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17115, 'close': 1.17115, 'volume': 2.0} | asctime='2026-05-02 16:06:16'
2026-05-02 16:06:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 6, 16, 167984, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17271, 'low': 1.17265, 'close': 1.17271, 'volume': 2.0} | asctime='2026-05-02 16:06:16'
2026-05-02 16:06:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 6, 16, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:06:16'
2026-05-02 16:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 7, 17, 865851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.1712, 'low': 1.1712, 'close': 1.1712, 'volume': 1.0} | asctime='2026-05-02 16:07:17'
2026-05-02 16:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 7, 17, 866699, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17252, 'close': 1.17252, 'volume': 1.0} | asctime='2026-05-02 16:07:17'
2026-05-02 16:07:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 7, 17, 950000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 16:07:17'
2026-05-02 16:07:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 7, 18, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:07:17'
2026-05-02 16:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 7, 24, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 16:07:24'
2026-05-02 16:07:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 7, 29, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 16:07:29'
2026-05-02 16:07:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 7, 30, 485000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:07:30'
2026-05-02 16:08:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 10, 465979, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17144, 'low': 1.17109, 'close': 1.17127, 'volume': 5.0} | asctime='2026-05-02 16:08:10'
2026-05-02 16:08:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 10, 467668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17289, 'low': 1.17257, 'close': 1.17283, 'volume': 5.0} | asctime='2026-05-02 16:08:10'
2026-05-02 16:08:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 10, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 16:08:10'
2026-05-02 16:08:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 12, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:08:12'
2026-05-02 16:08:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 21, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 16:08:21'
2026-05-02 16:08:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 21, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 16:08:21'
2026-05-02 16:08:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 27, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 16:08:26'
2026-05-02 16:08:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 28, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 16:08:28'
2026-05-02 16:08:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 36, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:08:35'
2026-05-02 16:08:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 36, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 16:08:36'
2026-05-02 16:08:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 36, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17405, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 16:08:36'
2026-05-02 16:08:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 36, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.174, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 16:08:36'
2026-05-02 16:08:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 36, 891000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 16:08:36'
2026-05-02 16:08:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 37, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 16:08:37'
2026-05-02 16:08:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 37, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:08:37'
2026-05-02 16:08:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 38, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:08:37'
2026-05-02 16:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 38, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 16:08:38'
2026-05-02 16:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 38, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 16:08:38'
2026-05-02 16:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 39, 1000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 16:08:38'
2026-05-02 16:08:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 39, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 16:08:39'
2026-05-02 16:08:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 39, 746000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 16:08:39'
2026-05-02 16:08:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 39, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:08:39'
2026-05-02 16:08:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 40, 243000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17319, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 16:08:40'
2026-05-02 16:08:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 40, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17311, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 16:08:40'
2026-05-02 16:08:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 41, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 16:08:41'
2026-05-02 16:08:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 42, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 16:08:42'
2026-05-02 16:08:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 46, 325000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 16:08:46'
2026-05-02 16:08:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 8, 55, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 16:08:55'
2026-05-02 16:09:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 6, 815176, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17167, 'low': 1.17091, 'close': 1.1713, 'volume': 26.0} | asctime='2026-05-02 16:09:06'
2026-05-02 16:09:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 6, 816020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17405, 'low': 1.17245, 'close': 1.17262, 'volume': 26.0} | asctime='2026-05-02 16:09:06'
2026-05-02 16:09:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 6, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 16:09:06'
2026-05-02 16:09:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 9, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 16:09:09'
2026-05-02 16:09:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 9, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 16:09:09'
2026-05-02 16:09:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 13, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 16:09:12'
2026-05-02 16:09:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 13, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 16:09:13'
2026-05-02 16:09:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 14, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 16:09:14'
2026-05-02 16:09:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 16, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:09:16'
2026-05-02 16:09:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 32, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:09:32'
2026-05-02 16:09:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 32, 746000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:09:32'
2026-05-02 16:09:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 45, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:09:45'
2026-05-02 16:09:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 47, 268000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:09:47'
2026-05-02 16:09:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 9, 49, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 16:09:49'
2026-05-02 16:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 10, 10, 864452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17154, 'low': 1.17121, 'close': 1.17137, 'volume': 12.0} | asctime='2026-05-02 16:10:10'
2026-05-02 16:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 10, 10, 865076, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.1729, 'low': 1.17227, 'close': 1.17227, 'volume': 12.0} | asctime='2026-05-02 16:10:10'
2026-05-02 16:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 10, 10, 865612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17167, 'low': 1.17091, 'close': 1.17137, 'volume': 46.0} | asctime='2026-05-02 16:10:10'
2026-05-02 16:10:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 10, 10, 866084, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17405, 'low': 1.17227, 'close': 1.17227, 'volume': 46.0} | asctime='2026-05-02 16:10:10'
2026-05-02 16:10:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 10, 10, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:10:10'
2026-05-02 16:11:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 11, 40, 462675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17129, 'close': 1.17129, 'volume': 1.0} | asctime='2026-05-02 16:11:40'
2026-05-02 16:11:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 11, 40, 463774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17261, 'close': 1.17261, 'volume': 1.0} | asctime='2026-05-02 16:11:40'
2026-05-02 16:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 11, 40, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 16:11:40'
2026-05-02 16:11:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 11, 49, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 16:11:49'
2026-05-02 16:11:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 11, 57, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 16:11:57'
2026-05-02 16:12:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 12, 15, 964072, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17147, 'close': 1.17147, 'volume': 3.0} | asctime='2026-05-02 16:12:15'
2026-05-02 16:12:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 12, 15, 965086, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17237, 'close': 1.17237, 'volume': 3.0} | asctime='2026-05-02 16:12:15'
2026-05-02 16:12:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 12, 16, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 16:12:15'
2026-05-02 16:12:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 12, 40, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 16:12:40'
2026-05-02 16:12:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 12, 42, 403000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17224, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:12:42'
2026-05-02 16:13:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 13, 1, 761864, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17154, 'low': 1.17146, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 16:13:01'
2026-05-02 16:13:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 13, 1, 763293, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17241, 'low': 1.17224, 'close': 1.17224, 'volume': 3.0} | asctime='2026-05-02 16:13:01'
2026-05-02 16:13:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 13, 1, 890000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 16:13:01'
2026-05-02 16:13:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 13, 3, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 16:13:03'
2026-05-02 16:13:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 13, 4, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 16:13:04'
2026-05-02 16:13:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 13, 52, 409000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17177, 'volume': 0.0} | asctime='2026-05-02 16:13:52'
2026-05-02 16:14:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 14, 50, 411230, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17177, 'low': 1.17135, 'close': 1.17177, 'volume': 4.0} | asctime='2026-05-02 16:14:50'
2026-05-02 16:14:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 14, 50, 412193, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17267, 'low': 1.1724, 'close': 1.17247, 'volume': 4.0} | asctime='2026-05-02 16:14:50'
2026-05-02 16:14:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 14, 50, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 16:14:50'
2026-05-02 16:15:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 23, 871334, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17159, 'close': 1.17159, 'volume': 1.0} | asctime='2026-05-02 16:15:23'
2026-05-02 16:15:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 23, 872268, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 16:15:23'
2026-05-02 16:15:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 23, 872728, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17129, 'high': 1.17177, 'low': 1.17129, 'close': 1.17159, 'volume': 12.0} | asctime='2026-05-02 16:15:23'
2026-05-02 16:15:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 23, 873078, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17261, 'high': 1.17267, 'low': 1.17224, 'close': 1.17249, 'volume': 12.0} | asctime='2026-05-02 16:15:23'
2026-05-02 16:15:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 23, 873414, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17131, 'high': 1.17177, 'low': 1.17091, 'close': 1.17159, 'volume': 89.0} | asctime='2026-05-02 16:15:23'
2026-05-02 16:15:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 23, 873794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17263, 'high': 1.17405, 'low': 1.17224, 'close': 1.17249, 'volume': 89.0} | asctime='2026-05-02 16:15:23'
2026-05-02 16:15:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 23, 763000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 16:15:23'
2026-05-02 16:15:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 40, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:15:40'
2026-05-02 16:15:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 40, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 16:15:40'
2026-05-02 16:15:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 51, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:15:51'
2026-05-02 16:15:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 52, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:15:52'
2026-05-02 16:15:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 15, 53, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 16:15:53'
2026-05-02 16:16:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 16, 0, 35706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17154, 'low': 1.17114, 'close': 1.17114, 'volume': 6.0} | asctime='2026-05-02 16:16:00'
2026-05-02 16:16:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 16, 0, 36771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17276, 'low': 1.17244, 'close': 1.1727, 'volume': 6.0} | asctime='2026-05-02 16:16:00'
2026-05-02 16:16:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 16, 0, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 16:16:00'
2026-05-02 16:16:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 16, 6, 832000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 16:16:06'
2026-05-02 16:16:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 16, 8, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 16:16:08'
2026-05-02 16:17:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 47, 588130, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17141, 'low': 1.17125, 'close': 1.17141, 'volume': 3.0} | asctime='2026-05-02 16:17:47'
2026-05-02 16:17:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 47, 588778, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17272, 'close': 1.17273, 'volume': 3.0} | asctime='2026-05-02 16:17:47'
2026-05-02 16:17:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 47, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 16:17:47'
2026-05-02 16:17:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 47, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.17086, 'volume': 0.0} | asctime='2026-05-02 16:17:47'
2026-05-02 16:17:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 49, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 16:17:49'
2026-05-02 16:17:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 50, 844000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:17:50'
2026-05-02 16:17:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 51, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17306, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 16:17:51'
2026-05-02 16:17:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 57, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:17:57'
2026-05-02 16:17:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 17, 57, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 16:17:57'
2026-05-02 16:18:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 5, 197389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17159, 'low': 1.17086, 'close': 1.17141, 'volume': 7.0} | asctime='2026-05-02 16:18:05'
2026-05-02 16:18:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 5, 198283, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17295, 'high': 1.17314, 'low': 1.17244, 'close': 1.17273, 'volume': 7.0} | asctime='2026-05-02 16:18:05'
2026-05-02 16:18:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 5, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 16:18:05'
2026-05-02 16:18:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 7, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 16:18:07'
2026-05-02 16:18:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 9, 958000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17321, 'bid_price': 1.17093, 'volume': 0.0} | asctime='2026-05-02 16:18:09'
2026-05-02 16:18:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 11, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 16:18:11'
2026-05-02 16:18:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 29, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 16:18:29'
2026-05-02 16:18:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 29, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:18:29'
2026-05-02 16:18:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 29, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 16:18:29'
2026-05-02 16:18:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 18, 37, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:18:37'
2026-05-02 16:19:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 6, 176539, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.1715, 'low': 1.17091, 'close': 1.1712, 'volume': 8.0} | asctime='2026-05-02 16:19:06'
2026-05-02 16:19:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 6, 177191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17321, 'low': 1.1724, 'close': 1.17276, 'volume': 8.0} | asctime='2026-05-02 16:19:06'
2026-05-02 16:19:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 6, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:19:06'
2026-05-02 16:19:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 8, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 16:19:08'
2026-05-02 16:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 18, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:19:18'
2026-05-02 16:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 46, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 16:19:46'
2026-05-02 16:19:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 48, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 16:19:48'
2026-05-02 16:19:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 49, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 16:19:49'
2026-05-02 16:19:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 53, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 16:19:53'
2026-05-02 16:19:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 19, 53, 851000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 16:19:53'
2026-05-02 16:20:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 22, 714158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17115, 'close': 1.17153, 'volume': 8.0} | asctime='2026-05-02 16:20:22'
2026-05-02 16:20:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 22, 715051, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17274, 'low': 1.17238, 'close': 1.17243, 'volume': 8.0} | asctime='2026-05-02 16:20:22'
2026-05-02 16:20:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 22, 715725, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17122, 'high': 1.17159, 'low': 1.17086, 'close': 1.17153, 'volume': 32.0} | asctime='2026-05-02 16:20:22'
2026-05-02 16:20:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 22, 716406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17321, 'low': 1.17238, 'close': 1.17243, 'volume': 32.0} | asctime='2026-05-02 16:20:22'
2026-05-02 16:20:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 22, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:20:22'
2026-05-02 16:20:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 37, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 16:20:37'
2026-05-02 16:20:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 46, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17177, 'volume': 0.0} | asctime='2026-05-02 16:20:46'
2026-05-02 16:20:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 48, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 16:20:48'
2026-05-02 16:20:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 51, 693000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 16:20:51'
2026-05-02 16:20:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 20, 58, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 16:20:58'
2026-05-02 16:21:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 15, 239782, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17177, 'low': 1.17133, 'close': 1.17164, 'volume': 6.0} | asctime='2026-05-02 16:21:15'
2026-05-02 16:21:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 15, 240699, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17289, 'low': 1.17244, 'close': 1.17254, 'volume': 6.0} | asctime='2026-05-02 16:21:15'
2026-05-02 16:21:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 15, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 16:21:15'
2026-05-02 16:21:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 19, 247000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 16:21:19'
2026-05-02 16:21:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 22, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 16:21:22'
2026-05-02 16:21:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 22, 846000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 16:21:22'
2026-05-02 16:21:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 27, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:21:27'
2026-05-02 16:21:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 36, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 16:21:36'
2026-05-02 16:21:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 40, 722000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 16:21:40'
2026-05-02 16:21:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 41, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 16:21:41'
2026-05-02 16:21:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 45, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:21:46'
2026-05-02 16:21:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 50, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 16:21:50'
2026-05-02 16:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 21, 57, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 16:21:58'
2026-05-02 16:22:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 10, 117344, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1716, 'high': 1.17167, 'low': 1.17117, 'close': 1.17167, 'volume': 11.0} | asctime='2026-05-02 16:22:10'
2026-05-02 16:22:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 10, 118069, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17277, 'low': 1.17227, 'close': 1.17257, 'volume': 11.0} | asctime='2026-05-02 16:22:10'
2026-05-02 16:22:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 10, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 16:22:10'
2026-05-02 16:22:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 10, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:22:10'
2026-05-02 16:22:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 18, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 16:22:18'
2026-05-02 16:22:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 19, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 16:22:19'
2026-05-02 16:22:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 36, 454000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 16:22:36'
2026-05-02 16:22:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 22, 36, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 16:22:36'
2026-05-02 16:23:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 14, 168584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17165, 'low': 1.17114, 'close': 1.17114, 'volume': 6.0} | asctime='2026-05-02 16:23:14'
2026-05-02 16:23:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 14, 169948, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1729, 'high': 1.1729, 'low': 1.17255, 'close': 1.1727, 'volume': 6.0} | asctime='2026-05-02 16:23:14'
2026-05-02 16:23:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 14, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 16:23:14'
2026-05-02 16:23:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 25, 729000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:23:25'
2026-05-02 16:23:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 26, 350000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:23:26'
2026-05-02 16:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 28, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 16:23:28'
2026-05-02 16:23:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 34, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 16:23:34'
2026-05-02 16:23:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 23, 58, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 16:23:58'
2026-05-02 16:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 0, 218946, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17159, 'low': 1.17118, 'close': 1.17159, 'volume': 6.0} | asctime='2026-05-02 16:24:00'
2026-05-02 16:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 0, 219782, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17256, 'low': 1.17229, 'close': 1.17229, 'volume': 6.0} | asctime='2026-05-02 16:24:00'
2026-05-02 16:24:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 0, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 16:24:00'
2026-05-02 16:24:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 17, 366000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 16:24:17'
2026-05-02 16:24:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 21, 214000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:24:21'
2026-05-02 16:24:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 51, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 16:24:51'
2026-05-02 16:24:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 51, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 16:24:51'
2026-05-02 16:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 24, 57, 953000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 16:24:58'
2026-05-02 16:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 10, 568211, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17138, 'low': 1.17116, 'close': 1.17123, 'volume': 6.0} | asctime='2026-05-02 16:25:10'
2026-05-02 16:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 10, 569067, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17279, 'low': 1.17228, 'close': 1.17279, 'volume': 6.0} | asctime='2026-05-02 16:25:10'
2026-05-02 16:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 10, 569666, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17177, 'low': 1.17114, 'close': 1.17123, 'volume': 35.0} | asctime='2026-05-02 16:25:10'
2026-05-02 16:25:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 10, 570387, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.1729, 'low': 1.17227, 'close': 1.17279, 'volume': 35.0} | asctime='2026-05-02 16:25:10'
2026-05-02 16:25:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 10, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 16:25:10'
2026-05-02 16:25:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 32, 337000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 16:25:32'
2026-05-02 16:25:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 35, 437000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 16:25:35'
2026-05-02 16:25:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 52, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:25:53'
2026-05-02 16:25:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 25, 58, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:25:58'
2026-05-02 16:26:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 26, 1, 216976, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17134, 'low': 1.17118, 'close': 1.17127, 'volume': 5.0} | asctime='2026-05-02 16:26:01'
2026-05-02 16:26:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 26, 1, 217886, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17253, 'close': 1.17259, 'volume': 5.0} | asctime='2026-05-02 16:26:01'
2026-05-02 16:26:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 26, 1, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 16:26:01'
2026-05-02 16:26:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 26, 1, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 16:26:01'
2026-05-02 16:26:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 26, 24, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 16:26:24'
2026-05-02 16:26:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 26, 25, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 16:26:25'
2026-05-02 16:26:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 26, 43, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 16:26:43'
2026-05-02 16:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 27, 3, 416705, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.1711, 'close': 1.17118, 'volume': 5.0} | asctime='2026-05-02 16:27:03'
2026-05-02 16:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 27, 3, 417456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17274, 'low': 1.17231, 'close': 1.17274, 'volume': 5.0} | asctime='2026-05-02 16:27:03'
2026-05-02 16:27:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 27, 3, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:27:03'
2026-05-02 16:27:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 27, 9, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17414, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 16:27:09'
2026-05-02 16:27:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 27, 24, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17424, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 16:27:24'
2026-05-02 16:29:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 29, 19, 714881, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.1715, 'low': 1.1712, 'close': 1.1715, 'volume': 3.0} | asctime='2026-05-02 16:29:19'
2026-05-02 16:29:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 29, 19, 716878, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17424, 'low': 1.17276, 'close': 1.17424, 'volume': 3.0} | asctime='2026-05-02 16:29:19'
2026-05-02 16:29:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 29, 19, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17425, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 16:29:19'
2026-05-02 16:29:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 29, 24, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17414, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 16:29:24'
2026-05-02 16:29:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 29, 40, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17425, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 16:29:40'
2026-05-02 16:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 0, 514516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.1714, 'close': 1.17151, 'volume': 3.0} | asctime='2026-05-02 16:30:00'
2026-05-02 16:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 0, 515321, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17425, 'high': 1.17425, 'low': 1.17414, 'close': 1.17425, 'volume': 3.0} | asctime='2026-05-02 16:30:00'
2026-05-02 16:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 0, 516756, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17118, 'high': 1.17151, 'low': 1.1711, 'close': 1.17151, 'volume': 16.0} | asctime='2026-05-02 16:30:00'
2026-05-02 16:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 0, 517969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17274, 'high': 1.17425, 'low': 1.17231, 'close': 1.17425, 'volume': 16.0} | asctime='2026-05-02 16:30:00'
2026-05-02 16:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 0, 518482, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17122, 'high': 1.17177, 'low': 1.17086, 'close': 1.17151, 'volume': 83.0} | asctime='2026-05-02 16:30:00'
2026-05-02 16:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 0, 519816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17254, 'high': 1.17425, 'low': 1.17227, 'close': 1.17425, 'volume': 83.0} | asctime='2026-05-02 16:30:00'
2026-05-02 16:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 0, 436000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:30:00'
2026-05-02 16:30:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 4, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 16:30:04'
2026-05-02 16:30:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 4, 532000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 16:30:04'
2026-05-02 16:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 12, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 16:30:12'
2026-05-02 16:30:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 13, 347000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:30:13'
2026-05-02 16:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 27, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:30:27'
2026-05-02 16:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 56, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 16:30:56'
2026-05-02 16:30:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 30, 57, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 16:30:57'
2026-05-02 16:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 31, 4, 464771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17154, 'low': 1.17115, 'close': 1.17115, 'volume': 8.0} | asctime='2026-05-02 16:31:04'
2026-05-02 16:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 31, 4, 465582, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17278, 'low': 1.17244, 'close': 1.17271, 'volume': 8.0} | asctime='2026-05-02 16:31:04'
2026-05-02 16:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 31, 4, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:31:04'
2026-05-02 16:31:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 31, 49, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 16:31:49'
2026-05-02 16:31:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 31, 52, 767000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 16:31:52'
2026-05-02 16:31:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 31, 52, 891000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:31:52'
2026-05-02 16:32:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 32, 54, 413394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17113, 'close': 1.1712, 'volume': 4.0} | asctime='2026-05-02 16:32:54'
2026-05-02 16:32:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 32, 54, 414291, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17273, 'low': 1.17244, 'close': 1.17252, 'volume': 4.0} | asctime='2026-05-02 16:32:54'
2026-05-02 16:32:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 32, 54, 332000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:32:54'
2026-05-02 16:33:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 33, 26, 562353, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17121, 'low': 1.17121, 'close': 1.17121, 'volume': 1.0} | asctime='2026-05-02 16:33:26'
2026-05-02 16:33:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 33, 26, 563210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17253, 'low': 1.17253, 'close': 1.17253, 'volume': 1.0} | asctime='2026-05-02 16:33:26'
2026-05-02 16:33:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 33, 26, 479000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 16:33:26'
2026-05-02 16:33:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 33, 30, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 16:33:30'
2026-05-02 16:34:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 34, 5, 162782, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.1713, 'close': 1.1713, 'volume': 2.0} | asctime='2026-05-02 16:34:05'
2026-05-02 16:34:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 34, 5, 163738, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17262, 'low': 1.17237, 'close': 1.17262, 'volume': 2.0} | asctime='2026-05-02 16:34:05'
2026-05-02 16:34:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 34, 5, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 16:34:05'
2026-05-02 16:34:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 34, 28, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 16:34:28'
2026-05-02 16:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 34, 40, 332000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 16:34:40'
2026-05-02 16:34:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 34, 42, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 16:34:42'
2026-05-02 16:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 35, 10, 711266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17125, 'close': 1.17141, 'volume': 4.0} | asctime='2026-05-02 16:35:10'
2026-05-02 16:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 35, 10, 712974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17257, 'low': 1.17231, 'close': 1.17231, 'volume': 4.0} | asctime='2026-05-02 16:35:10'
2026-05-02 16:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 35, 10, 714178, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17124, 'high': 1.17158, 'low': 1.17113, 'close': 1.17141, 'volume': 19.0} | asctime='2026-05-02 16:35:10'
2026-05-02 16:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 35, 10, 715342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17256, 'high': 1.17278, 'low': 1.17231, 'close': 1.17231, 'volume': 19.0} | asctime='2026-05-02 16:35:10'
2026-05-02 16:35:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 35, 10, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 16:35:10'
2026-05-02 16:35:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 35, 57, 906000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 16:35:58'
2026-05-02 16:36:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 36, 35, 860521, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17149, 'low': 1.17142, 'close': 1.17149, 'volume': 2.0} | asctime='2026-05-02 16:36:35'
2026-05-02 16:36:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 36, 35, 861380, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17239, 'low': 1.17232, 'close': 1.17239, 'volume': 2.0} | asctime='2026-05-02 16:36:35'
2026-05-02 16:36:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 36, 35, 763000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 16:36:35'
2026-05-02 16:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 36, 50, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:36:50'
2026-05-02 16:37:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 37, 11, 460124, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17154, 'low': 1.17151, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 16:37:11'
2026-05-02 16:37:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 37, 11, 460936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17244, 'low': 1.17241, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 16:37:11'
2026-05-02 16:37:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 37, 11, 387000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 16:37:11'
2026-05-02 16:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 37, 34, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 16:37:34'
2026-05-02 16:37:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 37, 52, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 16:37:52'
2026-05-02 16:38:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 38, 33, 909383, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17168, 'low': 1.17143, 'close': 1.17168, 'volume': 3.0} | asctime='2026-05-02 16:38:33'
2026-05-02 16:38:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 38, 33, 910230, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17275, 'low': 1.17245, 'close': 1.17258, 'volume': 3.0} | asctime='2026-05-02 16:38:33'
2026-05-02 16:38:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 38, 33, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 16:38:33'
2026-05-02 16:39:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 39, 5, 159560, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17136, 'close': 1.17136, 'volume': 1.0} | asctime='2026-05-02 16:39:05'
2026-05-02 16:39:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 39, 5, 160561, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17268, 'close': 1.17268, 'volume': 1.0} | asctime='2026-05-02 16:39:05'
2026-05-02 16:39:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 39, 5, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 16:39:05'
2026-05-02 16:39:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 39, 37, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 16:39:37'
2026-05-02 16:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 40, 3, 358757, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17155, 'close': 1.17155, 'volume': 2.0} | asctime='2026-05-02 16:40:03'
2026-05-02 16:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 40, 3, 360604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17248, 'low': 1.17245, 'close': 1.17245, 'volume': 2.0} | asctime='2026-05-02 16:40:03'
2026-05-02 16:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 40, 3, 361791, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17142, 'high': 1.17168, 'low': 1.17136, 'close': 1.17155, 'volume': 10.0} | asctime='2026-05-02 16:40:03'
2026-05-02 16:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 40, 3, 362635, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17232, 'high': 1.17275, 'low': 1.17232, 'close': 1.17245, 'volume': 10.0} | asctime='2026-05-02 16:40:03'
2026-05-02 16:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 40, 3, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 16:40:03'
2026-05-02 16:40:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 40, 8, 506000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:40:08'
2026-05-02 16:40:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 40, 12, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 16:40:12'
2026-05-02 16:41:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 41, 4, 557947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17125, 'low': 1.17121, 'close': 1.17125, 'volume': 3.0} | asctime='2026-05-02 16:41:04'
2026-05-02 16:41:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 41, 4, 559156, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17281, 'low': 1.17254, 'close': 1.17281, 'volume': 3.0} | asctime='2026-05-02 16:41:04'
2026-05-02 16:41:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 41, 4, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:41:04'
2026-05-02 16:41:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 41, 25, 834000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 16:41:25'
2026-05-02 16:41:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 41, 48, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 16:41:48'
2026-05-02 16:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 41, 56, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 16:41:56'
2026-05-02 16:42:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 42, 24, 758001, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17136, 'low': 1.17122, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 16:42:24'
2026-05-02 16:42:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 42, 24, 759038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17285, 'high': 1.17292, 'low': 1.17278, 'close': 1.17292, 'volume': 4.0} | asctime='2026-05-02 16:42:24'
2026-05-02 16:42:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 42, 24, 668000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 16:42:24'
2026-05-02 16:43:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 43, 33, 906767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17144, 'low': 1.17144, 'close': 1.17144, 'volume': 1.0} | asctime='2026-05-02 16:43:33'
2026-05-02 16:43:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 43, 33, 907954, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.173, 'high': 1.173, 'low': 1.173, 'close': 1.173, 'volume': 1.0} | asctime='2026-05-02 16:43:33'
2026-05-02 16:43:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 43, 33, 804000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 16:43:33'
2026-05-02 16:43:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 43, 34, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 16:43:34'
2026-05-02 16:43:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 43, 35, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:43:35'
2026-05-02 16:43:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 43, 36, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 16:43:36'
2026-05-02 16:43:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 43, 42, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 16:43:42'
2026-05-02 16:44:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 44, 44, 5841, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17124, 'close': 1.17124, 'volume': 5.0} | asctime='2026-05-02 16:44:44'
2026-05-02 16:44:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 44, 44, 7257, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17283, 'low': 1.17256, 'close': 1.17256, 'volume': 5.0} | asctime='2026-05-02 16:44:44'
2026-05-02 16:44:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 44, 43, 933000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:44:44'
2026-05-02 16:44:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 44, 44, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17305, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 16:44:44'
2026-05-02 16:44:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 44, 52, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 16:44:52'
2026-05-02 16:44:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 44, 57, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 16:44:57'
2026-05-02 16:44:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 44, 57, 958000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 16:44:58'
2026-05-02 16:45:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 45, 5, 870993, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17142, 'low': 1.17101, 'close': 1.17127, 'volume': 5.0} | asctime='2026-05-02 16:45:05'
2026-05-02 16:45:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 45, 5, 872439, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17305, 'low': 1.17258, 'close': 1.17259, 'volume': 5.0} | asctime='2026-05-02 16:45:05'
2026-05-02 16:45:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 45, 5, 873480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17122, 'high': 1.17149, 'low': 1.17101, 'close': 1.17127, 'volume': 18.0} | asctime='2026-05-02 16:45:05'
2026-05-02 16:45:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 45, 5, 874391, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17305, 'low': 1.17254, 'close': 1.17259, 'volume': 18.0} | asctime='2026-05-02 16:45:05'
2026-05-02 16:45:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 45, 5, 875182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17124, 'high': 1.17168, 'low': 1.17101, 'close': 1.17127, 'volume': 47.0} | asctime='2026-05-02 16:45:05'
2026-05-02 16:45:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 45, 5, 875814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17256, 'high': 1.17305, 'low': 1.17231, 'close': 1.17259, 'volume': 47.0} | asctime='2026-05-02 16:45:05'
2026-05-02 16:45:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 45, 5, 778000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 16:45:05'
2026-05-02 16:46:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 46, 10, 755317, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17141, 'close': 1.17141, 'volume': 1.0} | asctime='2026-05-02 16:46:10'
2026-05-02 16:46:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 46, 10, 756405, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17231, 'low': 1.17231, 'close': 1.17231, 'volume': 1.0} | asctime='2026-05-02 16:46:10'
2026-05-02 16:46:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 46, 10, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 16:46:10'
2026-05-02 16:46:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 46, 41, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 16:46:41'
2026-05-02 16:46:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 46, 42, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 16:46:42'
2026-05-02 16:46:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 46, 43, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 16:46:43'
2026-05-02 16:46:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 46, 51, 778000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 16:46:51'
2026-05-02 16:47:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 47, 10, 704961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17164, 'low': 1.17131, 'close': 1.17132, 'volume': 5.0} | asctime='2026-05-02 16:47:10'
2026-05-02 16:47:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 47, 10, 705799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17266, 'low': 1.17254, 'close': 1.17264, 'volume': 5.0} | asctime='2026-05-02 16:47:10'
2026-05-02 16:47:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 47, 10, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 16:47:10'
2026-05-02 16:47:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 47, 20, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 16:47:20'
2026-05-02 16:47:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 47, 54, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:47:54'
2026-05-02 16:49:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 49, 0, 953333, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17158, 'low': 1.17128, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 16:49:00'
2026-05-02 16:49:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 49, 0, 954924, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.17244, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 16:49:00'
2026-05-02 16:49:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 49, 0, 865000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 16:49:00'
2026-05-02 16:49:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 49, 52, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 16:49:52'
2026-05-02 16:50:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 50, 17, 653044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17134, 'close': 1.17134, 'volume': 2.0} | asctime='2026-05-02 16:50:17'
2026-05-02 16:50:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 50, 17, 653889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17273, 'low': 1.17266, 'close': 1.17266, 'volume': 2.0} | asctime='2026-05-02 16:50:17'
2026-05-02 16:50:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 50, 17, 654974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17141, 'high': 1.17164, 'low': 1.17128, 'close': 1.17134, 'volume': 11.0} | asctime='2026-05-02 16:50:17'
2026-05-02 16:50:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 50, 17, 655455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17231, 'high': 1.17273, 'low': 1.17231, 'close': 1.17266, 'volume': 11.0} | asctime='2026-05-02 16:50:17'
2026-05-02 16:50:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 50, 17, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 16:50:17'
2026-05-02 16:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 50, 18, 812000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 16:50:18'
2026-05-02 16:50:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 50, 39, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 16:50:39'
2026-05-02 16:51:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 51, 13, 152163, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17103, 'high': 1.1714, 'low': 1.17103, 'close': 1.1714, 'volume': 3.0} | asctime='2026-05-02 16:51:13'
2026-05-02 16:51:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 51, 13, 152794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17286, 'low': 1.17272, 'close': 1.17272, 'volume': 3.0} | asctime='2026-05-02 16:51:13'
2026-05-02 16:51:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 51, 13, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 16:51:13'
2026-05-02 16:51:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 51, 18, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:51:18'
2026-05-02 16:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 51, 33, 906000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 16:51:34'
2026-05-02 16:52:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 52, 2, 551548, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17122, 'low': 1.17112, 'close': 1.17122, 'volume': 3.0} | asctime='2026-05-02 16:52:02'
2026-05-02 16:52:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 52, 2, 553203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17278, 'low': 1.17268, 'close': 1.17278, 'volume': 3.0} | asctime='2026-05-02 16:52:02'
2026-05-02 16:52:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 52, 2, 454000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 16:52:02'
2026-05-02 16:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 52, 10, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 16:52:10'
2026-05-02 16:52:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 52, 46, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17175, 'volume': 0.0} | asctime='2026-05-02 16:52:46'
2026-05-02 16:53:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 53, 33, 501061, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17175, 'low': 1.17125, 'close': 1.17175, 'volume': 3.0} | asctime='2026-05-02 16:53:33'
2026-05-02 16:53:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 53, 33, 502079, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17265, 'close': 1.17265, 'volume': 3.0} | asctime='2026-05-02 16:53:33'
2026-05-02 16:53:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 53, 33, 434000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 16:53:33'
2026-05-02 16:53:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 53, 42, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 16:53:42'
2026-05-02 16:53:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 53, 42, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 16:53:42'
2026-05-02 16:56:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 3, 199814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1717, 'high': 1.1717, 'low': 1.17122, 'close': 1.17122, 'volume': 3.0} | asctime='2026-05-02 16:56:03'
2026-05-02 16:56:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 3, 200708, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17278, 'low': 1.1726, 'close': 1.17278, 'volume': 3.0} | asctime='2026-05-02 16:56:03'
2026-05-02 16:56:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 3, 202160, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17103, 'high': 1.17175, 'low': 1.17103, 'close': 1.17122, 'volume': 12.0} | asctime='2026-05-02 16:56:03'
2026-05-02 16:56:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 3, 203205, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17283, 'high': 1.17286, 'low': 1.1726, 'close': 1.17278, 'volume': 12.0} | asctime='2026-05-02 16:56:03'
2026-05-02 16:56:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 3, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 16:56:03'
2026-05-02 16:56:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 12, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 16:56:12'
2026-05-02 16:56:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 12, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:56:12'
2026-05-02 16:56:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 17, 30000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 16:56:17'
2026-05-02 16:56:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 17, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 16:56:17'
2026-05-02 16:56:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 26, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 16:56:26'
2026-05-02 16:56:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 34, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 16:56:34'
2026-05-02 16:56:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 35, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:56:35'
2026-05-02 16:56:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 56, 35, 400000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 16:56:35'
2026-05-02 16:57:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 57, 0, 448894, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17154, 'low': 1.17121, 'close': 1.17136, 'volume': 9.0} | asctime='2026-05-02 16:57:00'
2026-05-02 16:57:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 57, 0, 450627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17226, 'close': 1.17226, 'volume': 9.0} | asctime='2026-05-02 16:57:00'
2026-05-02 16:57:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 57, 0, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 16:57:00'
2026-05-02 16:57:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 57, 0, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 16:57:00'
2026-05-02 16:57:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 57, 4, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 16:57:04'
2026-05-02 16:57:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 57, 8, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 16:57:08'
2026-05-02 16:58:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 58, 45, 197500, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17147, 'low': 1.171, 'close': 1.17147, 'volume': 4.0} | asctime='2026-05-02 16:58:45'
2026-05-02 16:58:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 58, 45, 198175, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17263, 'low': 1.17237, 'close': 1.17237, 'volume': 4.0} | asctime='2026-05-02 16:58:45'
2026-05-02 16:58:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 58, 45, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:58:45'
2026-05-02 16:58:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 58, 56, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 16:58:56'
2026-05-02 16:58:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 58, 58, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 16:58:58'
2026-05-02 16:59:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 59, 12, 747125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17123, 'low': 1.1712, 'close': 1.17121, 'volume': 3.0} | asctime='2026-05-02 16:59:12'
2026-05-02 16:59:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 59, 12, 747906, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17255, 'low': 1.17252, 'close': 1.17253, 'volume': 3.0} | asctime='2026-05-02 16:59:12'
2026-05-02 16:59:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 16, 59, 12, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 16:59:12'
2026-05-02 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 296766, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.1712, 'low': 1.1712, 'close': 1.1712, 'volume': 1.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 298998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17252, 'close': 1.17252, 'volume': 1.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 300403, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17136, 'high': 1.17154, 'low': 1.171, 'close': 1.1712, 'volume': 17.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 301454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17226, 'close': 1.17252, 'volume': 17.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 302527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17141, 'high': 1.17175, 'low': 1.171, 'close': 1.1712, 'volume': 40.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 303649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17231, 'high': 1.17286, 'low': 1.17226, 'close': 1.17252, 'volume': 40.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 1, 938000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 17:00:01'
2026-05-02 17:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 2, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17057, 'volume': 0.0} | asctime='2026-05-02 17:00:02'
2026-05-02 17:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 2, 932000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17048, 'volume': 0.0} | asctime='2026-05-02 17:00:02'
2026-05-02 17:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 3, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17406, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 17:00:03'
2026-05-02 17:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 4, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 17:00:04'
2026-05-02 17:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 7, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 17:00:07'
2026-05-02 17:00:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 11, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 17:00:11'
2026-05-02 17:00:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 0, 58, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 17:00:58'
2026-05-02 17:01:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 1, 15, 246253, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17152, 'low': 1.17048, 'close': 1.17111, 'volume': 11.0} | asctime='2026-05-02 17:01:15'
2026-05-02 17:01:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 1, 15, 247246, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17406, 'low': 1.17238, 'close': 1.17267, 'volume': 11.0} | asctime='2026-05-02 17:01:15'
2026-05-02 17:01:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 1, 15, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 17:01:15'
2026-05-02 17:02:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 2, 33, 295855, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17116, 'high': 1.17116, 'low': 1.17116, 'close': 1.17116, 'volume': 1.0} | asctime='2026-05-02 17:02:33'
2026-05-02 17:02:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 2, 33, 297576, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17248, 'low': 1.17248, 'close': 1.17248, 'volume': 1.0} | asctime='2026-05-02 17:02:33'
2026-05-02 17:02:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 2, 33, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 17:02:33'
2026-05-02 17:02:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 2, 42, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 17:02:42'
2026-05-02 17:02:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 2, 50, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 17:02:50'
2026-05-02 17:03:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 3, 18, 394664, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17154, 'low': 1.17119, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 17:03:18'
2026-05-02 17:03:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 3, 18, 395763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17251, 'low': 1.17238, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 17:03:18'
2026-05-02 17:03:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 3, 18, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 17:03:18'
2026-05-02 17:03:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 3, 23, 262000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 17:03:23'
2026-05-02 17:03:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 3, 36, 668000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 17:03:36'
2026-05-02 17:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 3, 46, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 17:03:46'
2026-05-02 17:03:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 3, 54, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 17:03:54'
2026-05-02 17:05:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 21, 893552, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17166, 'low': 1.17123, 'close': 1.17166, 'volume': 5.0} | asctime='2026-05-02 17:05:21'
2026-05-02 17:05:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 21, 894181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.1727, 'low': 1.17239, 'close': 1.17256, 'volume': 5.0} | asctime='2026-05-02 17:05:21'
2026-05-02 17:05:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 21, 894671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17148, 'high': 1.17166, 'low': 1.17048, 'close': 1.17166, 'volume': 20.0} | asctime='2026-05-02 17:05:21'
2026-05-02 17:05:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 21, 895272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17238, 'high': 1.17406, 'low': 1.17238, 'close': 1.17256, 'volume': 20.0} | asctime='2026-05-02 17:05:21'
2026-05-02 17:05:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 21, 799000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 17:05:21'
2026-05-02 17:05:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 38, 306000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 17:05:38'
2026-05-02 17:05:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 46, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 17:05:46'
2026-05-02 17:05:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 5, 52, 580000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 17:05:52'
2026-05-02 17:07:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 7, 42, 642643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17114, 'close': 1.1712, 'volume': 4.0} | asctime='2026-05-02 17:07:42'
2026-05-02 17:07:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 7, 42, 643759, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17276, 'low': 1.17268, 'close': 1.17276, 'volume': 4.0} | asctime='2026-05-02 17:07:42'
2026-05-02 17:07:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 7, 42, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 17:07:42'
2026-05-02 17:08:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 8, 8, 191932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1705, 'high': 1.1705, 'low': 1.1705, 'close': 1.1705, 'volume': 1.0} | asctime='2026-05-02 17:08:08'
2026-05-02 17:08:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 8, 8, 192767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17278, 'close': 1.17278, 'volume': 1.0} | asctime='2026-05-02 17:08:08'
2026-05-02 17:08:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 8, 8, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 17:08:08'
2026-05-02 17:08:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 8, 16, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 17:08:16'
2026-05-02 17:08:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 8, 24, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 17:08:24'
2026-05-02 17:09:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 9, 54, 790645, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17133, 'low': 1.17125, 'close': 1.17129, 'volume': 3.0} | asctime='2026-05-02 17:09:54'
2026-05-02 17:09:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 9, 54, 791542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17261, 'close': 1.17261, 'volume': 3.0} | asctime='2026-05-02 17:09:54'
2026-05-02 17:09:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 9, 54, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 17:09:54'
2026-05-02 17:09:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 9, 57, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 17:09:57'
2026-05-02 17:09:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 9, 58, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 17:09:58'
2026-05-02 17:09:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 9, 58, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 17:09:58'
2026-05-02 17:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 2, 890600, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17126, 'close': 1.17131, 'volume': 4.0} | asctime='2026-05-02 17:10:02'
2026-05-02 17:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 2, 891516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17287, 'low': 1.17241, 'close': 1.17287, 'volume': 4.0} | asctime='2026-05-02 17:10:02'
2026-05-02 17:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 2, 891946, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17136, 'high': 1.17151, 'low': 1.1705, 'close': 1.17131, 'volume': 12.0} | asctime='2026-05-02 17:10:02'
2026-05-02 17:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 2, 892303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.17287, 'low': 1.17241, 'close': 1.17287, 'volume': 12.0} | asctime='2026-05-02 17:10:02'
2026-05-02 17:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 2, 808000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 17:10:02'
2026-05-02 17:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 2, 931000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 17:10:02'
2026-05-02 17:10:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 3, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 17:10:03'
2026-05-02 17:10:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 40, 790000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 17:10:40'
2026-05-02 17:10:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 10, 58, 42000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 17:10:58'
2026-05-02 17:11:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 11, 34, 590285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1716, 'high': 1.1716, 'low': 1.17112, 'close': 1.17112, 'volume': 5.0} | asctime='2026-05-02 17:11:34'
2026-05-02 17:11:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 11, 34, 591964, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17273, 'low': 1.17244, 'close': 1.17244, 'volume': 5.0} | asctime='2026-05-02 17:11:34'
2026-05-02 17:11:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 11, 34, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 17:11:34'
2026-05-02 17:11:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 11, 54, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 17:11:54'
2026-05-02 17:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 12, 12, 590687, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17128, 'low': 1.17121, 'close': 1.17128, 'volume': 2.0} | asctime='2026-05-02 17:12:12'
2026-05-02 17:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 12, 12, 591455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.1726, 'low': 1.17253, 'close': 1.1726, 'volume': 2.0} | asctime='2026-05-02 17:12:12'
2026-05-02 17:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 12, 12, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 17:12:12'
2026-05-02 17:12:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 12, 30, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 17:12:30'
2026-05-02 17:13:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 13, 16, 738948, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17148, 'low': 1.17143, 'close': 1.17148, 'volume': 2.0} | asctime='2026-05-02 17:13:16'
2026-05-02 17:13:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 13, 16, 739965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17233, 'high': 1.17238, 'low': 1.17233, 'close': 1.17238, 'volume': 2.0} | asctime='2026-05-02 17:13:16'
2026-05-02 17:13:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 13, 16, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 17:13:16'
2026-05-02 17:14:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 14, 22, 888284, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 17:14:22'
2026-05-02 17:14:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 14, 22, 889195, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 17:14:22'
2026-05-02 17:14:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 14, 22, 840000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 17:14:22'
2026-05-02 17:14:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 14, 30, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 17:14:30'
2026-05-02 17:14:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 14, 42, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 17:14:42'
2026-05-02 17:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 15, 42, 737656, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17163, 'low': 1.17129, 'close': 1.17163, 'volume': 3.0} | asctime='2026-05-02 17:15:42'
2026-05-02 17:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 15, 42, 738203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17264, 'low': 1.17253, 'close': 1.17253, 'volume': 3.0} | asctime='2026-05-02 17:15:42'
2026-05-02 17:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 15, 42, 738592, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1716, 'high': 1.17163, 'low': 1.17112, 'close': 1.17163, 'volume': 13.0} | asctime='2026-05-02 17:15:42'
2026-05-02 17:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 15, 42, 738963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1725, 'high': 1.17273, 'low': 1.17233, 'close': 1.17253, 'volume': 13.0} | asctime='2026-05-02 17:15:42'
2026-05-02 17:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 15, 42, 739325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17148, 'high': 1.17166, 'low': 1.17048, 'close': 1.17163, 'volume': 45.0} | asctime='2026-05-02 17:15:42'
2026-05-02 17:15:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 15, 42, 739706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17238, 'high': 1.17406, 'low': 1.17233, 'close': 1.17253, 'volume': 45.0} | asctime='2026-05-02 17:15:42'
2026-05-02 17:15:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 15, 42, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 17:15:42'
2026-05-02 17:16:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 16, 58, 36432, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 17:16:58'
2026-05-02 17:16:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 16, 58, 37426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 17:16:58'
2026-05-02 17:16:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 16, 57, 992000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 17:16:58'
2026-05-02 17:17:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 17, 13, 86657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17158, 'close': 1.17158, 'volume': 1.0} | asctime='2026-05-02 17:17:13'
2026-05-02 17:17:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 17, 13, 87527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17248, 'low': 1.17248, 'close': 1.17248, 'volume': 1.0} | asctime='2026-05-02 17:17:13'
2026-05-02 17:17:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 17, 13, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 17:17:13'
2026-05-02 17:18:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 18, 3, 835589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17162, 'close': 1.17162, 'volume': 1.0} | asctime='2026-05-02 17:18:03'
2026-05-02 17:18:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 18, 3, 836280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17252, 'close': 1.17252, 'volume': 1.0} | asctime='2026-05-02 17:18:03'
2026-05-02 17:18:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 18, 3, 777000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 17:18:03'
2026-05-02 17:18:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 18, 12, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 17:18:12'
2026-05-02 17:18:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 18, 14, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 17:18:14'
2026-05-02 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 2, 636300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17161, 'low': 1.1715, 'close': 1.17161, 'volume': 3.0} | asctime='2026-05-02 17:20:02'
2026-05-02 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 2, 644506, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17231, 'close': 1.17231, 'volume': 3.0} | asctime='2026-05-02 17:20:02'
2026-05-02 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 2, 649671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17162, 'low': 1.1715, 'close': 1.17161, 'volume': 6.0} | asctime='2026-05-02 17:20:02'
2026-05-02 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 2, 650929, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.17252, 'low': 1.17231, 'close': 1.17231, 'volume': 6.0} | asctime='2026-05-02 17:20:02'
2026-05-02 17:20:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 2, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 17:20:02'
2026-05-02 17:20:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 33, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 17:20:33'
2026-05-02 17:20:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 34, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 17:20:34'
2026-05-02 17:20:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 20, 44, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 17:20:44'
2026-05-02 17:22:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 22, 32, 583316, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17145, 'close': 1.17145, 'volume': 4.0} | asctime='2026-05-02 17:22:32'
2026-05-02 17:22:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 22, 32, 584273, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17235, 'close': 1.17235, 'volume': 4.0} | asctime='2026-05-02 17:22:32'
2026-05-02 17:22:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 22, 32, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 17:22:32'
2026-05-02 17:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 22, 51, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 17:22:52'
2026-05-02 17:23:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 23, 5, 182813, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17149, 'low': 1.17132, 'close': 1.17149, 'volume': 2.0} | asctime='2026-05-02 17:23:05'
2026-05-02 17:23:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 23, 5, 183749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17239, 'close': 1.17239, 'volume': 2.0} | asctime='2026-05-02 17:23:05'
2026-05-02 17:23:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 23, 5, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 17:23:05'
2026-05-02 17:23:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 23, 12, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 17:23:13'
2026-05-02 17:23:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 23, 22, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 17:23:22'
2026-05-02 17:24:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 30, 82841, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17133, 'close': 1.17159, 'volume': 3.0} | asctime='2026-05-02 17:24:30'
2026-05-02 17:24:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 30, 83834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17265, 'low': 1.17249, 'close': 1.17249, 'volume': 3.0} | asctime='2026-05-02 17:24:30'
2026-05-02 17:24:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 30, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 17:24:30'
2026-05-02 17:24:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 30, 413000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 17:24:30'
2026-05-02 17:24:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 30, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 17:24:30'
2026-05-02 17:24:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 36, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 17:24:36'
2026-05-02 17:24:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 38, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 17:24:38'
2026-05-02 17:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 24, 57, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 17:24:57'
2026-05-02 17:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 25, 4, 631831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17114, 'close': 1.17119, 'volume': 6.0} | asctime='2026-05-02 17:25:04'
2026-05-02 17:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 25, 4, 632702, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.1727, 'low': 1.17249, 'close': 1.17251, 'volume': 6.0} | asctime='2026-05-02 17:25:04'
2026-05-02 17:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 25, 4, 633902, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17159, 'low': 1.17114, 'close': 1.17119, 'volume': 15.0} | asctime='2026-05-02 17:25:04'
2026-05-02 17:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 25, 4, 634983, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.1727, 'low': 1.17235, 'close': 1.17251, 'volume': 15.0} | asctime='2026-05-02 17:25:04'
2026-05-02 17:25:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 25, 4, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 17:25:04'
2026-05-02 17:25:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 25, 58, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 17:25:58'
2026-05-02 17:26:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 26, 8, 680868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17119, 'low': 1.17117, 'close': 1.17119, 'volume': 2.0} | asctime='2026-05-02 17:26:08'
2026-05-02 17:26:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 26, 8, 681428, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17275, 'low': 1.17273, 'close': 1.17275, 'volume': 2.0} | asctime='2026-05-02 17:26:08'
2026-05-02 17:26:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 26, 8, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 17:26:08'
2026-05-02 17:27:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 27, 6, 731051, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.1714, 'low': 1.1714, 'close': 1.1714, 'volume': 1.0} | asctime='2026-05-02 17:27:06'
2026-05-02 17:27:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 27, 6, 731871, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17272, 'low': 1.17272, 'close': 1.17272, 'volume': 1.0} | asctime='2026-05-02 17:27:06'
2026-05-02 17:27:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 27, 6, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 17:27:06'
2026-05-02 17:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 27, 12, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 17:27:12'
2026-05-02 17:27:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 27, 36, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 17:27:36'
2026-05-02 17:28:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 28, 38, 229473, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17154, 'low': 1.17136, 'close': 1.17139, 'volume': 3.0} | asctime='2026-05-02 17:28:38'
2026-05-02 17:28:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 28, 38, 231266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17271, 'low': 1.17244, 'close': 1.17271, 'volume': 3.0} | asctime='2026-05-02 17:28:38'
2026-05-02 17:28:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 28, 38, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 17:28:38'
2026-05-02 17:29:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 29, 229654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17167, 'high': 1.17167, 'low': 1.17167, 'close': 1.17167, 'volume': 1.0} | asctime='2026-05-02 17:29:29'
2026-05-02 17:29:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 29, 231020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17257, 'close': 1.17257, 'volume': 1.0} | asctime='2026-05-02 17:29:29'
2026-05-02 17:29:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 29, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 17:29:29'
2026-05-02 17:29:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 30, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 17:29:30'
2026-05-02 17:29:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 31, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 17:29:31'
2026-05-02 17:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 57, 223000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 17:29:57'
2026-05-02 17:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 57, 470000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17418, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 17:29:57'
2026-05-02 17:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 58, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 17:29:58'
2026-05-02 17:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 58, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 17:29:58'
2026-05-02 17:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 58, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 17:29:58'
2026-05-02 17:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 59, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 17:29:59'
2026-05-02 17:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 29, 59, 580000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 17:29:59'
2026-05-02 17:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 0, 629516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17144, 'low': 1.17115, 'close': 1.17127, 'volume': 10.0} | asctime='2026-05-02 17:30:00'
2026-05-02 17:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 0, 631196, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17293, 'high': 1.17418, 'low': 1.17234, 'close': 1.17259, 'volume': 10.0} | asctime='2026-05-02 17:30:00'
2026-05-02 17:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 0, 632528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17117, 'high': 1.17167, 'low': 1.17115, 'close': 1.17127, 'volume': 17.0} | asctime='2026-05-02 17:30:00'
2026-05-02 17:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 0, 633494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17273, 'high': 1.17418, 'low': 1.17234, 'close': 1.17259, 'volume': 17.0} | asctime='2026-05-02 17:30:00'
2026-05-02 17:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 0, 634297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17154, 'high': 1.17167, 'low': 1.17114, 'close': 1.17127, 'volume': 38.0} | asctime='2026-05-02 17:30:00'
2026-05-02 17:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 0, 634921, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17244, 'high': 1.17418, 'low': 1.17231, 'close': 1.17259, 'volume': 38.0} | asctime='2026-05-02 17:30:00'
2026-05-02 17:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 0, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 17:30:00'
2026-05-02 17:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 1, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 17:30:01'
2026-05-02 17:30:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 3, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 17:30:03'
2026-05-02 17:30:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 9, 758000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 17:30:09'
2026-05-02 17:30:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 10, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 17:30:10'
2026-05-02 17:30:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 51, 835000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17051, 'volume': 0.0} | asctime='2026-05-02 17:30:51'
2026-05-02 17:30:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 30, 54, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.17086, 'volume': 0.0} | asctime='2026-05-02 17:30:54'
2026-05-02 17:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 31, 0, 78790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17158, 'low': 1.17051, 'close': 1.17086, 'volume': 7.0} | asctime='2026-05-02 17:31:00'
2026-05-02 17:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 31, 0, 79701, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17232, 'high': 1.17314, 'low': 1.17232, 'close': 1.17314, 'volume': 7.0} | asctime='2026-05-02 17:31:00'
2026-05-02 17:31:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 31, 0, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 17:31:00'
2026-05-02 17:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 31, 4, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 17:31:04'
2026-05-02 17:31:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 31, 55, 385000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 17:31:55'
2026-05-02 17:32:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 32, 47, 826852, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17089, 'high': 1.17143, 'low': 1.17089, 'close': 1.17143, 'volume': 3.0} | asctime='2026-05-02 17:32:47'
2026-05-02 17:32:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 32, 47, 827936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17293, 'high': 1.17293, 'low': 1.17273, 'close': 1.17275, 'volume': 3.0} | asctime='2026-05-02 17:32:47'
2026-05-02 17:32:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 32, 47, 766000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 17:32:47'
2026-05-02 17:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 32, 58, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 17:32:58'
2026-05-02 17:33:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 33, 24, 676796, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17153, 'low': 1.17142, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 17:33:24'
2026-05-02 17:33:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 33, 24, 677480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 17:33:24'
2026-05-02 17:33:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 33, 24, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 17:33:24'
2026-05-02 17:33:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 33, 48, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 17:33:48'
2026-05-02 17:34:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 34, 25, 276365, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17125, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 17:34:25'
2026-05-02 17:34:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 34, 25, 277032, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17257, 'low': 1.17244, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 17:34:25'
2026-05-02 17:34:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 34, 25, 201000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 17:34:25'
2026-05-02 17:34:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 34, 44, 938000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 17:34:44'
2026-05-02 17:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 18, 775656, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17129, 'low': 1.17127, 'close': 1.17129, 'volume': 2.0} | asctime='2026-05-02 17:35:18'
2026-05-02 17:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 18, 777141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17261, 'low': 1.17259, 'close': 1.17261, 'volume': 2.0} | asctime='2026-05-02 17:35:18'
2026-05-02 17:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 18, 778180, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17142, 'high': 1.17158, 'low': 1.17051, 'close': 1.17129, 'volume': 16.0} | asctime='2026-05-02 17:35:18'
2026-05-02 17:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 18, 778633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17232, 'high': 1.17314, 'low': 1.17232, 'close': 1.17261, 'volume': 16.0} | asctime='2026-05-02 17:35:18'
2026-05-02 17:35:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 18, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 17:35:18'
2026-05-02 17:35:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 26, 393000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 17:35:26'
2026-05-02 17:35:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 26, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 17:35:26'
2026-05-02 17:35:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 26, 765000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 17:35:26'
2026-05-02 17:35:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 27, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 17:35:27'
2026-05-02 17:35:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 50, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17423, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 17:35:50'
2026-05-02 17:35:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 35, 56, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 17:35:56'
2026-05-02 17:36:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 36, 51, 474994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17159, 'low': 1.17126, 'close': 1.17137, 'volume': 7.0} | asctime='2026-05-02 17:36:51'
2026-05-02 17:36:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 36, 51, 476112, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17423, 'low': 1.17249, 'close': 1.17269, 'volume': 7.0} | asctime='2026-05-02 17:36:51'
2026-05-02 17:36:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 36, 51, 417000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 17:36:51'
2026-05-02 17:36:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 36, 54, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17039, 'volume': 0.0} | asctime='2026-05-02 17:36:54'
2026-05-02 17:36:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 36, 57, 996000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17042, 'volume': 0.0} | asctime='2026-05-02 17:36:58'
2026-05-02 17:39:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 39, 13, 723533, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17047, 'high': 1.17047, 'low': 1.17039, 'close': 1.17042, 'volume': 3.0} | asctime='2026-05-02 17:39:13'
2026-05-02 17:39:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 39, 13, 724353, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17267, 'close': 1.1727, 'volume': 3.0} | asctime='2026-05-02 17:39:13'
2026-05-02 17:39:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 39, 13, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17039, 'volume': 0.0} | asctime='2026-05-02 17:39:13'
2026-05-02 17:39:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 39, 22, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17045, 'volume': 0.0} | asctime='2026-05-02 17:39:22'
2026-05-02 17:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 40, 28, 573287, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17039, 'high': 1.17045, 'low': 1.17039, 'close': 1.17045, 'volume': 2.0} | asctime='2026-05-02 17:40:28'
2026-05-02 17:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 40, 28, 574267, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17273, 'low': 1.17267, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 17:40:28'
2026-05-02 17:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 40, 28, 574890, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17132, 'high': 1.17159, 'low': 1.17039, 'close': 1.17045, 'volume': 12.0} | asctime='2026-05-02 17:40:28'
2026-05-02 17:40:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 40, 28, 575399, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17264, 'high': 1.17423, 'low': 1.17249, 'close': 1.17273, 'volume': 12.0} | asctime='2026-05-02 17:40:28'
2026-05-02 17:40:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 40, 28, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17039, 'volume': 0.0} | asctime='2026-05-02 17:40:28'
2026-05-02 17:40:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 40, 32, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 17:40:32'
2026-05-02 17:40:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 40, 37, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 17:40:37'
2026-05-02 17:41:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 41, 43, 272093, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17039, 'high': 1.17119, 'low': 1.17039, 'close': 1.17119, 'volume': 3.0} | asctime='2026-05-02 17:41:43'
2026-05-02 17:41:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 41, 43, 273144, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17251, 'close': 1.17251, 'volume': 3.0} | asctime='2026-05-02 17:41:43'
2026-05-02 17:41:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 41, 43, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 17:41:43'
2026-05-02 17:41:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 41, 52, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 17:41:52'
2026-05-02 17:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 41, 57, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 17:41:58'
2026-05-02 17:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 42, 9, 221379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17122, 'close': 1.17127, 'volume': 3.0} | asctime='2026-05-02 17:42:09'
2026-05-02 17:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 42, 9, 223824, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17227, 'high': 1.17259, 'low': 1.17227, 'close': 1.17259, 'volume': 3.0} | asctime='2026-05-02 17:42:09'
2026-05-02 17:42:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 42, 9, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 17:42:09'
2026-05-02 17:43:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 43, 44, 170958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17147, 'close': 1.17147, 'volume': 1.0} | asctime='2026-05-02 17:43:44'
2026-05-02 17:43:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 43, 44, 172030, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17237, 'low': 1.17237, 'close': 1.17237, 'volume': 1.0} | asctime='2026-05-02 17:43:44'
2026-05-02 17:43:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 43, 44, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17409, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 17:43:44'
2026-05-02 17:43:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 43, 45, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17416, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 17:43:45'
2026-05-02 17:43:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 43, 46, 478000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17408, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 17:43:46'
2026-05-02 17:43:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 43, 54, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17412, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 17:43:54'
2026-05-02 17:44:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 44, 8, 770573, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17142, 'low': 1.17134, 'close': 1.17138, 'volume': 4.0} | asctime='2026-05-02 17:44:08'
2026-05-02 17:44:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 44, 8, 772011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17409, 'high': 1.17416, 'low': 1.17408, 'close': 1.17412, 'volume': 4.0} | asctime='2026-05-02 17:44:08'
2026-05-02 17:44:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 44, 8, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17427, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 17:44:08'
2026-05-02 17:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 16, 221008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 17:46:16'
2026-05-02 17:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 16, 222443, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17427, 'high': 1.17427, 'low': 1.17427, 'close': 1.17427, 'volume': 1.0} | asctime='2026-05-02 17:46:16'
2026-05-02 17:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 16, 223362, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17039, 'high': 1.17153, 'low': 1.17039, 'close': 1.17153, 'volume': 12.0} | asctime='2026-05-02 17:46:16'
2026-05-02 17:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 16, 224183, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17267, 'high': 1.17427, 'low': 1.17227, 'close': 1.17427, 'volume': 12.0} | asctime='2026-05-02 17:46:16'
2026-05-02 17:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 16, 224991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17142, 'high': 1.17159, 'low': 1.17039, 'close': 1.17153, 'volume': 40.0} | asctime='2026-05-02 17:46:16'
2026-05-02 17:46:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 16, 226284, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17232, 'high': 1.17427, 'low': 1.17227, 'close': 1.17427, 'volume': 40.0} | asctime='2026-05-02 17:46:16'
2026-05-02 17:46:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 16, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 17:46:16'
2026-05-02 17:46:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 46, 18, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 17:46:18'
2026-05-02 17:48:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 48, 44, 167391, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17145, 'low': 1.17125, 'close': 1.17145, 'volume': 2.0} | asctime='2026-05-02 17:48:44'
2026-05-02 17:48:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 48, 44, 183333, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17235, 'close': 1.17235, 'volume': 2.0} | asctime='2026-05-02 17:48:44'
2026-05-02 17:48:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 48, 44, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 17:48:44'
2026-05-02 17:48:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 48, 54, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 17:48:54'
2026-05-02 17:49:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 49, 8, 17411, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17128, 'close': 1.17128, 'volume': 2.0} | asctime='2026-05-02 17:49:08'
2026-05-02 17:49:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 49, 8, 18675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1726, 'low': 1.1724, 'close': 1.1726, 'volume': 2.0} | asctime='2026-05-02 17:49:08'
2026-05-02 17:49:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 49, 7, 958000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 17:49:08'
2026-05-02 17:49:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 49, 10, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 17:49:10'
2026-05-02 17:49:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 49, 16, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 17:49:16'
2026-05-02 17:51:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 40, 566124, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17127, 'low': 1.17124, 'close': 1.17124, 'volume': 3.0} | asctime='2026-05-02 17:51:40'
2026-05-02 17:51:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 40, 566945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17259, 'low': 1.17256, 'close': 1.17256, 'volume': 3.0} | asctime='2026-05-02 17:51:40'
2026-05-02 17:51:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 40, 567998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.1715, 'low': 1.17124, 'close': 1.17124, 'volume': 7.0} | asctime='2026-05-02 17:51:40'
2026-05-02 17:51:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 40, 568596, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17257, 'high': 1.1726, 'low': 1.17235, 'close': 1.17256, 'volume': 7.0} | asctime='2026-05-02 17:51:40'
2026-05-02 17:51:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 40, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 17:51:40'
2026-05-02 17:51:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 54, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 17:51:54'
2026-05-02 17:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 55, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 17:51:55'
2026-05-02 17:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 55, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 17:51:55'
2026-05-02 17:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 55, 765000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 17:51:55'
2026-05-02 17:51:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 51, 57, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 17:51:58'
2026-05-02 17:52:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 52, 22, 16229, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17138, 'low': 1.17108, 'close': 1.17138, 'volume': 6.0} | asctime='2026-05-02 17:52:22'
2026-05-02 17:52:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 52, 22, 16850, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17276, 'low': 1.17249, 'close': 1.1727, 'volume': 6.0} | asctime='2026-05-02 17:52:22'
2026-05-02 17:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 52, 21, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 17:52:22'
2026-05-02 17:52:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 52, 30, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 17:52:30'
2026-05-02 17:54:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 54, 26, 764978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17171, 'low': 1.17147, 'close': 1.17171, 'volume': 2.0} | asctime='2026-05-02 17:54:26'
2026-05-02 17:54:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 54, 26, 765800, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17279, 'high': 1.17279, 'low': 1.17261, 'close': 1.17261, 'volume': 2.0} | asctime='2026-05-02 17:54:26'
2026-05-02 17:54:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 54, 26, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 17:54:26'
2026-05-02 17:54:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 54, 51, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 17:54:51'
2026-05-02 17:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 55, 0, 763945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17145, 'low': 1.17119, 'close': 1.17145, 'volume': 2.0} | asctime='2026-05-02 17:55:00'
2026-05-02 17:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 55, 0, 764722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17277, 'low': 1.17275, 'close': 1.17277, 'volume': 2.0} | asctime='2026-05-02 17:55:00'
2026-05-02 17:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 55, 0, 765963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17134, 'high': 1.17171, 'low': 1.17108, 'close': 1.17145, 'volume': 10.0} | asctime='2026-05-02 17:55:00'
2026-05-02 17:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 55, 0, 767490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17266, 'high': 1.17279, 'low': 1.17249, 'close': 1.17277, 'volume': 10.0} | asctime='2026-05-02 17:55:00'
2026-05-02 17:55:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 55, 0, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 17:55:00'
2026-05-02 17:56:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 56, 56, 562540, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17164, 'high': 1.17164, 'low': 1.17164, 'close': 1.17164, 'volume': 1.0} | asctime='2026-05-02 17:56:56'
2026-05-02 17:56:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 56, 56, 563627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17254, 'low': 1.17254, 'close': 1.17254, 'volume': 1.0} | asctime='2026-05-02 17:56:56'
2026-05-02 17:56:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 56, 56, 508000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 17:56:56'
2026-05-02 17:57:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 57, 21, 262732, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17159, 'close': 1.17159, 'volume': 1.0} | asctime='2026-05-02 17:57:21'
2026-05-02 17:57:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 57, 21, 263475, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 17:57:21'
2026-05-02 17:57:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 57, 21, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 17:57:21'
2026-05-02 17:57:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 57, 22, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 17:57:22'
2026-05-02 17:57:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 57, 30, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 17:57:30'
2026-05-02 17:59:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 59, 51, 62023, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17152, 'low': 1.17133, 'close': 1.17152, 'volume': 3.0} | asctime='2026-05-02 17:59:51'
2026-05-02 17:59:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 59, 51, 63766, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17239, 'close': 1.17242, 'volume': 3.0} | asctime='2026-05-02 17:59:51'
2026-05-02 17:59:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 59, 51, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 17:59:51'
2026-05-02 17:59:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 17, 59, 52, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 17:59:52'
2026-05-02 18:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 0, 860999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17153, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 18:00:00'
2026-05-02 18:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 0, 861705, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 18:00:00'
2026-05-02 18:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 0, 862338, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17164, 'high': 1.17164, 'low': 1.17133, 'close': 1.17153, 'volume': 7.0} | asctime='2026-05-02 18:00:00'
2026-05-02 18:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 0, 862750, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17265, 'low': 1.17239, 'close': 1.17243, 'volume': 7.0} | asctime='2026-05-02 18:00:00'
2026-05-02 18:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 0, 863117, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17125, 'high': 1.17171, 'low': 1.17108, 'close': 1.17153, 'volume': 24.0} | asctime='2026-05-02 18:00:00'
2026-05-02 18:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 0, 863458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17257, 'high': 1.17279, 'low': 1.17235, 'close': 1.17243, 'volume': 24.0} | asctime='2026-05-02 18:00:00'
2026-05-02 18:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 0, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 18:00:00'
2026-05-02 18:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 10, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 18:00:10'
2026-05-02 18:00:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 37, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17407, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 18:00:37'
2026-05-02 18:00:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 46, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17416, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 18:00:46'
2026-05-02 18:00:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 0, 54, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 18:00:54'
2026-05-02 18:01:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 1, 58, 509823, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17123, 'close': 1.17126, 'volume': 5.0} | asctime='2026-05-02 18:01:58'
2026-05-02 18:01:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 1, 58, 510419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17416, 'low': 1.17238, 'close': 1.17258, 'volume': 5.0} | asctime='2026-05-02 18:01:58'
2026-05-02 18:01:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 1, 58, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 18:01:58'
2026-05-02 18:02:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 2, 36, 659120, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 18:02:36'
2026-05-02 18:02:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 2, 36, 660265, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 18:02:36'
2026-05-02 18:02:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 2, 36, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 18:02:36'
2026-05-02 18:03:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 3, 3, 59594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17152, 'high': 1.17152, 'low': 1.17152, 'close': 1.17152, 'volume': 1.0} | asctime='2026-05-02 18:03:03'
2026-05-02 18:03:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 3, 3, 60780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17242, 'high': 1.17242, 'low': 1.17242, 'close': 1.17242, 'volume': 1.0} | asctime='2026-05-02 18:03:03'
2026-05-02 18:03:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 3, 3, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17419, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 18:03:03'
2026-05-02 18:03:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 3, 5, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 18:03:05'
2026-05-02 18:03:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 3, 8, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 18:03:08'
2026-05-02 18:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 3, 46, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 18:03:46'
2026-05-02 18:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 4, 0, 909131, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.1716, 'low': 1.17132, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 18:04:00'
2026-05-02 18:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 4, 0, 910278, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17419, 'high': 1.17419, 'low': 1.17244, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 18:04:00'
2026-05-02 18:04:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 4, 0, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 18:04:00'
2026-05-02 18:04:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 4, 4, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 18:04:05'
2026-05-02 18:04:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 4, 38, 485000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 18:04:38'
2026-05-02 18:04:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 4, 42, 706000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.17092, 'volume': 0.0} | asctime='2026-05-02 18:04:42'
2026-05-02 18:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 5, 10, 657555, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17092, 'close': 1.17092, 'volume': 4.0} | asctime='2026-05-02 18:05:10'
2026-05-02 18:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 5, 10, 658917, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17296, 'low': 1.17238, 'close': 1.17296, 'volume': 4.0} | asctime='2026-05-02 18:05:10'
2026-05-02 18:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 5, 10, 659649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17148, 'high': 1.1716, 'low': 1.17092, 'close': 1.17092, 'volume': 15.0} | asctime='2026-05-02 18:05:10'
2026-05-02 18:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 5, 10, 660775, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17238, 'high': 1.17419, 'low': 1.17238, 'close': 1.17296, 'volume': 15.0} | asctime='2026-05-02 18:05:10'
2026-05-02 18:05:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 5, 10, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 18:05:10'
2026-05-02 18:05:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 5, 40, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17174, 'volume': 0.0} | asctime='2026-05-02 18:05:40'
2026-05-02 18:06:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 6, 34, 307394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17174, 'low': 1.17146, 'close': 1.17174, 'volume': 2.0} | asctime='2026-05-02 18:06:34'
2026-05-02 18:06:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 6, 34, 308137, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17302, 'high': 1.17302, 'low': 1.17264, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 18:06:34'
2026-05-02 18:06:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 6, 34, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 18:06:34'
2026-05-02 18:06:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 6, 38, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 18:06:38'
2026-05-02 18:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 7, 17, 506410, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17145, 'low': 1.17141, 'close': 1.17141, 'volume': 2.0} | asctime='2026-05-02 18:07:17'
2026-05-02 18:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 7, 17, 507883, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17277, 'low': 1.17273, 'close': 1.17273, 'volume': 2.0} | asctime='2026-05-02 18:07:17'
2026-05-02 18:07:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 7, 17, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 18:07:17'
2026-05-02 18:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 7, 22, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 18:07:22'
2026-05-02 18:07:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 7, 40, 693000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 18:07:40'
2026-05-02 18:08:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 8, 50, 755716, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17168, 'low': 1.17141, 'close': 1.17168, 'volume': 3.0} | asctime='2026-05-02 18:08:50'
2026-05-02 18:08:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 8, 50, 756861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17273, 'low': 1.17245, 'close': 1.17258, 'volume': 3.0} | asctime='2026-05-02 18:08:50'
2026-05-02 18:08:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 8, 50, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 18:08:50'
2026-05-02 18:09:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 9, 18, 655851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17163, 'high': 1.17163, 'low': 1.17163, 'close': 1.17163, 'volume': 1.0} | asctime='2026-05-02 18:09:18'
2026-05-02 18:09:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 9, 18, 657507, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17253, 'low': 1.17253, 'close': 1.17253, 'volume': 1.0} | asctime='2026-05-02 18:09:18'
2026-05-02 18:09:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 9, 18, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 18:09:18'
2026-05-02 18:09:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 9, 38, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 18:09:38'
2026-05-02 18:09:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 9, 48, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 18:09:48'
2026-05-02 18:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 1, 255503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17162, 'high': 1.17162, 'low': 1.17109, 'close': 1.17134, 'volume': 3.0} | asctime='2026-05-02 18:10:01'
2026-05-02 18:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 1, 256204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17266, 'low': 1.17252, 'close': 1.17266, 'volume': 3.0} | asctime='2026-05-02 18:10:01'
2026-05-02 18:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 1, 256738, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17146, 'high': 1.17174, 'low': 1.17109, 'close': 1.17134, 'volume': 11.0} | asctime='2026-05-02 18:10:01'
2026-05-02 18:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 1, 257153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17302, 'high': 1.17302, 'low': 1.17245, 'close': 1.17266, 'volume': 11.0} | asctime='2026-05-02 18:10:01'
2026-05-02 18:10:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 1, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 18:10:01'
2026-05-02 18:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 2, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 18:10:02'
2026-05-02 18:10:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 17, 459000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 18:10:17'
2026-05-02 18:10:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 26, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 18:10:26'
2026-05-02 18:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 10, 44, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 18:10:44'
2026-05-02 18:11:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 11, 41, 404449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17162, 'low': 1.17132, 'close': 1.17162, 'volume': 5.0} | asctime='2026-05-02 18:11:41'
2026-05-02 18:11:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 11, 41, 405331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17265, 'low': 1.17237, 'close': 1.17252, 'volume': 5.0} | asctime='2026-05-02 18:11:41'
2026-05-02 18:11:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 11, 41, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 18:11:41'
2026-05-02 18:11:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 11, 41, 736000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 18:11:41'
2026-05-02 18:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 11, 44, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 18:11:44'
2026-05-02 18:11:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 11, 50, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 18:11:50'
2026-05-02 18:12:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 12, 8, 703468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.1711, 'close': 1.17119, 'volume': 4.0} | asctime='2026-05-02 18:12:08'
2026-05-02 18:12:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 12, 8, 704517, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17266, 'low': 1.17247, 'close': 1.17251, 'volume': 4.0} | asctime='2026-05-02 18:12:08'
2026-05-02 18:12:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 12, 8, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 18:12:08'
2026-05-02 18:14:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 14, 14, 552634, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17148, 'close': 1.17148, 'volume': 1.0} | asctime='2026-05-02 18:14:14'
2026-05-02 18:14:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 14, 14, 553454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17238, 'low': 1.17238, 'close': 1.17238, 'volume': 1.0} | asctime='2026-05-02 18:14:14'
2026-05-02 18:14:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 14, 14, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 18:14:14'
2026-05-02 18:14:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 14, 20, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 18:14:20'
2026-05-02 18:14:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 14, 20, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 18:14:20'
2026-05-02 18:14:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 14, 38, 485000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 18:14:38'
2026-05-02 18:15:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 15, 56, 701292, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17157, 'low': 1.17154, 'close': 1.17156, 'volume': 4.0} | asctime='2026-05-02 18:15:56'
2026-05-02 18:15:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 15, 56, 702173, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17247, 'low': 1.17244, 'close': 1.17246, 'volume': 4.0} | asctime='2026-05-02 18:15:56'
2026-05-02 18:15:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 15, 56, 703249, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17132, 'high': 1.17162, 'low': 1.1711, 'close': 1.17156, 'volume': 14.0} | asctime='2026-05-02 18:15:56'
2026-05-02 18:15:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 15, 56, 703698, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17264, 'high': 1.17266, 'low': 1.17237, 'close': 1.17246, 'volume': 14.0} | asctime='2026-05-02 18:15:56'
2026-05-02 18:15:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 15, 56, 704167, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17148, 'high': 1.17174, 'low': 1.17092, 'close': 1.17156, 'volume': 40.0} | asctime='2026-05-02 18:15:56'
2026-05-02 18:15:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 15, 56, 704573, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17238, 'high': 1.17419, 'low': 1.17237, 'close': 1.17246, 'volume': 40.0} | asctime='2026-05-02 18:15:56'
2026-05-02 18:15:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 15, 56, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 18:15:56'
2026-05-02 18:16:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 16, 44, 501694, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 18:16:44'
2026-05-02 18:16:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 16, 44, 503050, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 18:16:44'
2026-05-02 18:16:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 16, 44, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 18:16:44'
2026-05-02 18:16:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 16, 53, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 18:16:53'
2026-05-02 18:17:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 17, 55, 429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17133, 'low': 1.17127, 'close': 1.17133, 'volume': 2.0} | asctime='2026-05-02 18:17:55'
2026-05-02 18:17:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 17, 55, 2148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17265, 'low': 1.17259, 'close': 1.17265, 'volume': 2.0} | asctime='2026-05-02 18:17:55'
2026-05-02 18:17:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 17, 54, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 18:17:55'
2026-05-02 18:17:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 17, 58, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 18:17:58'
2026-05-02 18:18:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 30, 249741, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17139, 'low': 1.17131, 'close': 1.17139, 'volume': 2.0} | asctime='2026-05-02 18:18:30'
2026-05-02 18:18:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 30, 250637, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17287, 'high': 1.17295, 'low': 1.17287, 'close': 1.17295, 'volume': 2.0} | asctime='2026-05-02 18:18:30'
2026-05-02 18:18:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 30, 217000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 18:18:30'
2026-05-02 18:18:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 33, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 18:18:33'
2026-05-02 18:18:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 36, 423000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 18:18:36'
2026-05-02 18:18:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 37, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 18:18:37'
2026-05-02 18:18:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 38, 285000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 18:18:38'
2026-05-02 18:18:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 45, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 18:18:45'
2026-05-02 18:18:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 50, 449000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 18:18:50'
2026-05-02 18:18:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 56, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 18:18:56'
2026-05-02 18:18:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 18, 58, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 18:18:58'
2026-05-02 18:19:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 19, 29, 849774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17161, 'high': 1.17161, 'low': 1.17119, 'close': 1.1715, 'volume': 9.0} | asctime='2026-05-02 18:19:29'
2026-05-02 18:19:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 19, 29, 850454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17293, 'high': 1.17293, 'low': 1.1724, 'close': 1.1724, 'volume': 9.0} | asctime='2026-05-02 18:19:29'
2026-05-02 18:19:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 19, 29, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 18:19:29'
2026-05-02 18:19:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 19, 32, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 18:19:32'
2026-05-02 18:19:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 19, 48, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17223, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 18:19:48'
2026-05-02 18:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 20, 46, 798949, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17133, 'low': 1.17118, 'close': 1.17133, 'volume': 3.0} | asctime='2026-05-02 18:20:46'
2026-05-02 18:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 20, 46, 799958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17274, 'low': 1.17223, 'close': 1.17223, 'volume': 3.0} | asctime='2026-05-02 18:20:46'
2026-05-02 18:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 20, 46, 801474, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17161, 'low': 1.17118, 'close': 1.17133, 'volume': 17.0} | asctime='2026-05-02 18:20:46'
2026-05-02 18:20:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 20, 46, 801929, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.17295, 'low': 1.17223, 'close': 1.17223, 'volume': 17.0} | asctime='2026-05-02 18:20:46'
2026-05-02 18:20:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 20, 46, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 18:20:46'
2026-05-02 18:20:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 20, 56, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 18:20:56'
2026-05-02 18:21:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 3, 798691, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17124, 'low': 1.17121, 'close': 1.17121, 'volume': 2.0} | asctime='2026-05-02 18:21:03'
2026-05-02 18:21:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 3, 799586, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17256, 'low': 1.17253, 'close': 1.17253, 'volume': 2.0} | asctime='2026-05-02 18:21:03'
2026-05-02 18:21:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 3, 753000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 18:21:03'
2026-05-02 18:21:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 19, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 18:21:19'
2026-05-02 18:21:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 20, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 18:21:20'
2026-05-02 18:21:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 26, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 18:21:26'
2026-05-02 18:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 57, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 18:21:58'
2026-05-02 18:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 21, 59, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 18:22:00'
2026-05-02 18:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 22, 0, 648342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17168, 'low': 1.17131, 'close': 1.17131, 'volume': 6.0} | asctime='2026-05-02 18:22:00'
2026-05-02 18:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 22, 0, 649097, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17278, 'low': 1.17244, 'close': 1.17263, 'volume': 6.0} | asctime='2026-05-02 18:22:00'
2026-05-02 18:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 22, 0, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 18:22:00'
2026-05-02 18:22:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 22, 21, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 18:22:21'
2026-05-02 18:22:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 22, 24, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 18:22:24'
2026-05-02 18:22:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 22, 28, 776000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 18:22:28'
2026-05-02 18:23:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 23, 20, 594877, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17155, 'low': 1.1713, 'close': 1.1713, 'volume': 4.0} | asctime='2026-05-02 18:23:20'
2026-05-02 18:23:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 23, 20, 596247, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17235, 'close': 1.17262, 'volume': 4.0} | asctime='2026-05-02 18:23:20'
2026-05-02 18:23:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 23, 20, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 18:23:20'
2026-05-02 18:24:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 24, 34, 46454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17129, 'close': 1.17129, 'volume': 1.0} | asctime='2026-05-02 18:24:34'
2026-05-02 18:24:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 24, 34, 47128, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17261, 'close': 1.17261, 'volume': 1.0} | asctime='2026-05-02 18:24:34'
2026-05-02 18:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 24, 34, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 18:24:34'
2026-05-02 18:24:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 24, 38, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 18:24:38'
2026-05-02 18:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 24, 57, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 18:24:57'
2026-05-02 18:25:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 25, 37, 946168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17128, 'low': 1.1712, 'close': 1.1712, 'volume': 3.0} | asctime='2026-05-02 18:25:37'
2026-05-02 18:25:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 25, 37, 947030, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.17252, 'close': 1.17252, 'volume': 3.0} | asctime='2026-05-02 18:25:37'
2026-05-02 18:25:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 25, 37, 947539, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17124, 'high': 1.17168, 'low': 1.1712, 'close': 1.1712, 'volume': 16.0} | asctime='2026-05-02 18:25:37'
2026-05-02 18:25:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 25, 37, 948038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17256, 'high': 1.17278, 'low': 1.17235, 'close': 1.17252, 'volume': 16.0} | asctime='2026-05-02 18:25:37'
2026-05-02 18:25:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 25, 37, 934000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17222, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 18:25:37'
2026-05-02 18:25:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 25, 50, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 18:25:50'
2026-05-02 18:27:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 27, 18, 645115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17122, 'close': 1.17122, 'volume': 2.0} | asctime='2026-05-02 18:27:18'
2026-05-02 18:27:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 27, 18, 647173, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17222, 'high': 1.17254, 'low': 1.17222, 'close': 1.17254, 'volume': 2.0} | asctime='2026-05-02 18:27:18'
2026-05-02 18:27:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 27, 18, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 18:27:18'
2026-05-02 18:27:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 27, 24, 927000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 18:27:24'
2026-05-02 18:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 28, 16, 693901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17143, 'low': 1.17125, 'close': 1.17143, 'volume': 2.0} | asctime='2026-05-02 18:28:16'
2026-05-02 18:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 28, 16, 695297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17275, 'low': 1.17257, 'close': 1.17275, 'volume': 2.0} | asctime='2026-05-02 18:28:16'
2026-05-02 18:28:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 28, 16, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 18:28:16'
2026-05-02 18:28:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 28, 22, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 18:28:22'
2026-05-02 18:29:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 29, 39, 144816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17126, 'close': 1.17126, 'volume': 2.0} | asctime='2026-05-02 18:29:39'
2026-05-02 18:29:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 29, 39, 145607, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17258, 'low': 1.17244, 'close': 1.17258, 'volume': 2.0} | asctime='2026-05-02 18:29:39'
2026-05-02 18:29:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 29, 39, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 18:29:39'
2026-05-02 18:29:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 29, 42, 330000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 18:29:42'
2026-05-02 18:29:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 29, 46, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 18:29:46'
2026-05-02 18:29:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 29, 49, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 18:29:49'
2026-05-02 18:30:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 36, 243157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17117, 'close': 1.17117, 'volume': 4.0} | asctime='2026-05-02 18:30:36'
2026-05-02 18:30:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 36, 244059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17276, 'low': 1.17248, 'close': 1.17273, 'volume': 4.0} | asctime='2026-05-02 18:30:36'
2026-05-02 18:30:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 36, 244928, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17132, 'high': 1.17158, 'low': 1.17117, 'close': 1.17117, 'volume': 10.0} | asctime='2026-05-02 18:30:36'
2026-05-02 18:30:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 36, 245409, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17222, 'high': 1.17276, 'low': 1.17222, 'close': 1.17273, 'volume': 10.0} | asctime='2026-05-02 18:30:36'
2026-05-02 18:30:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 36, 245813, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17154, 'high': 1.17168, 'low': 1.17117, 'close': 1.17117, 'volume': 43.0} | asctime='2026-05-02 18:30:36'
2026-05-02 18:30:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 36, 246261, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17244, 'high': 1.17295, 'low': 1.17222, 'close': 1.17273, 'volume': 43.0} | asctime='2026-05-02 18:30:36'
2026-05-02 18:30:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 36, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 18:30:36'
2026-05-02 18:30:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 41, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 18:30:41'
2026-05-02 18:30:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 30, 52, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 18:30:52'
2026-05-02 18:31:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 31, 57, 292379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17118, 'low': 1.17101, 'close': 1.17102, 'volume': 3.0} | asctime='2026-05-02 18:31:57'
2026-05-02 18:31:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 31, 57, 293368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17282, 'low': 1.17257, 'close': 1.17282, 'volume': 3.0} | asctime='2026-05-02 18:31:57'
2026-05-02 18:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 31, 57, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 18:31:57'
2026-05-02 18:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 31, 57, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 18:31:57'
2026-05-02 18:32:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 9, 705302, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17163, 'high': 1.17163, 'low': 1.17135, 'close': 1.17135, 'volume': 2.0} | asctime='2026-05-02 18:32:09'
2026-05-02 18:32:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 9, 706178, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17291, 'low': 1.17253, 'close': 1.17291, 'volume': 2.0} | asctime='2026-05-02 18:32:09'
2026-05-02 18:32:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 9, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 18:32:09'
2026-05-02 18:32:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 9, 784000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1732, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 18:32:09'
2026-05-02 18:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 14, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 18:32:14'
2026-05-02 18:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 14, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 18:32:14'
2026-05-02 18:32:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 15, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 18:32:15'
2026-05-02 18:32:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 18, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 18:32:18'
2026-05-02 18:32:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 18, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 18:32:18'
2026-05-02 18:32:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 32, 21, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 18:32:21'
2026-05-02 18:33:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 33, 30, 590120, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17151, 'low': 1.17111, 'close': 1.17119, 'volume': 8.0} | asctime='2026-05-02 18:33:30'
2026-05-02 18:33:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 33, 30, 591499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17307, 'high': 1.1732, 'low': 1.17275, 'close': 1.17275, 'volume': 8.0} | asctime='2026-05-02 18:33:30'
2026-05-02 18:33:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 33, 30, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 18:33:30'
2026-05-02 18:33:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 33, 34, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 18:33:34'
2026-05-02 18:33:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 33, 35, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 18:33:35'
2026-05-02 18:34:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 34, 21, 139363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17141, 'low': 1.17121, 'close': 1.17141, 'volume': 3.0} | asctime='2026-05-02 18:34:21'
2026-05-02 18:34:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 34, 21, 140066, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17277, 'low': 1.17259, 'close': 1.17273, 'volume': 3.0} | asctime='2026-05-02 18:34:21'
2026-05-02 18:34:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 34, 21, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 18:34:21'
2026-05-02 18:34:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 34, 46, 180000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 18:34:46'
2026-05-02 18:34:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 34, 48, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 18:34:48'
2026-05-02 18:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 36, 3, 787922, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17124, 'low': 1.17118, 'close': 1.17123, 'volume': 3.0} | asctime='2026-05-02 18:36:03'
2026-05-02 18:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 36, 3, 789663, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1728, 'high': 1.1728, 'low': 1.17274, 'close': 1.17279, 'volume': 3.0} | asctime='2026-05-02 18:36:03'
2026-05-02 18:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 36, 3, 790148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17118, 'high': 1.17163, 'low': 1.17101, 'close': 1.17123, 'volume': 19.0} | asctime='2026-05-02 18:36:03'
2026-05-02 18:36:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 36, 3, 790547, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17274, 'high': 1.1732, 'low': 1.17253, 'close': 1.17279, 'volume': 19.0} | asctime='2026-05-02 18:36:03'
2026-05-02 18:36:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 36, 3, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 18:36:03'
2026-05-02 18:36:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 36, 5, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 18:36:05'
2026-05-02 18:36:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 36, 51, 293000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 18:36:51'
2026-05-02 18:37:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 37, 10, 687962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17145, 'low': 1.17124, 'close': 1.17145, 'volume': 3.0} | asctime='2026-05-02 18:37:10'
2026-05-02 18:37:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 37, 10, 689888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17281, 'high': 1.17281, 'low': 1.17277, 'close': 1.17277, 'volume': 3.0} | asctime='2026-05-02 18:37:10'
2026-05-02 18:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 37, 10, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 18:37:10'
2026-05-02 18:37:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 37, 18, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 18:37:18'
2026-05-02 18:39:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 39, 15, 285889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17152, 'low': 1.17148, 'close': 1.17152, 'volume': 2.0} | asctime='2026-05-02 18:39:15'
2026-05-02 18:39:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 39, 15, 287427, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17242, 'low': 1.17238, 'close': 1.17242, 'volume': 2.0} | asctime='2026-05-02 18:39:15'
2026-05-02 18:39:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 39, 15, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 18:39:15'
2026-05-02 18:39:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 39, 15, 399000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 18:39:15'
2026-05-02 18:39:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 39, 15, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17412, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 18:39:15'
2026-05-02 18:39:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 39, 20, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 18:39:20'
2026-05-02 18:41:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 18, 284499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17138, 'low': 1.17113, 'close': 1.17113, 'volume': 4.0} | asctime='2026-05-02 18:41:18'
2026-05-02 18:41:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 18, 285978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17412, 'low': 1.17245, 'close': 1.17245, 'volume': 4.0} | asctime='2026-05-02 18:41:18'
2026-05-02 18:41:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 18, 286889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17125, 'high': 1.17152, 'low': 1.17113, 'close': 1.17113, 'volume': 9.0} | asctime='2026-05-02 18:41:18'
2026-05-02 18:41:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 18, 287696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17281, 'high': 1.17412, 'low': 1.17238, 'close': 1.17245, 'volume': 9.0} | asctime='2026-05-02 18:41:18'
2026-05-02 18:41:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 18, 285000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 18:41:18'
2026-05-02 18:41:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 24, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 18:41:24'
2026-05-02 18:41:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 33, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 18:41:33'
2026-05-02 18:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 41, 46, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17043, 'volume': 0.0} | asctime='2026-05-02 18:41:46'
2026-05-02 18:43:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 43, 12, 483342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17132, 'low': 1.17043, 'close': 1.17043, 'volume': 4.0} | asctime='2026-05-02 18:43:12'
2026-05-02 18:43:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 43, 12, 484346, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17275, 'low': 1.17247, 'close': 1.17247, 'volume': 4.0} | asctime='2026-05-02 18:43:12'
2026-05-02 18:43:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 43, 12, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17039, 'volume': 0.0} | asctime='2026-05-02 18:43:12'
2026-05-02 18:43:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 43, 20, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 18:43:20'
2026-05-02 18:43:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 43, 48, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 18:43:48'
2026-05-02 18:44:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 44, 16, 533461, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17039, 'high': 1.17124, 'low': 1.17039, 'close': 1.17124, 'volume': 3.0} | asctime='2026-05-02 18:44:16'
2026-05-02 18:44:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 44, 16, 534363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17267, 'low': 1.17256, 'close': 1.17256, 'volume': 3.0} | asctime='2026-05-02 18:44:16'
2026-05-02 18:44:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 44, 16, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 18:44:16'
2026-05-02 18:46:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 231996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17155, 'close': 1.17155, 'volume': 1.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 232826, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17245, 'close': 1.17245, 'volume': 1.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 233366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.17155, 'low': 1.17039, 'close': 1.17155, 'volume': 8.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 233783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17275, 'low': 1.17245, 'close': 1.17245, 'volume': 8.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 234285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17118, 'high': 1.17163, 'low': 1.17039, 'close': 1.17155, 'volume': 36.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 234662, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17274, 'high': 1.17412, 'low': 1.17238, 'close': 1.17245, 'volume': 36.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 11, 344000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 18:46:11'
2026-05-02 18:46:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 20, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 18:46:20'
2026-05-02 18:46:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 46, 57, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 18:46:57'
2026-05-02 18:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 47, 4, 581725, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.1715, 'low': 1.17112, 'close': 1.1715, 'volume': 4.0} | asctime='2026-05-02 18:47:04'
2026-05-02 18:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 47, 4, 582616, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17292, 'low': 1.1724, 'close': 1.1724, 'volume': 4.0} | asctime='2026-05-02 18:47:04'
2026-05-02 18:47:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 47, 4, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 18:47:04'
2026-05-02 18:47:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 47, 12, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 18:47:12'
2026-05-02 18:48:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 48, 10, 532173, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17153, 'low': 1.17151, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 18:48:10'
2026-05-02 18:48:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 48, 10, 533280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17243, 'low': 1.17241, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 18:48:10'
2026-05-02 18:48:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 48, 10, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 18:48:10'
2026-05-02 18:48:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 48, 42, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 18:48:42'
2026-05-02 18:49:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 49, 34, 30710, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17155, 'close': 1.17155, 'volume': 2.0} | asctime='2026-05-02 18:49:34'
2026-05-02 18:49:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 49, 34, 31926, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17245, 'close': 1.17245, 'volume': 2.0} | asctime='2026-05-02 18:49:34'
2026-05-02 18:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 49, 34, 34000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 18:49:34'
2026-05-02 18:50:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 50, 22, 330529, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17157, 'close': 1.17157, 'volume': 1.0} | asctime='2026-05-02 18:50:22'
2026-05-02 18:50:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 50, 22, 331179, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17247, 'close': 1.17247, 'volume': 1.0} | asctime='2026-05-02 18:50:22'
2026-05-02 18:50:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 50, 22, 331716, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17145, 'high': 1.17157, 'low': 1.17112, 'close': 1.17157, 'volume': 9.0} | asctime='2026-05-02 18:50:22'
2026-05-02 18:50:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 50, 22, 332194, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17277, 'high': 1.17292, 'low': 1.1724, 'close': 1.17247, 'volume': 9.0} | asctime='2026-05-02 18:50:22'
2026-05-02 18:50:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 50, 22, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 18:50:22'
2026-05-02 18:50:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 50, 32, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 18:50:32'
2026-05-02 18:50:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 50, 42, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 18:50:42'
2026-05-02 18:51:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 51, 12, 979462, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17171, 'low': 1.17144, 'close': 1.17171, 'volume': 3.0} | asctime='2026-05-02 18:51:12'
2026-05-02 18:51:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 51, 12, 980050, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17276, 'low': 1.17249, 'close': 1.17261, 'volume': 3.0} | asctime='2026-05-02 18:51:12'
2026-05-02 18:51:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 51, 12, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 18:51:12'
2026-05-02 18:52:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 52, 19, 378068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.17142, 'close': 1.17142, 'volume': 1.0} | asctime='2026-05-02 18:52:19'
2026-05-02 18:52:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 52, 19, 378840, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17274, 'low': 1.17274, 'close': 1.17274, 'volume': 1.0} | asctime='2026-05-02 18:52:19'
2026-05-02 18:52:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 52, 19, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 18:52:19'
2026-05-02 18:52:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 52, 42, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 18:52:42'
2026-05-02 18:53:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 23, 778102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 18:53:23'
2026-05-02 18:53:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 23, 779418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 18:53:23'
2026-05-02 18:53:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 23, 784000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 18:53:23'
2026-05-02 18:53:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 28, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 18:53:28'
2026-05-02 18:53:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 28, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 18:53:28'
2026-05-02 18:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 38, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 18:53:38'
2026-05-02 18:53:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 42, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 18:53:42'
2026-05-02 18:53:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 44, 385000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 18:53:44'
2026-05-02 18:53:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 53, 44, 508000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 18:53:44'
2026-05-02 18:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 55, 15, 126689, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17165, 'low': 1.17124, 'close': 1.17124, 'volume': 7.0} | asctime='2026-05-02 18:55:15'
2026-05-02 18:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 55, 15, 127653, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17291, 'low': 1.17255, 'close': 1.1728, 'volume': 7.0} | asctime='2026-05-02 18:55:15'
2026-05-02 18:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 55, 15, 128637, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17159, 'high': 1.17171, 'low': 1.17124, 'close': 1.17124, 'volume': 13.0} | asctime='2026-05-02 18:55:15'
2026-05-02 18:55:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 55, 15, 129303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17249, 'high': 1.17291, 'low': 1.17244, 'close': 1.1728, 'volume': 13.0} | asctime='2026-05-02 18:55:15'
2026-05-02 18:55:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 55, 15, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 18:55:15'
2026-05-02 18:55:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 55, 38, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 18:55:38'
2026-05-02 18:55:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 55, 58, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 18:55:58'
2026-05-02 18:56:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 56, 40, 624889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.1714, 'low': 1.17123, 'close': 1.17124, 'volume': 3.0} | asctime='2026-05-02 18:56:40'
2026-05-02 18:56:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 56, 40, 625921, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17256, 'low': 1.1723, 'close': 1.17256, 'volume': 3.0} | asctime='2026-05-02 18:56:40'
2026-05-02 18:56:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 56, 40, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 18:56:40'
2026-05-02 18:58:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 58, 30, 875388, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17121, 'low': 1.17121, 'close': 1.17121, 'volume': 1.0} | asctime='2026-05-02 18:58:30'
2026-05-02 18:58:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 58, 30, 876413, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17277, 'low': 1.17277, 'close': 1.17277, 'volume': 1.0} | asctime='2026-05-02 18:58:30'
2026-05-02 18:58:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 58, 30, 852000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 18:58:30'
2026-05-02 18:58:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 18, 58, 43, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 18:58:43'
2026-05-02 19:00:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 16, 972741, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17125, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 19:00:16'
2026-05-02 19:00:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 16, 973775, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17257, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 19:00:16'
2026-05-02 19:00:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 16, 974804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17123, 'high': 1.1714, 'low': 1.17121, 'close': 1.17125, 'volume': 6.0} | asctime='2026-05-02 19:00:16'
2026-05-02 19:00:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 16, 975253, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17255, 'high': 1.17277, 'low': 1.1723, 'close': 1.17257, 'volume': 6.0} | asctime='2026-05-02 19:00:16'
2026-05-02 19:00:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 16, 975655, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17145, 'high': 1.17171, 'low': 1.17112, 'close': 1.17125, 'volume': 28.0} | asctime='2026-05-02 19:00:16'
2026-05-02 19:00:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 16, 976075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17277, 'high': 1.17292, 'low': 1.1723, 'close': 1.17257, 'volume': 28.0} | asctime='2026-05-02 19:00:16'
2026-05-02 19:00:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 16, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 19:00:16'
2026-05-02 19:00:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 46, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 19:00:46'
2026-05-02 19:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 0, 48, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 19:00:48'
2026-05-02 19:01:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 1, 8, 872593, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17122, 'low': 1.17113, 'close': 1.17113, 'volume': 3.0} | asctime='2026-05-02 19:01:08'
2026-05-02 19:01:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 1, 8, 873476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17276, 'low': 1.17254, 'close': 1.17269, 'volume': 3.0} | asctime='2026-05-02 19:01:08'
2026-05-02 19:01:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 1, 8, 857000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 19:01:08'
2026-05-02 19:01:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 1, 14, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 19:01:14'
2026-05-02 19:02:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 2, 48, 521476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1711, 'high': 1.1711, 'low': 1.17107, 'close': 1.17107, 'volume': 2.0} | asctime='2026-05-02 19:02:48'
2026-05-02 19:02:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 2, 48, 522872, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17266, 'low': 1.17263, 'close': 1.17263, 'volume': 2.0} | asctime='2026-05-02 19:02:48'
2026-05-02 19:02:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 2, 48, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 19:02:48'
2026-05-02 19:03:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 3, 8, 621015, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.1712, 'low': 1.1712, 'close': 1.1712, 'volume': 1.0} | asctime='2026-05-02 19:03:08'
2026-05-02 19:03:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 3, 8, 621861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17252, 'low': 1.17252, 'close': 1.17252, 'volume': 1.0} | asctime='2026-05-02 19:03:08'
2026-05-02 19:03:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 3, 8, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 19:03:08'
2026-05-02 19:03:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 3, 18, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 19:03:18'
2026-05-02 19:03:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 3, 38, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 19:03:38'
2026-05-02 19:03:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 3, 42, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 19:03:42'
2026-05-02 19:04:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 4, 35, 771783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17149, 'low': 1.17124, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 19:04:35'
2026-05-02 19:04:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 4, 35, 772709, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17268, 'low': 1.17239, 'close': 1.17268, 'volume': 4.0} | asctime='2026-05-02 19:04:35'
2026-05-02 19:04:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 4, 35, 770000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 19:04:35'
2026-05-02 19:04:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 4, 44, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:04:44'
2026-05-02 19:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 5, 34, 621211, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17154, 'low': 1.1714, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 19:05:34'
2026-05-02 19:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 5, 34, 622183, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17272, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 19:05:34'
2026-05-02 19:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 5, 34, 623309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17122, 'high': 1.17154, 'low': 1.17107, 'close': 1.17154, 'volume': 12.0} | asctime='2026-05-02 19:05:34'
2026-05-02 19:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 5, 34, 624302, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17276, 'low': 1.17239, 'close': 1.17244, 'volume': 12.0} | asctime='2026-05-02 19:05:34'
2026-05-02 19:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 5, 34, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 19:05:34'
2026-05-02 19:05:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 5, 58, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 19:05:58'
2026-05-02 19:07:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 7, 48, 520207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17127, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 19:07:48'
2026-05-02 19:07:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 7, 48, 522201, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17259, 'low': 1.17247, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 19:07:48'
2026-05-02 19:07:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 7, 48, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 19:07:48'
2026-05-02 19:07:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 7, 57, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 19:07:57'
2026-05-02 19:08:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 8, 20, 169714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17144, 'low': 1.17141, 'close': 1.17144, 'volume': 2.0} | asctime='2026-05-02 19:08:20'
2026-05-02 19:08:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 8, 20, 170406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17231, 'high': 1.17234, 'low': 1.17231, 'close': 1.17234, 'volume': 2.0} | asctime='2026-05-02 19:08:20'
2026-05-02 19:08:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 8, 20, 180000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 19:08:20'
2026-05-02 19:08:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 8, 21, 297000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 19:08:21'
2026-05-02 19:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 8, 30, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 19:08:30'
2026-05-02 19:08:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 8, 42, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 19:08:42'
2026-05-02 19:09:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 9, 53, 367458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17157, 'low': 1.17134, 'close': 1.17151, 'volume': 4.0} | asctime='2026-05-02 19:09:53'
2026-05-02 19:09:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 9, 53, 368508, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17266, 'low': 1.17241, 'close': 1.17241, 'volume': 4.0} | asctime='2026-05-02 19:09:53'
2026-05-02 19:09:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 9, 53, 393000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 19:09:53'
2026-05-02 19:09:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 9, 53, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 19:09:53'
2026-05-02 19:12:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 12, 23, 216319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.1712, 'close': 1.1712, 'volume': 2.0} | asctime='2026-05-02 19:12:23'
2026-05-02 19:12:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 12, 23, 217876, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17276, 'low': 1.17238, 'close': 1.17276, 'volume': 2.0} | asctime='2026-05-02 19:12:23'
2026-05-02 19:12:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 12, 23, 218809, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.1712, 'close': 1.1712, 'volume': 10.0} | asctime='2026-05-02 19:12:23'
2026-05-02 19:12:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 12, 23, 219860, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17247, 'high': 1.17276, 'low': 1.17231, 'close': 1.17276, 'volume': 10.0} | asctime='2026-05-02 19:12:23'
2026-05-02 19:12:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 12, 23, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 19:12:23'
2026-05-02 19:13:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 13, 3, 565598, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17133, 'close': 1.17133, 'volume': 1.0} | asctime='2026-05-02 19:13:03'
2026-05-02 19:13:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 13, 3, 566295, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17265, 'close': 1.17265, 'volume': 1.0} | asctime='2026-05-02 19:13:03'
2026-05-02 19:13:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 13, 3, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 19:13:03'
2026-05-02 19:13:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 13, 12, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 19:13:12'
2026-05-02 19:14:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 5, 115503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17142, 'low': 1.17139, 'close': 1.17142, 'volume': 2.0} | asctime='2026-05-02 19:14:05'
2026-05-02 19:14:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 5, 116608, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17274, 'low': 1.17271, 'close': 1.17274, 'volume': 2.0} | asctime='2026-05-02 19:14:05'
2026-05-02 19:14:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 5, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 19:14:05'
2026-05-02 19:14:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 5, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1731, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 19:14:05'
2026-05-02 19:14:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 26, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 19:14:26'
2026-05-02 19:14:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 27, 449000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 19:14:27'
2026-05-02 19:14:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 34, 400000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 19:14:34'
2026-05-02 19:14:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 35, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 19:14:35'
2026-05-02 19:14:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 50, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 19:14:50'
2026-05-02 19:14:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 52, 25000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 19:14:52'
2026-05-02 19:14:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 56, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:14:56'
2026-05-02 19:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 57, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 19:14:57'
2026-05-02 19:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 58, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 19:14:58'
2026-05-02 19:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 59, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 19:14:59'
2026-05-02 19:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 59, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 19:14:59'
2026-05-02 19:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 59, 473000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 19:14:59'
2026-05-02 19:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 14, 59, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 19:14:59'
2026-05-02 19:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 5, 814981, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17167, 'high': 1.17167, 'low': 1.17106, 'close': 1.17109, 'volume': 15.0} | asctime='2026-05-02 19:15:05'
2026-05-02 19:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 5, 815830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.1731, 'low': 1.17238, 'close': 1.17289, 'volume': 15.0} | asctime='2026-05-02 19:15:05'
2026-05-02 19:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 5, 816412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17167, 'low': 1.17106, 'close': 1.17109, 'volume': 18.0} | asctime='2026-05-02 19:15:05'
2026-05-02 19:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 5, 816915, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.1731, 'low': 1.17238, 'close': 1.17289, 'volume': 18.0} | asctime='2026-05-02 19:15:05'
2026-05-02 19:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 5, 817711, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17122, 'high': 1.17167, 'low': 1.17106, 'close': 1.17109, 'volume': 40.0} | asctime='2026-05-02 19:15:05'
2026-05-02 19:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 5, 818320, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17254, 'high': 1.1731, 'low': 1.17231, 'close': 1.17289, 'volume': 40.0} | asctime='2026-05-02 19:15:05'
2026-05-02 19:15:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 5, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 19:15:05'
2026-05-02 19:15:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 14, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 19:15:14'
2026-05-02 19:15:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 15, 50, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 19:15:50'
2026-05-02 19:17:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 17, 30, 413172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17138, 'low': 1.17117, 'close': 1.17138, 'volume': 3.0} | asctime='2026-05-02 19:17:30'
2026-05-02 19:17:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 17, 30, 414343, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17275, 'low': 1.1727, 'close': 1.1727, 'volume': 3.0} | asctime='2026-05-02 19:17:30'
2026-05-02 19:17:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 17, 30, 402000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 19:17:30'
2026-05-02 19:17:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 17, 44, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:17:44'
2026-05-02 19:18:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 18, 11, 112769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17154, 'low': 1.17122, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 19:18:11'
2026-05-02 19:18:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 18, 11, 113616, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 19:18:11'
2026-05-02 19:18:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 18, 11, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 19:18:11'
2026-05-02 19:19:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 19, 20, 611375, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17155, 'close': 1.17155, 'volume': 1.0} | asctime='2026-05-02 19:19:20'
2026-05-02 19:19:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 19, 20, 613053, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17245, 'close': 1.17245, 'volume': 1.0} | asctime='2026-05-02 19:19:20'
2026-05-02 19:19:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 19, 20, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:19:20'
2026-05-02 19:19:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 19, 21, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 19:19:21'
2026-05-02 19:19:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 19, 22, 484000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17424, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 19:19:22'
2026-05-02 19:19:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 19, 23, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 19:19:23'
2026-05-02 19:21:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 21, 54, 11586, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17121, 'close': 1.17121, 'volume': 4.0} | asctime='2026-05-02 19:21:54'
2026-05-02 19:21:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 21, 54, 12769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17424, 'low': 1.1724, 'close': 1.17277, 'volume': 4.0} | asctime='2026-05-02 19:21:54'
2026-05-02 19:21:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 21, 54, 14734, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17117, 'high': 1.17155, 'low': 1.17117, 'close': 1.17121, 'volume': 10.0} | asctime='2026-05-02 19:21:54'
2026-05-02 19:21:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 21, 54, 15950, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17273, 'high': 1.17424, 'low': 1.1724, 'close': 1.17277, 'volume': 10.0} | asctime='2026-05-02 19:21:54'
2026-05-02 19:21:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 21, 54, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 19:21:54'
2026-05-02 19:21:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 21, 54, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 19:21:54'
2026-05-02 19:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 21, 58, 8000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:21:58'
2026-05-02 19:24:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 24, 459980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17154, 'low': 1.17099, 'close': 1.17154, 'volume': 3.0} | asctime='2026-05-02 19:24:24'
2026-05-02 19:24:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 24, 460781, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17276, 'low': 1.17244, 'close': 1.17244, 'volume': 3.0} | asctime='2026-05-02 19:24:24'
2026-05-02 19:24:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 24, 471000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 19:24:24'
2026-05-02 19:24:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 30, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 19:24:30'
2026-05-02 19:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 56, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 19:24:56'
2026-05-02 19:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 58, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 19:24:58'
2026-05-02 19:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 58, 851000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 19:24:58'
2026-05-02 19:24:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 24, 59, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 19:24:59'
2026-05-02 19:26:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 26, 47, 558597, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17157, 'low': 1.17121, 'close': 1.17157, 'volume': 6.0} | asctime='2026-05-02 19:26:47'
2026-05-02 19:26:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 26, 47, 559472, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17277, 'low': 1.17236, 'close': 1.17247, 'volume': 6.0} | asctime='2026-05-02 19:26:47'
2026-05-02 19:26:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 26, 47, 559890, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17157, 'low': 1.17099, 'close': 1.17157, 'volume': 9.0} | asctime='2026-05-02 19:26:47'
2026-05-02 19:26:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 26, 47, 560272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17276, 'high': 1.17277, 'low': 1.17236, 'close': 1.17247, 'volume': 9.0} | asctime='2026-05-02 19:26:47'
2026-05-02 19:26:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 26, 47, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 19:26:47'
2026-05-02 19:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 26, 56, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 19:26:56'
2026-05-02 19:29:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 29, 18, 6641, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17127, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 19:29:18'
2026-05-02 19:29:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 29, 18, 7378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17259, 'low': 1.1724, 'close': 1.17259, 'volume': 2.0} | asctime='2026-05-02 19:29:18'
2026-05-02 19:29:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 29, 18, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 19:29:18'
2026-05-02 19:29:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 29, 26, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 19:29:26'
2026-05-02 19:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 2, 456833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17147, 'close': 1.17147, 'volume': 2.0} | asctime='2026-05-02 19:30:02'
2026-05-02 19:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 2, 457705, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1724, 'low': 1.17237, 'close': 1.17237, 'volume': 2.0} | asctime='2026-05-02 19:30:02'
2026-05-02 19:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 2, 458362, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17127, 'close': 1.17147, 'volume': 4.0} | asctime='2026-05-02 19:30:02'
2026-05-02 19:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 2, 459575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1724, 'high': 1.17259, 'low': 1.17237, 'close': 1.17237, 'volume': 4.0} | asctime='2026-05-02 19:30:02'
2026-05-02 19:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 2, 460588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17117, 'high': 1.17157, 'low': 1.17099, 'close': 1.17147, 'volume': 23.0} | asctime='2026-05-02 19:30:02'
2026-05-02 19:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 2, 461532, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17273, 'high': 1.17424, 'low': 1.17236, 'close': 1.17237, 'volume': 23.0} | asctime='2026-05-02 19:30:02'
2026-05-02 19:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 2, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17413, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 19:30:02'
2026-05-02 19:30:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 30, 10, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17416, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 19:30:10'
2026-05-02 19:31:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 31, 48, 55430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17142, 'low': 1.17139, 'close': 1.17142, 'volume': 2.0} | asctime='2026-05-02 19:31:48'
2026-05-02 19:31:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 31, 48, 56878, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17413, 'high': 1.17416, 'low': 1.17413, 'close': 1.17416, 'volume': 2.0} | asctime='2026-05-02 19:31:48'
2026-05-02 19:31:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 31, 48, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17422, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 19:31:48'
2026-05-02 19:32:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 32, 32, 155383, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17148, 'close': 1.17148, 'volume': 1.0} | asctime='2026-05-02 19:32:32'
2026-05-02 19:32:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 32, 32, 156128, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17422, 'high': 1.17422, 'low': 1.17422, 'close': 1.17422, 'volume': 1.0} | asctime='2026-05-02 19:32:32'
2026-05-02 19:32:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 32, 32, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 19:32:32'
2026-05-02 19:32:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 32, 38, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 19:32:38'
2026-05-02 19:32:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 32, 47, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 19:32:47'
2026-05-02 19:34:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 34, 57, 953196, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17141, 'low': 1.17116, 'close': 1.17141, 'volume': 3.0} | asctime='2026-05-02 19:34:57'
2026-05-02 19:34:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 34, 57, 954511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17283, 'low': 1.17272, 'close': 1.17273, 'volume': 3.0} | asctime='2026-05-02 19:34:57'
2026-05-02 19:34:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 34, 57, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:34:57'
2026-05-02 19:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 35, 6, 653504, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 19:35:06'
2026-05-02 19:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 35, 6, 654500, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 19:35:06'
2026-05-02 19:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 35, 6, 654881, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17154, 'low': 1.17116, 'close': 1.17154, 'volume': 7.0} | asctime='2026-05-02 19:35:06'
2026-05-02 19:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 35, 6, 655312, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17413, 'high': 1.17422, 'low': 1.17244, 'close': 1.17244, 'volume': 7.0} | asctime='2026-05-02 19:35:06'
2026-05-02 19:35:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 35, 6, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 19:35:06'
2026-05-02 19:35:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 35, 8, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:35:08'
2026-05-02 19:37:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 37, 28, 152502, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 19:37:28'
2026-05-02 19:37:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 37, 28, 153518, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 19:37:28'
2026-05-02 19:37:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 37, 28, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 19:37:28'
2026-05-02 19:37:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 37, 30, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:37:30'
2026-05-02 19:39:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 39, 58, 100441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 19:39:58'
2026-05-02 19:39:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 39, 58, 101243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 19:39:58'
2026-05-02 19:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 39, 58, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 19:39:58'
2026-05-02 19:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 1, 700717, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17158, 'close': 1.17158, 'volume': 1.0} | asctime='2026-05-02 19:40:01'
2026-05-02 19:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 1, 701523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17248, 'low': 1.17248, 'close': 1.17248, 'volume': 1.0} | asctime='2026-05-02 19:40:01'
2026-05-02 19:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 1, 702671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17158, 'low': 1.17154, 'close': 1.17158, 'volume': 5.0} | asctime='2026-05-02 19:40:01'
2026-05-02 19:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 1, 703646, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17248, 'low': 1.17244, 'close': 1.17248, 'volume': 5.0} | asctime='2026-05-02 19:40:01'
2026-05-02 19:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 1, 713000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:40:01'
2026-05-02 19:40:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 5, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 19:40:05'
2026-05-02 19:40:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 6, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 19:40:06'
2026-05-02 19:40:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 6, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 19:40:06'
2026-05-02 19:40:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 40, 14, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 19:40:14'
2026-05-02 19:41:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 41, 15, 300116, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17164, 'low': 1.17118, 'close': 1.17124, 'volume': 5.0} | asctime='2026-05-02 19:41:15'
2026-05-02 19:41:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 41, 15, 301184, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.1728, 'low': 1.17244, 'close': 1.1728, 'volume': 5.0} | asctime='2026-05-02 19:41:15'
2026-05-02 19:41:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 41, 15, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 19:41:15'
2026-05-02 19:41:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 41, 15, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 19:41:15'
2026-05-02 19:41:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 41, 16, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 19:41:16'
2026-05-02 19:41:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 41, 16, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17043, 'volume': 0.0} | asctime='2026-05-02 19:41:16'
2026-05-02 19:41:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 41, 17, 180000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17053, 'volume': 0.0} | asctime='2026-05-02 19:41:17'
2026-05-02 19:42:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 42, 2, 98553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.1716, 'low': 1.17043, 'close': 1.17053, 'volume': 5.0} | asctime='2026-05-02 19:42:02'
2026-05-02 19:42:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 42, 2, 99279, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17284, 'high': 1.17284, 'low': 1.17248, 'close': 1.17281, 'volume': 5.0} | asctime='2026-05-02 19:42:02'
2026-05-02 19:42:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 42, 2, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17052, 'volume': 0.0} | asctime='2026-05-02 19:42:02'
2026-05-02 19:42:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 42, 2, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 19:42:02'
2026-05-02 19:42:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 42, 10, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 19:42:10'
2026-05-02 19:43:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 11, 698132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17052, 'high': 1.17118, 'low': 1.17052, 'close': 1.1711, 'volume': 3.0} | asctime='2026-05-02 19:43:11'
2026-05-02 19:43:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 11, 698808, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1728, 'high': 1.1729, 'low': 1.17274, 'close': 1.1729, 'volume': 3.0} | asctime='2026-05-02 19:43:11'
2026-05-02 19:43:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 11, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 19:43:11'
2026-05-02 19:43:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 17, 822000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 19:43:17'
2026-05-02 19:43:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 26, 14000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 19:43:25'
2026-05-02 19:43:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 27, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 19:43:26'
2026-05-02 19:43:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 28, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 19:43:28'
2026-05-02 19:43:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 32, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 19:43:32'
2026-05-02 19:43:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 36, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 19:43:36'
2026-05-02 19:43:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 40, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 19:43:40'
2026-05-02 19:43:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 41, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 19:43:41'
2026-05-02 19:43:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 43, 41, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 19:43:41'
2026-05-02 19:45:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 33, 847331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17154, 'low': 1.17116, 'close': 1.1714, 'volume': 10.0} | asctime='2026-05-02 19:45:33'
2026-05-02 19:45:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 33, 848374, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17295, 'high': 1.17295, 'low': 1.1723, 'close': 1.1723, 'volume': 10.0} | asctime='2026-05-02 19:45:33'
2026-05-02 19:45:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 33, 849359, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17154, 'high': 1.17164, 'low': 1.17043, 'close': 1.1714, 'volume': 23.0} | asctime='2026-05-02 19:45:33'
2026-05-02 19:45:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 33, 850892, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17244, 'high': 1.17295, 'low': 1.1723, 'close': 1.1723, 'volume': 23.0} | asctime='2026-05-02 19:45:33'
2026-05-02 19:45:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 33, 851378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17139, 'high': 1.17164, 'low': 1.17043, 'close': 1.1714, 'volume': 35.0} | asctime='2026-05-02 19:45:33'
2026-05-02 19:45:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 33, 851877, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17413, 'high': 1.17422, 'low': 1.1723, 'close': 1.1723, 'volume': 35.0} | asctime='2026-05-02 19:45:33'
2026-05-02 19:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 33, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 19:45:33'
2026-05-02 19:45:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 56, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 19:45:56'
2026-05-02 19:45:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 45, 58, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 19:45:58'
2026-05-02 19:46:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 46, 10, 196569, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17159, 'low': 1.17113, 'close': 1.17159, 'volume': 3.0} | asctime='2026-05-02 19:46:10'
2026-05-02 19:46:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 46, 10, 197470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17269, 'low': 1.17249, 'close': 1.17249, 'volume': 3.0} | asctime='2026-05-02 19:46:10'
2026-05-02 19:46:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 46, 10, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 19:46:10'
2026-05-02 19:46:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 46, 11, 219000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 19:46:11'
2026-05-02 19:46:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 46, 56, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 19:46:56'
2026-05-02 19:48:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 48, 26, 245459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17165, 'low': 1.17153, 'close': 1.17165, 'volume': 3.0} | asctime='2026-05-02 19:48:26'
2026-05-02 19:48:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 48, 26, 247519, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17255, 'low': 1.17243, 'close': 1.17255, 'volume': 3.0} | asctime='2026-05-02 19:48:26'
2026-05-02 19:48:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 48, 26, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 19:48:26'
2026-05-02 19:48:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 48, 40, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 19:48:40'
2026-05-02 19:48:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 48, 41, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 19:48:40'
2026-05-02 19:49:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 49, 16, 145102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17141, 'close': 1.17141, 'volume': 3.0} | asctime='2026-05-02 19:49:16'
2026-05-02 19:49:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 49, 16, 146100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17273, 'low': 1.17245, 'close': 1.17273, 'volume': 3.0} | asctime='2026-05-02 19:49:16'
2026-05-02 19:49:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 49, 16, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 19:49:16'
2026-05-02 19:49:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 49, 26, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 19:49:26'
2026-05-02 19:49:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 49, 59, 478000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 19:49:59'
2026-05-02 19:50:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 50, 35, 694352, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17155, 'low': 1.1714, 'close': 1.17151, 'volume': 3.0} | asctime='2026-05-02 19:50:35'
2026-05-02 19:50:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 50, 35, 695447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17272, 'high': 1.17272, 'low': 1.17241, 'close': 1.17241, 'volume': 3.0} | asctime='2026-05-02 19:50:35'
2026-05-02 19:50:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 50, 35, 695976, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17119, 'high': 1.17165, 'low': 1.17113, 'close': 1.17151, 'volume': 12.0} | asctime='2026-05-02 19:50:35'
2026-05-02 19:50:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 50, 35, 696417, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17251, 'high': 1.17273, 'low': 1.17241, 'close': 1.17241, 'volume': 12.0} | asctime='2026-05-02 19:50:35'
2026-05-02 19:50:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 50, 35, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 19:50:35'
2026-05-02 19:50:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 50, 56, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 19:50:56'
2026-05-02 19:51:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 51, 10, 93568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17134, 'low': 1.17128, 'close': 1.17128, 'volume': 2.0} | asctime='2026-05-02 19:51:10'
2026-05-02 19:51:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 51, 10, 95206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17266, 'low': 1.1726, 'close': 1.1726, 'volume': 2.0} | asctime='2026-05-02 19:51:10'
2026-05-02 19:51:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 51, 10, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 19:51:10'
2026-05-02 19:51:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 51, 48, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 19:51:48'
2026-05-02 19:52:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 52, 29, 143211, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17133, 'low': 1.17132, 'close': 1.17132, 'volume': 2.0} | asctime='2026-05-02 19:52:29'
2026-05-02 19:52:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 52, 29, 144458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17265, 'low': 1.17264, 'close': 1.17264, 'volume': 2.0} | asctime='2026-05-02 19:52:29'
2026-05-02 19:52:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 52, 29, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 19:52:29'
2026-05-02 19:52:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 52, 45, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 19:52:45'
2026-05-02 19:53:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 53, 23, 492853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17122, 'low': 1.17106, 'close': 1.17106, 'volume': 2.0} | asctime='2026-05-02 19:53:23'
2026-05-02 19:53:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 53, 23, 493864, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17262, 'low': 1.17254, 'close': 1.17262, 'volume': 2.0} | asctime='2026-05-02 19:53:23'
2026-05-02 19:53:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 53, 23, 531000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 19:53:23'
2026-05-02 19:54:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 54, 36, 591711, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17107, 'high': 1.17107, 'low': 1.17107, 'close': 1.17107, 'volume': 1.0} | asctime='2026-05-02 19:54:36'
2026-05-02 19:54:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 54, 36, 593259, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17239, 'close': 1.17239, 'volume': 1.0} | asctime='2026-05-02 19:54:36'
2026-05-02 19:54:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 54, 36, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 19:54:36'
2026-05-02 19:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 55, 22, 641961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17103, 'high': 1.17103, 'low': 1.17103, 'close': 1.17103, 'volume': 1.0} | asctime='2026-05-02 19:55:22'
2026-05-02 19:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 55, 22, 642915, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 19:55:22'
2026-05-02 19:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 55, 22, 643353, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17134, 'high': 1.17134, 'low': 1.17103, 'close': 1.17103, 'volume': 8.0} | asctime='2026-05-02 19:55:22'
2026-05-02 19:55:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 55, 22, 643748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17266, 'high': 1.17266, 'low': 1.17239, 'close': 1.17259, 'volume': 8.0} | asctime='2026-05-02 19:55:22'
2026-05-02 19:55:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 55, 22, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 19:55:22'
2026-05-02 19:55:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 55, 40, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 19:55:40'
2026-05-02 19:56:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 56, 12, 941273, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17152, 'high': 1.17152, 'low': 1.1715, 'close': 1.1715, 'volume': 2.0} | asctime='2026-05-02 19:56:12'
2026-05-02 19:56:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 56, 12, 942196, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17242, 'high': 1.17242, 'low': 1.1724, 'close': 1.1724, 'volume': 2.0} | asctime='2026-05-02 19:56:12'
2026-05-02 19:56:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 56, 12, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 19:56:12'
2026-05-02 19:56:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 56, 16, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 19:56:16'
2026-05-02 19:56:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 56, 43, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 19:56:43'
2026-05-02 19:56:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 56, 46, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 19:56:46'
2026-05-02 19:57:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 57, 28, 640426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17141, 'low': 1.17111, 'close': 1.17141, 'volume': 4.0} | asctime='2026-05-02 19:57:28'
2026-05-02 19:57:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 57, 28, 641368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17275, 'low': 1.17267, 'close': 1.17273, 'volume': 4.0} | asctime='2026-05-02 19:57:28'
2026-05-02 19:57:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 57, 28, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 19:57:28'
2026-05-02 19:57:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 57, 46, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.1717, 'volume': 0.0} | asctime='2026-05-02 19:57:46'
2026-05-02 19:58:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 58, 38, 639241, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17164, 'high': 1.1717, 'low': 1.17164, 'close': 1.1717, 'volume': 2.0} | asctime='2026-05-02 19:58:38'
2026-05-02 19:58:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 58, 38, 640311, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.1726, 'low': 1.17254, 'close': 1.1726, 'volume': 2.0} | asctime='2026-05-02 19:58:38'
2026-05-02 19:58:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 58, 38, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 19:58:38'
2026-05-02 19:58:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 58, 42, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 19:58:42'
2026-05-02 19:59:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 15, 139450, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17168, 'high': 1.17168, 'low': 1.17159, 'close': 1.17159, 'volume': 2.0} | asctime='2026-05-02 19:59:15'
2026-05-02 19:59:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 15, 140418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17249, 'close': 1.17249, 'volume': 2.0} | asctime='2026-05-02 19:59:15'
2026-05-02 19:59:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 15, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 19:59:15'
2026-05-02 19:59:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 39, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 19:59:39'
2026-05-02 19:59:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 39, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 19:59:39'
2026-05-02 19:59:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 48, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 19:59:48'
2026-05-02 19:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 56, 373000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 19:59:56'
2026-05-02 19:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 19, 59, 56, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 19:59:56'
2026-05-02 20:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 34, 585208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17152, 'low': 1.17115, 'close': 1.17115, 'volume': 6.0} | asctime='2026-05-02 20:05:34'
2026-05-02 20:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 34, 586191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17273, 'low': 1.1724, 'close': 1.17271, 'volume': 6.0} | asctime='2026-05-02 20:05:34'
2026-05-02 20:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 34, 587681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17152, 'high': 1.1717, 'low': 1.17111, 'close': 1.17115, 'volume': 16.0} | asctime='2026-05-02 20:05:34'
2026-05-02 20:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 34, 588480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17242, 'high': 1.17275, 'low': 1.1724, 'close': 1.17271, 'volume': 16.0} | asctime='2026-05-02 20:05:34'
2026-05-02 20:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 34, 589521, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17119, 'high': 1.1717, 'low': 1.17103, 'close': 1.17115, 'volume': 36.0} | asctime='2026-05-02 20:05:34'
2026-05-02 20:05:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 34, 590245, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17251, 'high': 1.17275, 'low': 1.17239, 'close': 1.17271, 'volume': 36.0} | asctime='2026-05-02 20:05:34'
2026-05-02 20:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 34, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 20:05:34'
2026-05-02 20:05:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 5, 38, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 20:05:38'
2026-05-02 20:07:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 7, 21, 684809, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17128, 'low': 1.17126, 'close': 1.17126, 'volume': 2.0} | asctime='2026-05-02 20:07:21'
2026-05-02 20:07:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 7, 21, 685733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.17258, 'close': 1.17258, 'volume': 2.0} | asctime='2026-05-02 20:07:21'
2026-05-02 20:07:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 7, 21, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 20:07:21'
2026-05-02 20:08:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 8, 8, 584236, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 20:08:08'
2026-05-02 20:08:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 8, 8, 584835, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 20:08:08'
2026-05-02 20:08:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 8, 8, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:08:08'
2026-05-02 20:10:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 12, 987041, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 20:10:12'
2026-05-02 20:10:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 12, 989938, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 20:10:12'
2026-05-02 20:10:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 12, 991314, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17128, 'high': 1.17154, 'low': 1.17126, 'close': 1.17153, 'volume': 4.0} | asctime='2026-05-02 20:10:12'
2026-05-02 20:10:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 12, 991821, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.17243, 'close': 1.17243, 'volume': 4.0} | asctime='2026-05-02 20:10:12'
2026-05-02 20:10:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 13, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 20:10:12'
2026-05-02 20:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 34, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 20:10:34'
2026-05-02 20:10:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 38, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:10:38'
2026-05-02 20:10:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 10, 56, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 20:10:56'
2026-05-02 20:11:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 11, 6, 831683, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17154, 'low': 1.17126, 'close': 1.17152, 'volume': 4.0} | asctime='2026-05-02 20:11:06'
2026-05-02 20:11:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 11, 6, 832503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17242, 'close': 1.17242, 'volume': 4.0} | asctime='2026-05-02 20:11:06'
2026-05-02 20:11:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 11, 6, 872000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 20:11:06'
2026-05-02 20:12:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 12, 57, 930272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17121, 'low': 1.17121, 'close': 1.17121, 'volume': 1.0} | asctime='2026-05-02 20:12:57'
2026-05-02 20:12:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 12, 57, 931050, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17253, 'low': 1.17253, 'close': 1.17253, 'volume': 1.0} | asctime='2026-05-02 20:12:57'
2026-05-02 20:12:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 12, 57, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17225, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 20:12:57'
2026-05-02 20:13:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 13, 6, 630781, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17135, 'low': 1.17135, 'close': 1.17135, 'volume': 1.0} | asctime='2026-05-02 20:13:06'
2026-05-02 20:13:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 13, 6, 633478, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17225, 'high': 1.17225, 'low': 1.17225, 'close': 1.17225, 'volume': 1.0} | asctime='2026-05-02 20:13:06'
2026-05-02 20:13:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 13, 6, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 20:13:06'
2026-05-02 20:13:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 13, 24, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 20:13:24'
2026-05-02 20:15:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 10, 379164, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17144, 'low': 1.17124, 'close': 1.17144, 'volume': 2.0} | asctime='2026-05-02 20:15:10'
2026-05-02 20:15:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 10, 380037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17256, 'low': 1.17234, 'close': 1.17234, 'volume': 2.0} | asctime='2026-05-02 20:15:10'
2026-05-02 20:15:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 10, 381017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17126, 'high': 1.17154, 'low': 1.17121, 'close': 1.17144, 'volume': 8.0} | asctime='2026-05-02 20:15:10'
2026-05-02 20:15:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 10, 381498, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17225, 'close': 1.17234, 'volume': 8.0} | asctime='2026-05-02 20:15:10'
2026-05-02 20:15:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 10, 381883, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17128, 'high': 1.17154, 'low': 1.17121, 'close': 1.17144, 'volume': 12.0} | asctime='2026-05-02 20:15:10'
2026-05-02 20:15:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 10, 382466, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.17225, 'close': 1.17234, 'volume': 12.0} | asctime='2026-05-02 20:15:10'
2026-05-02 20:15:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 10, 396000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17421, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 20:15:10'
2026-05-02 20:15:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 12, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 20:15:12'
2026-05-02 20:15:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 28, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 20:15:28'
2026-05-02 20:15:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 36, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:15:36'
2026-05-02 20:15:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 15, 54, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 20:15:54'
2026-05-02 20:16:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 16, 4, 79395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17158, 'low': 1.17144, 'close': 1.17158, 'volume': 5.0} | asctime='2026-05-02 20:16:04'
2026-05-02 20:16:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 16, 4, 80296, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17421, 'high': 1.17421, 'low': 1.17234, 'close': 1.17248, 'volume': 5.0} | asctime='2026-05-02 20:16:04'
2026-05-02 20:16:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 16, 4, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:16:04'
2026-05-02 20:17:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 17, 42, 527612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 20:17:42'
2026-05-02 20:17:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 17, 42, 528726, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 20:17:42'
2026-05-02 20:17:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 17, 42, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 20:17:42'
2026-05-02 20:17:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 17, 57, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:17:57'
2026-05-02 20:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 6, 376232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17153, 'low': 1.17127, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 20:20:06'
2026-05-02 20:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 6, 377332, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 20:20:06'
2026-05-02 20:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 6, 378515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17147, 'high': 1.17158, 'low': 1.17127, 'close': 1.17153, 'volume': 8.0} | asctime='2026-05-02 20:20:06'
2026-05-02 20:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 6, 378997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17421, 'high': 1.17421, 'low': 1.17234, 'close': 1.17243, 'volume': 8.0} | asctime='2026-05-02 20:20:06'
2026-05-02 20:20:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 6, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 20:20:06'
2026-05-02 20:20:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 13, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 20:20:12'
2026-05-02 20:20:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 16, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 20:20:16'
2026-05-02 20:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 20, 57, 440000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:20:57'
2026-05-02 20:22:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 22, 44, 624992, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17158, 'low': 1.17139, 'close': 1.17153, 'volume': 4.0} | asctime='2026-05-02 20:22:44'
2026-05-02 20:22:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 22, 44, 626831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17273, 'low': 1.17243, 'close': 1.17243, 'volume': 4.0} | asctime='2026-05-02 20:22:44'
2026-05-02 20:22:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 22, 44, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 20:22:44'
2026-05-02 20:23:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 23, 12, 574926, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17149, 'close': 1.17149, 'volume': 1.0} | asctime='2026-05-02 20:23:12'
2026-05-02 20:23:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 23, 12, 576495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17239, 'close': 1.17239, 'volume': 1.0} | asctime='2026-05-02 20:23:12'
2026-05-02 20:23:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 23, 12, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 20:23:12'
2026-05-02 20:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 23, 28, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 20:23:28'
2026-05-02 20:25:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 25, 6, 24838, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17148, 'low': 1.17132, 'close': 1.17148, 'volume': 2.0} | asctime='2026-05-02 20:25:06'
2026-05-02 20:25:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 25, 6, 26274, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17238, 'close': 1.17238, 'volume': 2.0} | asctime='2026-05-02 20:25:06'
2026-05-02 20:25:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 25, 6, 27050, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17139, 'high': 1.17158, 'low': 1.17132, 'close': 1.17148, 'volume': 7.0} | asctime='2026-05-02 20:25:06'
2026-05-02 20:25:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 25, 6, 27780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17271, 'high': 1.17273, 'low': 1.17238, 'close': 1.17238, 'volume': 7.0} | asctime='2026-05-02 20:25:06'
2026-05-02 20:25:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 25, 6, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 20:25:06'
2026-05-02 20:25:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 25, 14, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 20:25:14'
2026-05-02 20:25:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 25, 42, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 20:25:42'
2026-05-02 20:27:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 27, 36, 73023, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17132, 'low': 1.1712, 'close': 1.17132, 'volume': 3.0} | asctime='2026-05-02 20:27:36'
2026-05-02 20:27:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 27, 36, 73924, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17264, 'low': 1.17252, 'close': 1.17264, 'volume': 3.0} | asctime='2026-05-02 20:27:36'
2026-05-02 20:27:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 27, 36, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 20:27:36'
2026-05-02 20:27:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 27, 57, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 20:27:57'
2026-05-02 20:28:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 28, 12, 572766, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17125, 'low': 1.1712, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 20:28:12'
2026-05-02 20:28:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 28, 12, 573484, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17252, 'high': 1.17257, 'low': 1.17252, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 20:28:12'
2026-05-02 20:28:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 28, 12, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 20:28:12'
2026-05-02 20:28:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 28, 30, 366000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 20:28:30'
2026-05-02 20:28:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 28, 30, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 20:28:30'
2026-05-02 20:29:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 29, 14, 621885, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17152, 'low': 1.17136, 'close': 1.17136, 'volume': 3.0} | asctime='2026-05-02 20:29:14'
2026-05-02 20:29:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 29, 14, 622629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17268, 'low': 1.17238, 'close': 1.17268, 'volume': 3.0} | asctime='2026-05-02 20:29:14'
2026-05-02 20:29:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 29, 14, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 20:29:14'
2026-05-02 20:30:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 12, 970658, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17139, 'low': 1.17139, 'close': 1.17139, 'volume': 1.0} | asctime='2026-05-02 20:30:12'
2026-05-02 20:30:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 12, 972058, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17271, 'close': 1.17271, 'volume': 1.0} | asctime='2026-05-02 20:30:12'
2026-05-02 20:30:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 12, 973068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17152, 'low': 1.1712, 'close': 1.17139, 'volume': 9.0} | asctime='2026-05-02 20:30:12'
2026-05-02 20:30:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 12, 973539, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17252, 'high': 1.17271, 'low': 1.17238, 'close': 1.17271, 'volume': 9.0} | asctime='2026-05-02 20:30:12'
2026-05-02 20:30:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 12, 974025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17147, 'high': 1.17158, 'low': 1.1712, 'close': 1.17139, 'volume': 24.0} | asctime='2026-05-02 20:30:12'
2026-05-02 20:30:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 12, 974468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17421, 'high': 1.17421, 'low': 1.17234, 'close': 1.17271, 'volume': 24.0} | asctime='2026-05-02 20:30:12'
2026-05-02 20:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 13, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17164, 'volume': 0.0} | asctime='2026-05-02 20:30:12'
2026-05-02 20:30:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 32, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 20:30:32'
2026-05-02 20:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 30, 42, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 20:30:42'
2026-05-02 20:31:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 31, 1, 270605, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17164, 'high': 1.17164, 'low': 1.17159, 'close': 1.17159, 'volume': 3.0} | asctime='2026-05-02 20:31:01'
2026-05-02 20:31:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 31, 1, 271184, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17254, 'low': 1.17249, 'close': 1.17249, 'volume': 3.0} | asctime='2026-05-02 20:31:01'
2026-05-02 20:31:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 31, 1, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:31:01'
2026-05-02 20:31:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 31, 44, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 20:31:44'
2026-05-02 20:32:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 32, 26, 619563, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17152, 'close': 1.17152, 'volume': 2.0} | asctime='2026-05-02 20:32:26'
2026-05-02 20:32:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 32, 26, 620655, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17242, 'close': 1.17242, 'volume': 2.0} | asctime='2026-05-02 20:32:26'
2026-05-02 20:32:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 32, 26, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 20:32:26'
2026-05-02 20:32:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 32, 42, 457000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 20:32:42'
2026-05-02 20:34:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 34, 46, 18532, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17142, 'high': 1.17142, 'low': 1.1712, 'close': 1.1712, 'volume': 2.0} | asctime='2026-05-02 20:34:46'
2026-05-02 20:34:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 34, 46, 19722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17276, 'low': 1.17274, 'close': 1.17276, 'volume': 2.0} | asctime='2026-05-02 20:34:46'
2026-05-02 20:34:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 34, 46, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 20:34:46'
2026-05-02 20:34:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 34, 54, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 20:34:54'
2026-05-02 20:35:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 35, 12, 368417, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17114, 'close': 1.17114, 'volume': 2.0} | asctime='2026-05-02 20:35:12'
2026-05-02 20:35:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 35, 12, 369058, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.1727, 'low': 1.17257, 'close': 1.1727, 'volume': 2.0} | asctime='2026-05-02 20:35:12'
2026-05-02 20:35:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 35, 12, 370667, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17164, 'high': 1.17164, 'low': 1.17114, 'close': 1.17114, 'volume': 9.0} | asctime='2026-05-02 20:35:12'
2026-05-02 20:35:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 35, 12, 371824, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17254, 'high': 1.17276, 'low': 1.17242, 'close': 1.1727, 'volume': 9.0} | asctime='2026-05-02 20:35:12'
2026-05-02 20:35:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 35, 12, 396000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 20:35:12'
2026-05-02 20:35:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 35, 42, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 20:35:42'
2026-05-02 20:35:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 35, 52, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 20:35:52'
2026-05-02 20:36:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 36, 10, 568635, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17151, 'high': 1.17154, 'low': 1.17139, 'close': 1.17139, 'volume': 3.0} | asctime='2026-05-02 20:36:10'
2026-05-02 20:36:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 36, 10, 569319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17241, 'high': 1.17271, 'low': 1.17241, 'close': 1.17271, 'volume': 3.0} | asctime='2026-05-02 20:36:10'
2026-05-02 20:36:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 36, 10, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 20:36:10'
2026-05-02 20:36:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 36, 36, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 20:36:36'
2026-05-02 20:36:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 36, 40, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 20:36:40'
2026-05-02 20:38:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 38, 4, 365879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17167, 'high': 1.17167, 'low': 1.17139, 'close': 1.17145, 'volume': 3.0} | asctime='2026-05-02 20:38:04'
2026-05-02 20:38:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 38, 4, 367398, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17277, 'low': 1.17257, 'close': 1.17277, 'volume': 3.0} | asctime='2026-05-02 20:38:04'
2026-05-02 20:38:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 38, 4, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:38:04'
2026-05-02 20:39:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 10, 515797, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 20:39:10'
2026-05-02 20:39:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 10, 516497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 20:39:10'
2026-05-02 20:39:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 10, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17042, 'volume': 0.0} | asctime='2026-05-02 20:39:10'
2026-05-02 20:39:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 36, 897000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 20:39:36'
2026-05-02 20:39:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 42, 731000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 20:39:42'
2026-05-02 20:39:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 44, 843000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 20:39:44'
2026-05-02 20:39:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 48, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 20:39:48'
2026-05-02 20:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 54, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 20:39:54'
2026-05-02 20:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 39, 57, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 20:39:57'
2026-05-02 20:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 40, 0, 814723, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17042, 'high': 1.17155, 'low': 1.17042, 'close': 1.17151, 'volume': 7.0} | asctime='2026-05-02 20:40:00'
2026-05-02 20:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 40, 0, 815641, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.17284, 'low': 1.17241, 'close': 1.17241, 'volume': 7.0} | asctime='2026-05-02 20:40:00'
2026-05-02 20:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 40, 0, 816634, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17151, 'high': 1.17167, 'low': 1.17042, 'close': 1.17151, 'volume': 14.0} | asctime='2026-05-02 20:40:00'
2026-05-02 20:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 40, 0, 817101, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17241, 'high': 1.17284, 'low': 1.17241, 'close': 1.17241, 'volume': 14.0} | asctime='2026-05-02 20:40:00'
2026-05-02 20:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 40, 0, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 20:40:00'
2026-05-02 20:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 40, 1, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 20:40:01'
2026-05-02 20:40:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 40, 2, 839000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 20:40:02'
2026-05-02 20:41:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 41, 24, 563891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17124, 'low': 1.17118, 'close': 1.17118, 'volume': 3.0} | asctime='2026-05-02 20:41:24'
2026-05-02 20:41:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 41, 24, 564607, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17256, 'low': 1.1725, 'close': 1.1725, 'volume': 3.0} | asctime='2026-05-02 20:41:24'
2026-05-02 20:41:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 41, 24, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17219, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 20:41:24'
2026-05-02 20:42:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 42, 18, 713412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17129, 'low': 1.17129, 'close': 1.17129, 'volume': 1.0} | asctime='2026-05-02 20:42:18'
2026-05-02 20:42:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 42, 18, 715202, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17219, 'high': 1.17219, 'low': 1.17219, 'close': 1.17219, 'volume': 1.0} | asctime='2026-05-02 20:42:18'
2026-05-02 20:42:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 42, 18, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 20:42:18'
2026-05-02 20:42:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 42, 32, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 20:42:32'
2026-05-02 20:42:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 42, 38, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 20:42:38'
2026-05-02 20:43:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 12, 913209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17155, 'low': 1.17121, 'close': 1.17155, 'volume': 3.0} | asctime='2026-05-02 20:43:12'
2026-05-02 20:43:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 12, 914507, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17253, 'low': 1.17244, 'close': 1.17245, 'volume': 3.0} | asctime='2026-05-02 20:43:12'
2026-05-02 20:43:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 12, 993000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 20:43:12'
2026-05-02 20:43:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 13, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 20:43:13'
2026-05-02 20:43:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 13, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 20:43:13'
2026-05-02 20:43:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 14, 730000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:43:14'
2026-05-02 20:43:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 14, 854000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 20:43:14'
2026-05-02 20:43:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 43, 24, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 20:43:24'
2026-05-02 20:44:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 44, 13, 261831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17122, 'close': 1.17146, 'volume': 6.0} | asctime='2026-05-02 20:44:13'
2026-05-02 20:44:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 44, 13, 262853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17278, 'low': 1.17236, 'close': 1.17236, 'volume': 6.0} | asctime='2026-05-02 20:44:13'
2026-05-02 20:44:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 44, 13, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 20:44:13'
2026-05-02 20:44:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 44, 16, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 20:44:16'
2026-05-02 20:44:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 44, 17, 410000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 20:44:17'
2026-05-02 20:44:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 44, 22, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 20:44:22'
2026-05-02 20:44:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 44, 58, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 20:44:57'
2026-05-02 20:45:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 8, 12587, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17143, 'low': 1.17113, 'close': 1.17141, 'volume': 5.0} | asctime='2026-05-02 20:45:08'
2026-05-02 20:45:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 8, 13515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17233, 'high': 1.17274, 'low': 1.17233, 'close': 1.17273, 'volume': 5.0} | asctime='2026-05-02 20:45:08'
2026-05-02 20:45:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 8, 14573, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17124, 'high': 1.17158, 'low': 1.17113, 'close': 1.17141, 'volume': 18.0} | asctime='2026-05-02 20:45:08'
2026-05-02 20:45:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 8, 15436, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17256, 'high': 1.17278, 'low': 1.17219, 'close': 1.17273, 'volume': 18.0} | asctime='2026-05-02 20:45:08'
2026-05-02 20:45:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 8, 16494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17164, 'high': 1.17167, 'low': 1.17042, 'close': 1.17141, 'volume': 41.0} | asctime='2026-05-02 20:45:08'
2026-05-02 20:45:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 8, 17364, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17254, 'high': 1.17284, 'low': 1.17219, 'close': 1.17273, 'volume': 41.0} | asctime='2026-05-02 20:45:08'
2026-05-02 20:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 8, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 20:45:08'
2026-05-02 20:45:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 21, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 20:45:21'
2026-05-02 20:45:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 27, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 20:45:27'
2026-05-02 20:45:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 36, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 20:45:36'
2026-05-02 20:45:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 45, 48, 766000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 20:45:48'
2026-05-02 20:46:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 46, 57, 460830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17151, 'low': 1.17122, 'close': 1.17144, 'volume': 5.0} | asctime='2026-05-02 20:46:57'
2026-05-02 20:46:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 46, 57, 461711, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17234, 'close': 1.17234, 'volume': 5.0} | asctime='2026-05-02 20:46:57'
2026-05-02 20:46:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 46, 57, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 20:46:57'
2026-05-02 20:48:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 48, 18, 659542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17115, 'low': 1.17115, 'close': 1.17115, 'volume': 1.0} | asctime='2026-05-02 20:48:18'
2026-05-02 20:48:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 48, 18, 660348, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17271, 'close': 1.17271, 'volume': 1.0} | asctime='2026-05-02 20:48:18'
2026-05-02 20:48:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 48, 18, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:48:18'
2026-05-02 20:49:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 49, 16, 609313, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 20:49:16'
2026-05-02 20:49:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 49, 16, 610660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 20:49:16'
2026-05-02 20:49:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 49, 16, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 20:49:16'
2026-05-02 20:49:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 49, 32, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 20:49:32'
2026-05-02 20:50:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 46, 708426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17145, 'low': 1.17126, 'close': 1.17145, 'volume': 2.0} | asctime='2026-05-02 20:50:46'
2026-05-02 20:50:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 46, 709933, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17235, 'close': 1.17235, 'volume': 2.0} | asctime='2026-05-02 20:50:46'
2026-05-02 20:50:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 46, 710511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17122, 'high': 1.17153, 'low': 1.17115, 'close': 1.17145, 'volume': 9.0} | asctime='2026-05-02 20:50:46'
2026-05-02 20:50:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 46, 710893, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17234, 'close': 1.17235, 'volume': 9.0} | asctime='2026-05-02 20:50:46'
2026-05-02 20:50:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 46, 779000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 20:50:46'
2026-05-02 20:50:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 48, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 20:50:48'
2026-05-02 20:50:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 48, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 20:50:48'
2026-05-02 20:50:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 50, 51, 993000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 20:50:51'
2026-05-02 20:52:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 52, 16, 208121, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17159, 'low': 1.17125, 'close': 1.17125, 'volume': 4.0} | asctime='2026-05-02 20:52:16'
2026-05-02 20:52:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 52, 16, 208990, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17281, 'low': 1.17249, 'close': 1.17281, 'volume': 4.0} | asctime='2026-05-02 20:52:16'
2026-05-02 20:52:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 52, 16, 271000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 20:52:16'
2026-05-02 20:52:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 52, 24, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 20:52:24'
2026-05-02 20:52:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 52, 25, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 20:52:25'
2026-05-02 20:52:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 52, 30, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 20:52:30'
2026-05-02 20:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 52, 34, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 20:52:34'
2026-05-02 20:54:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 54, 22, 456538, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17144, 'low': 1.17112, 'close': 1.1712, 'volume': 5.0} | asctime='2026-05-02 20:54:22'
2026-05-02 20:54:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 54, 22, 457464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17294, 'low': 1.17252, 'close': 1.17252, 'volume': 5.0} | asctime='2026-05-02 20:54:22'
2026-05-02 20:54:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 54, 22, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 20:54:22'
2026-05-02 20:54:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 54, 26, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 20:54:26'
2026-05-02 20:54:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 54, 46, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 20:54:46'
2026-05-02 20:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 54, 55, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 20:54:55'
2026-05-02 20:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 55, 4, 156901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17157, 'low': 1.17102, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 20:55:04'
2026-05-02 20:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 55, 4, 157997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17258, 'low': 1.17244, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 20:55:04'
2026-05-02 20:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 55, 4, 159209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1713, 'high': 1.17159, 'low': 1.17102, 'close': 1.17154, 'volume': 13.0} | asctime='2026-05-02 20:55:04'
2026-05-02 20:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 55, 4, 159945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17262, 'high': 1.17294, 'low': 1.17244, 'close': 1.17244, 'volume': 13.0} | asctime='2026-05-02 20:55:04'
2026-05-02 20:55:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 55, 4, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 20:55:04'
2026-05-02 20:56:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 56, 52, 505422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17155, 'close': 1.17155, 'volume': 1.0} | asctime='2026-05-02 20:56:52'
2026-05-02 20:56:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 56, 52, 506197, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17245, 'close': 1.17245, 'volume': 1.0} | asctime='2026-05-02 20:56:52'
2026-05-02 20:56:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 56, 52, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 20:56:52'
2026-05-02 20:57:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 57, 25, 4853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17157, 'close': 1.17157, 'volume': 1.0} | asctime='2026-05-02 20:57:25'
2026-05-02 20:57:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 57, 25, 5857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17247, 'close': 1.17247, 'volume': 1.0} | asctime='2026-05-02 20:57:25'
2026-05-02 20:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 57, 25, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 20:57:25'
2026-05-02 20:57:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 57, 30, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 20:57:30'
2026-05-02 20:57:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 57, 34, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 20:57:34'
2026-05-02 20:59:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 59, 22, 453349, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17157, 'low': 1.17151, 'close': 1.17151, 'volume': 3.0} | asctime='2026-05-02 20:59:22'
2026-05-02 20:59:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 59, 22, 454735, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17247, 'low': 1.17241, 'close': 1.17241, 'volume': 3.0} | asctime='2026-05-02 20:59:22'
2026-05-02 20:59:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 59, 22, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 20:59:22'
2026-05-02 20:59:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 59, 55, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 20:59:55'
2026-05-02 20:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 59, 58, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 20:59:57'
2026-05-02 20:59:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 20, 59, 58, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 20:59:58'
2026-05-02 21:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 50614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17109, 'close': 1.17109, 'volume': 4.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 51342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17383, 'low': 1.17243, 'close': 1.17383, 'volume': 4.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 51762, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17158, 'low': 1.17109, 'close': 1.17109, 'volume': 9.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 52172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17383, 'low': 1.17241, 'close': 1.17383, 'volume': 9.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 52589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17122, 'high': 1.17159, 'low': 1.17102, 'close': 1.17109, 'volume': 31.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 52947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17278, 'high': 1.17383, 'low': 1.17234, 'close': 1.17383, 'volume': 31.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17497, 'bid_price': 1.16937, 'volume': 0.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17491, 'bid_price': 1.16931, 'volume': 0.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 357000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17512, 'bid_price': 1.16952, 'volume': 0.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 5, 1, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:05:01'
2026-05-02 21:06:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 6, 39, 849238, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16937, 'high': 1.17109, 'low': 1.16931, 'close': 1.17109, 'volume': 4.0} | asctime='2026-05-02 21:06:39'
2026-05-02 21:06:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 6, 39, 850027, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17497, 'high': 1.17512, 'low': 1.17383, 'close': 1.17383, 'volume': 4.0} | asctime='2026-05-02 21:06:39'
2026-05-02 21:06:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 6, 39, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:06:39'
2026-05-02 21:06:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 6, 58, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 21:06:57'
2026-05-02 21:07:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 7, 28, 599142, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17159, 'low': 1.17153, 'close': 1.17159, 'volume': 2.0} | asctime='2026-05-02 21:07:28'
2026-05-02 21:07:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 7, 28, 600026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17249, 'low': 1.17243, 'close': 1.17249, 'volume': 2.0} | asctime='2026-05-02 21:07:28'
2026-05-02 21:07:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 7, 28, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 21:07:28'
2026-05-02 21:08:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 8, 57, 997642, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17127, 'low': 1.17127, 'close': 1.17127, 'volume': 1.0} | asctime='2026-05-02 21:08:57'
2026-05-02 21:08:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 8, 57, 999545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 21:08:58'
2026-05-02 21:08:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 8, 58, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 21:08:58'
2026-05-02 21:09:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 9, 35, 97985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17132, 'high': 1.17132, 'low': 1.17132, 'close': 1.17132, 'volume': 1.0} | asctime='2026-05-02 21:09:35'
2026-05-02 21:09:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 9, 35, 99109, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17264, 'low': 1.17264, 'close': 1.17264, 'volume': 1.0} | asctime='2026-05-02 21:09:35'
2026-05-02 21:09:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 9, 35, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 21:09:35'
2026-05-02 21:10:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 10, 13, 696650, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17156, 'low': 1.17156, 'close': 1.17156, 'volume': 1.0} | asctime='2026-05-02 21:10:13'
2026-05-02 21:10:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 10, 13, 697888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17246, 'low': 1.17246, 'close': 1.17246, 'volume': 1.0} | asctime='2026-05-02 21:10:13'
2026-05-02 21:10:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 10, 13, 699139, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16937, 'high': 1.17159, 'low': 1.16931, 'close': 1.17156, 'volume': 9.0} | asctime='2026-05-02 21:10:13'
2026-05-02 21:10:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 10, 13, 700104, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17497, 'high': 1.17512, 'low': 1.17243, 'close': 1.17246, 'volume': 9.0} | asctime='2026-05-02 21:10:13'
2026-05-02 21:10:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 10, 13, 771000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 21:10:13'
2026-05-02 21:10:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 10, 22, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 21:10:22'
2026-05-02 21:10:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 10, 40, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 21:10:40'
2026-05-02 21:11:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 11, 30, 396539, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17131, 'low': 1.17123, 'close': 1.17123, 'volume': 3.0} | asctime='2026-05-02 21:11:30'
2026-05-02 21:11:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 11, 30, 397983, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17263, 'low': 1.17255, 'close': 1.17255, 'volume': 3.0} | asctime='2026-05-02 21:11:30'
2026-05-02 21:11:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 11, 30, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:11:30'
2026-05-02 21:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 11, 44, 502000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:11:44'
2026-05-02 21:12:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 12, 50, 594928, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17153, 'low': 1.17125, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 21:12:50'
2026-05-02 21:12:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 12, 50, 595996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 21:12:50'
2026-05-02 21:12:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 12, 50, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:12:50'
2026-05-02 21:13:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 1, 995123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17126, 'low': 1.17126, 'close': 1.17126, 'volume': 1.0} | asctime='2026-05-02 21:13:01'
2026-05-02 21:13:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 1, 996072, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17258, 'low': 1.17258, 'close': 1.17258, 'volume': 1.0} | asctime='2026-05-02 21:13:01'
2026-05-02 21:13:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 2, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 21:13:01'
2026-05-02 21:13:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 2, 201000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:13:02'
2026-05-02 21:13:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 10, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:13:10'
2026-05-02 21:13:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 25, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 21:13:25'
2026-05-02 21:13:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 25, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 21:13:25'
2026-05-02 21:13:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 28, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:13:28'
2026-05-02 21:13:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 45, 395000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 21:13:45'
2026-05-02 21:13:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 45, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 21:13:45'
2026-05-02 21:13:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 46, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:13:46'
2026-05-02 21:13:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 13, 54, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:13:54'
2026-05-02 21:14:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 14, 38, 544930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.1714, 'low': 1.17108, 'close': 1.17108, 'volume': 10.0} | asctime='2026-05-02 21:14:38'
2026-05-02 21:14:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 14, 38, 546310, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17254, 'high': 1.17268, 'low': 1.17226, 'close': 1.17264, 'volume': 10.0} | asctime='2026-05-02 21:14:38'
2026-05-02 21:14:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 14, 38, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:14:38'
2026-05-02 21:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 8, 494090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17112, 'low': 1.17112, 'close': 1.17112, 'volume': 1.0} | asctime='2026-05-02 21:15:08'
2026-05-02 21:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 8, 494931, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 21:15:08'
2026-05-02 21:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 8, 495614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17131, 'high': 1.17153, 'low': 1.17108, 'close': 1.17112, 'volume': 17.0} | asctime='2026-05-02 21:15:08'
2026-05-02 21:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 8, 496025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17263, 'high': 1.17268, 'low': 1.17226, 'close': 1.17244, 'volume': 17.0} | asctime='2026-05-02 21:15:08'
2026-05-02 21:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 8, 496419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16937, 'high': 1.17159, 'low': 1.16931, 'close': 1.17112, 'volume': 26.0} | asctime='2026-05-02 21:15:08'
2026-05-02 21:15:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 8, 496824, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17497, 'high': 1.17512, 'low': 1.17226, 'close': 1.17244, 'volume': 26.0} | asctime='2026-05-02 21:15:08'
2026-05-02 21:15:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 8, 557000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 21:15:08'
2026-05-02 21:15:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 15, 26, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:15:26'
2026-05-02 21:16:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 16, 24, 543275, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17117, 'high': 1.17153, 'low': 1.17117, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 21:16:24'
2026-05-02 21:16:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 16, 24, 544516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 21:16:24'
2026-05-02 21:16:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 16, 24, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 21:16:24'
2026-05-02 21:17:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 17, 38, 392689, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17152, 'high': 1.17152, 'low': 1.17152, 'close': 1.17152, 'volume': 1.0} | asctime='2026-05-02 21:17:38'
2026-05-02 21:17:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 17, 38, 394296, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17242, 'high': 1.17242, 'low': 1.17242, 'close': 1.17242, 'volume': 1.0} | asctime='2026-05-02 21:17:38'
2026-05-02 21:17:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 17, 38, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:17:38'
2026-05-02 21:18:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 18, 27, 941888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 21:18:27'
2026-05-02 21:18:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 18, 27, 943672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 21:18:27'
2026-05-02 21:18:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 18, 28, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 21:18:27'
2026-05-02 21:18:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 18, 34, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17175, 'volume': 0.0} | asctime='2026-05-02 21:18:34'
2026-05-02 21:18:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 18, 48, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 21:18:48'
2026-05-02 21:18:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 18, 52, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 21:18:52'
2026-05-02 21:20:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 20, 56, 40448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17175, 'low': 1.17143, 'close': 1.17154, 'volume': 4.0} | asctime='2026-05-02 21:20:56'
2026-05-02 21:20:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 20, 56, 41670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17275, 'low': 1.17244, 'close': 1.17244, 'volume': 4.0} | asctime='2026-05-02 21:20:56'
2026-05-02 21:20:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 20, 56, 42259, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17117, 'high': 1.17175, 'low': 1.17117, 'close': 1.17154, 'volume': 8.0} | asctime='2026-05-02 21:20:56'
2026-05-02 21:20:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 20, 56, 42710, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17249, 'high': 1.17275, 'low': 1.17242, 'close': 1.17244, 'volume': 8.0} | asctime='2026-05-02 21:20:56'
2026-05-02 21:20:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 20, 56, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 21:20:56'
2026-05-02 21:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 21, 2, 241325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17157, 'close': 1.17157, 'volume': 1.0} | asctime='2026-05-02 21:21:02'
2026-05-02 21:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 21, 2, 242736, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17247, 'low': 1.17247, 'close': 1.17247, 'volume': 1.0} | asctime='2026-05-02 21:21:02'
2026-05-02 21:21:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 21, 2, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 21:21:02'
2026-05-02 21:21:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 21, 18, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 21:21:18'
2026-05-02 21:22:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 22, 38, 389879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17148, 'low': 1.17129, 'close': 1.17148, 'volume': 2.0} | asctime='2026-05-02 21:22:38'
2026-05-02 21:22:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 22, 38, 391267, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17261, 'low': 1.17238, 'close': 1.17238, 'volume': 2.0} | asctime='2026-05-02 21:22:38'
2026-05-02 21:22:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 22, 38, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:22:38'
2026-05-02 21:23:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 23, 32, 38966, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 21:23:32'
2026-05-02 21:23:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 23, 32, 39978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 21:23:32'
2026-05-02 21:23:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 23, 32, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 21:23:32'
2026-05-02 21:23:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 23, 41, 919000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 21:23:41'
2026-05-02 21:23:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 23, 42, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:23:42'
2026-05-02 21:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 25, 8, 488340, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17148, 'high': 1.17148, 'low': 1.17118, 'close': 1.17125, 'volume': 3.0} | asctime='2026-05-02 21:25:08'
2026-05-02 21:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 25, 8, 489210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17238, 'high': 1.17274, 'low': 1.17238, 'close': 1.17257, 'volume': 3.0} | asctime='2026-05-02 21:25:08'
2026-05-02 21:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 25, 8, 489910, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17118, 'close': 1.17125, 'volume': 7.0} | asctime='2026-05-02 21:25:08'
2026-05-02 21:25:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 25, 8, 490568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17247, 'high': 1.17274, 'low': 1.17238, 'close': 1.17257, 'volume': 7.0} | asctime='2026-05-02 21:25:08'
2026-05-02 21:25:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 25, 8, 555000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:25:08'
2026-05-02 21:25:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 25, 8, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 21:25:08'
2026-05-02 21:26:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 26, 36, 487291, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.1713, 'low': 1.17127, 'close': 1.17127, 'volume': 2.0} | asctime='2026-05-02 21:26:36'
2026-05-02 21:26:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 26, 36, 487920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17286, 'high': 1.17286, 'low': 1.17283, 'close': 1.17283, 'volume': 2.0} | asctime='2026-05-02 21:26:36'
2026-05-02 21:26:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 26, 36, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:26:36'
2026-05-02 21:26:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 26, 39, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 21:26:39'
2026-05-02 21:26:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 26, 42, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17306, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 21:26:42'
2026-05-02 21:26:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 26, 50, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 21:26:50'
2026-05-02 21:29:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 29, 13, 985134, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17142, 'low': 1.17102, 'close': 1.17116, 'volume': 4.0} | asctime='2026-05-02 21:29:13'
2026-05-02 21:29:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 29, 13, 986184, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17306, 'low': 1.17248, 'close': 1.17248, 'volume': 4.0} | asctime='2026-05-02 21:29:13'
2026-05-02 21:29:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 29, 14, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:29:13'
2026-05-02 21:30:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 32, 534817, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17128, 'low': 1.17128, 'close': 1.17128, 'volume': 1.0} | asctime='2026-05-02 21:30:32'
2026-05-02 21:30:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 32, 535868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.1726, 'close': 1.1726, 'volume': 1.0} | asctime='2026-05-02 21:30:32'
2026-05-02 21:30:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 32, 536907, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1713, 'high': 1.17142, 'low': 1.17102, 'close': 1.17128, 'volume': 7.0} | asctime='2026-05-02 21:30:32'
2026-05-02 21:30:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 32, 537814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17286, 'high': 1.17306, 'low': 1.17248, 'close': 1.1726, 'volume': 7.0} | asctime='2026-05-02 21:30:32'
2026-05-02 21:30:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 32, 538289, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17117, 'high': 1.17175, 'low': 1.17102, 'close': 1.17128, 'volume': 22.0} | asctime='2026-05-02 21:30:32'
2026-05-02 21:30:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 32, 539010, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17249, 'high': 1.17306, 'low': 1.17238, 'close': 1.1726, 'volume': 22.0} | asctime='2026-05-02 21:30:32'
2026-05-02 21:30:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 32, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 21:30:32'
2026-05-02 21:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 30, 40, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 21:30:40'
2026-05-02 21:31:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 31, 1, 734707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17143, 'low': 1.17137, 'close': 1.17143, 'volume': 2.0} | asctime='2026-05-02 21:31:01'
2026-05-02 21:31:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 31, 1, 735442, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17275, 'low': 1.17269, 'close': 1.17275, 'volume': 2.0} | asctime='2026-05-02 21:31:01'
2026-05-02 21:31:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 31, 1, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 21:31:01'
2026-05-02 21:31:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 31, 2, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:31:02'
2026-05-02 21:31:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 31, 3, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 21:31:03'
2026-05-02 21:32:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 32, 56, 34016, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17096, 'high': 1.17137, 'low': 1.17096, 'close': 1.17137, 'volume': 3.0} | asctime='2026-05-02 21:32:56'
2026-05-02 21:32:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 32, 56, 34690, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.173, 'high': 1.173, 'low': 1.17269, 'close': 1.17269, 'volume': 3.0} | asctime='2026-05-02 21:32:56'
2026-05-02 21:32:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 32, 56, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 21:32:56'
2026-05-02 21:33:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 33, 31, 34700, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17165, 'high': 1.17165, 'low': 1.17165, 'close': 1.17165, 'volume': 1.0} | asctime='2026-05-02 21:33:31'
2026-05-02 21:33:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 33, 31, 35627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17255, 'close': 1.17255, 'volume': 1.0} | asctime='2026-05-02 21:33:31'
2026-05-02 21:33:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 33, 31, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 21:33:31'
2026-05-02 21:33:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 33, 40, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 21:33:40'
2026-05-02 21:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 35, 6, 982767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17158, 'high': 1.17158, 'low': 1.17154, 'close': 1.17154, 'volume': 2.0} | asctime='2026-05-02 21:35:06'
2026-05-02 21:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 35, 6, 983927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17248, 'high': 1.17248, 'low': 1.17244, 'close': 1.17244, 'volume': 2.0} | asctime='2026-05-02 21:35:06'
2026-05-02 21:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 35, 6, 985622, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.17165, 'low': 1.17096, 'close': 1.17154, 'volume': 8.0} | asctime='2026-05-02 21:35:06'
2026-05-02 21:35:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 35, 6, 987315, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17269, 'high': 1.173, 'low': 1.17244, 'close': 1.17244, 'volume': 8.0} | asctime='2026-05-02 21:35:06'
2026-05-02 21:35:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 35, 7, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 21:35:06'
2026-05-02 21:36:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 0, 981639, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17155, 'close': 1.17155, 'volume': 1.0} | asctime='2026-05-02 21:36:00'
2026-05-02 21:36:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 0, 982350, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.17245, 'low': 1.17245, 'close': 1.17245, 'volume': 1.0} | asctime='2026-05-02 21:36:00'
2026-05-02 21:36:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 1, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 21:36:00'
2026-05-02 21:36:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 10, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:36:10'
2026-05-02 21:36:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 10, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 21:36:10'
2026-05-02 21:36:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 23, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:36:22'
2026-05-02 21:36:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 25, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 21:36:25'
2026-05-02 21:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 28, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:36:28'
2026-05-02 21:36:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 48, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17301, 'bid_price': 1.17097, 'volume': 0.0} | asctime='2026-05-02 21:36:48'
2026-05-02 21:36:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 48, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 21:36:48'
2026-05-02 21:36:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 36, 49, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 21:36:48'
2026-05-02 21:37:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 8, 980968, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17168, 'low': 1.17097, 'close': 1.17168, 'volume': 9.0} | asctime='2026-05-02 21:37:08'
2026-05-02 21:37:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 8, 985038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17301, 'low': 1.17243, 'close': 1.17258, 'volume': 9.0} | asctime='2026-05-02 21:37:08'
2026-05-02 21:37:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 9, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 21:37:08'
2026-05-02 21:37:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 9, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17337, 'bid_price': 1.17063, 'volume': 0.0} | asctime='2026-05-02 21:37:09'
2026-05-02 21:37:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 9, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:09'
2026-05-02 21:37:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 9, 940000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17357, 'bid_price': 1.17083, 'volume': 0.0} | asctime='2026-05-02 21:37:09'
2026-05-02 21:37:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 10, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17367, 'bid_price': 1.17093, 'volume': 0.0} | asctime='2026-05-02 21:37:09'
2026-05-02 21:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 10, 312000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17305, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 21:37:10'
2026-05-02 21:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 10, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 21:37:10'
2026-05-02 21:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 10, 808000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17304, 'bid_price': 1.17052, 'volume': 0.0} | asctime='2026-05-02 21:37:10'
2026-05-02 21:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 10, 932000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17052, 'volume': 0.0} | asctime='2026-05-02 21:37:10'
2026-05-02 21:37:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 11, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17051, 'volume': 0.0} | asctime='2026-05-02 21:37:11'
2026-05-02 21:37:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 11, 801000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17055, 'volume': 0.0} | asctime='2026-05-02 21:37:11'
2026-05-02 21:37:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 12, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:11'
2026-05-02 21:37:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 12, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.174, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:37:12'
2026-05-02 21:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 14, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17424, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 21:37:14'
2026-05-02 21:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 14, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17501, 'bid_price': 1.16941, 'volume': 0.0} | asctime='2026-05-02 21:37:14'
2026-05-02 21:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 14, 532000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17466, 'bid_price': 1.16906, 'volume': 0.0} | asctime='2026-05-02 21:37:14'
2026-05-02 21:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 14, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1736, 'bid_price': 1.17086, 'volume': 0.0} | asctime='2026-05-02 21:37:14'
2026-05-02 21:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 14, 780000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1733, 'bid_price': 1.17056, 'volume': 0.0} | asctime='2026-05-02 21:37:14'
2026-05-02 21:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 15, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17341, 'bid_price': 1.17067, 'volume': 0.0} | asctime='2026-05-02 21:37:14'
2026-05-02 21:37:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 15, 401000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17329, 'bid_price': 1.17055, 'volume': 0.0} | asctime='2026-05-02 21:37:15'
2026-05-02 21:37:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 15, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:15'
2026-05-02 21:37:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 15, 898000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17336, 'bid_price': 1.17062, 'volume': 0.0} | asctime='2026-05-02 21:37:15'
2026-05-02 21:37:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 16, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:15'
2026-05-02 21:37:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 16, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17365, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 21:37:16'
2026-05-02 21:37:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 16, 891000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17297, 'bid_price': 1.17093, 'volume': 0.0} | asctime='2026-05-02 21:37:16'
2026-05-02 21:37:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 17, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:16'
2026-05-02 21:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 17, 387000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17551, 'bid_price': 1.16991, 'volume': 0.0} | asctime='2026-05-02 21:37:17'
2026-05-02 21:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 17, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:17'
2026-05-02 21:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 17, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17362, 'bid_price': 1.17088, 'volume': 0.0} | asctime='2026-05-02 21:37:17'
2026-05-02 21:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 18, 8000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17351, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 21:37:17'
2026-05-02 21:37:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 18, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17363, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 21:37:18'
2026-05-02 21:37:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 18, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.174, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:37:18'
2026-05-02 21:37:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 18, 876000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17393, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 21:37:18'
2026-05-02 21:37:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 19, 373000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17312, 'bid_price': 1.17084, 'volume': 0.0} | asctime='2026-05-02 21:37:19'
2026-05-02 21:37:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 19, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17057, 'volume': 0.0} | asctime='2026-05-02 21:37:19'
2026-05-02 21:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 20, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:37:20'
2026-05-02 21:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 20, 366000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 21:37:20'
2026-05-02 21:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 20, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 21:37:20'
2026-05-02 21:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 20, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17051, 'volume': 0.0} | asctime='2026-05-02 21:37:20'
2026-05-02 21:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 20, 863000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:37:20'
2026-05-02 21:37:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 21, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 21:37:21'
2026-05-02 21:37:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 21, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 21:37:21'
2026-05-02 21:37:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 21, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 21:37:21'
2026-05-02 21:37:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 22, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 21:37:22'
2026-05-02 21:37:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 22, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 21:37:22'
2026-05-02 21:37:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 22, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17075, 'volume': 0.0} | asctime='2026-05-02 21:37:22'
2026-05-02 21:37:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 22, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.17058, 'volume': 0.0} | asctime='2026-05-02 21:37:22'
2026-05-02 21:37:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 23, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17045, 'volume': 0.0} | asctime='2026-05-02 21:37:23'
2026-05-02 21:37:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 23, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 21:37:23'
2026-05-02 21:37:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 23, 966000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 21:37:23'
2026-05-02 21:37:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 24, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 21:37:24'
2026-05-02 21:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 25, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17313, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:25'
2026-05-02 21:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 25, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17314, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 21:37:25'
2026-05-02 21:37:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 26, 326000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17317, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 21:37:26'
2026-05-02 21:37:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 26, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 21:37:26'
2026-05-02 21:37:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 27, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 21:37:27'
2026-05-02 21:37:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 28, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:37:27'
2026-05-02 21:37:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 28, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:37:28'
2026-05-02 21:37:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 29, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:37:29'
2026-05-02 21:37:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 29, 303000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17054, 'volume': 0.0} | asctime='2026-05-02 21:37:29'
2026-05-02 21:37:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 29, 924000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 21:37:29'
2026-05-02 21:37:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 30, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 21:37:30'
2026-05-02 21:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 32, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 21:37:32'
2026-05-02 21:37:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 33, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:37:33'
2026-05-02 21:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 34, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 21:37:34'
2026-05-02 21:37:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 36, 502000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17305, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 21:37:36'
2026-05-02 21:37:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 38, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 21:37:38'
2026-05-02 21:37:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 38, 861000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:37:38'
2026-05-02 21:37:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 39, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17221, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 21:37:39'
2026-05-02 21:37:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 40, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 21:37:40'
2026-05-02 21:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 41, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:37:41'
2026-05-02 21:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 41, 467000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 21:37:41'
2026-05-02 21:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 41, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:37:41'
2026-05-02 21:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 41, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 21:37:41'
2026-05-02 21:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 42, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17348, 'bid_price': 1.17074, 'volume': 0.0} | asctime='2026-05-02 21:37:41'
2026-05-02 21:37:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 43, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:37:42'
2026-05-02 21:37:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 43, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17057, 'volume': 0.0} | asctime='2026-05-02 21:37:43'
2026-05-02 21:37:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 43, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17321, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 21:37:43'
2026-05-02 21:37:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 43, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:37:43'
2026-05-02 21:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 44, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17039, 'volume': 0.0} | asctime='2026-05-02 21:37:44'
2026-05-02 21:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 44, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17322, 'bid_price': 1.17048, 'volume': 0.0} | asctime='2026-05-02 21:37:44'
2026-05-02 21:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 44, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17328, 'bid_price': 1.17054, 'volume': 0.0} | asctime='2026-05-02 21:37:44'
2026-05-02 21:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 44, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17331, 'bid_price': 1.17079, 'volume': 0.0} | asctime='2026-05-02 21:37:44'
2026-05-02 21:37:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 45, 440000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17388, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 21:37:45'
2026-05-02 21:37:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 45, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17315, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 21:37:45'
2026-05-02 21:37:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 46, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:37:45'
2026-05-02 21:37:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 46, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 21:37:46'
2026-05-02 21:37:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 46, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17318, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 21:37:46'
2026-05-02 21:37:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 46, 804000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17352, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 21:37:46'
2026-05-02 21:37:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 46, 929000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17352, 'bid_price': 1.17078, 'volume': 0.0} | asctime='2026-05-02 21:37:46'
2026-05-02 21:37:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 47, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17329, 'bid_price': 1.17077, 'volume': 0.0} | asctime='2026-05-02 21:37:47'
2026-05-02 21:37:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 47, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17322, 'bid_price': 1.17094, 'volume': 0.0} | asctime='2026-05-02 21:37:47'
2026-05-02 21:37:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 47, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17309, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 21:37:47'
2026-05-02 21:37:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 47, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17317, 'bid_price': 1.17089, 'volume': 0.0} | asctime='2026-05-02 21:37:47'
2026-05-02 21:37:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 49, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17345, 'bid_price': 1.17071, 'volume': 0.0} | asctime='2026-05-02 21:37:49'
2026-05-02 21:37:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 49, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17342, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 21:37:49'
2026-05-02 21:37:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 49, 783000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 21:37:49'
2026-05-02 21:37:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 49, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 21:37:49'
2026-05-02 21:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 51, 25000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.17098, 'volume': 0.0} | asctime='2026-05-02 21:37:50'
2026-05-02 21:37:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 51, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 21:37:51'
2026-05-02 21:37:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 53, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 21:37:53'
2026-05-02 21:37:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 54, 376000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 21:37:54'
2026-05-02 21:37:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 54, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:37:54'
2026-05-02 21:37:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 55, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17055, 'volume': 0.0} | asctime='2026-05-02 21:37:55'
2026-05-02 21:37:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 55, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 21:37:55'
2026-05-02 21:37:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 55, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17044, 'volume': 0.0} | asctime='2026-05-02 21:37:55'
2026-05-02 21:37:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 55, 865000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 21:37:55'
2026-05-02 21:37:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 56, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:37:56'
2026-05-02 21:37:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 56, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 21:37:56'
2026-05-02 21:37:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 57, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:37:57'
2026-05-02 21:37:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 57, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 21:37:57'
2026-05-02 21:37:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 59, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:37:59'
2026-05-02 21:37:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 59, 713000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 21:37:59'
2026-05-02 21:37:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 37, 59, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 21:37:59'
2026-05-02 21:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 0, 130751, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17089, 'high': 1.17169, 'low': 1.16906, 'close': 1.1711, 'volume': 114.0} | asctime='2026-05-02 21:38:00'
2026-05-02 21:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 0, 132630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17551, 'low': 1.17221, 'close': 1.17266, 'volume': 114.0} | asctime='2026-05-02 21:38:00'
2026-05-02 21:38:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 0, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 21:38:00'
2026-05-02 21:38:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 0, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:38:00'
2026-05-02 21:38:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 1, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 21:38:01'
2026-05-02 21:38:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 1, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 21:38:01'
2026-05-02 21:38:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 3, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 21:38:03'
2026-05-02 21:38:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 4, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 21:38:04'
2026-05-02 21:38:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 5, 920000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 21:38:05'
2026-05-02 21:38:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 6, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 21:38:06'
2026-05-02 21:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 12, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:38:12'
2026-05-02 21:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 12, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:38:12'
2026-05-02 21:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 12, 871000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 21:38:12'
2026-05-02 21:38:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 13, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:38:13'
2026-05-02 21:38:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 13, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 21:38:13'
2026-05-02 21:38:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 14, 236000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 21:38:14'
2026-05-02 21:38:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 15, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 21:38:15'
2026-05-02 21:38:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 15, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 21:38:15'
2026-05-02 21:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 16, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:38:16'
2026-05-02 21:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 16, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 21:38:16'
2026-05-02 21:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 16, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 21:38:16'
2026-05-02 21:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 17, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17299, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 21:38:16'
2026-05-02 21:38:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 17, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 21:38:17'
2026-05-02 21:38:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 18, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:38:17'
2026-05-02 21:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 21, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 21:38:21'
2026-05-02 21:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 21, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 21:38:21'
2026-05-02 21:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 22, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 21:38:21'
2026-05-02 21:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 23, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17085, 'volume': 0.0} | asctime='2026-05-02 21:38:23'
2026-05-02 21:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 23, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 21:38:23'
2026-05-02 21:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 24, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 21:38:23'
2026-05-02 21:38:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 25, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 21:38:24'
2026-05-02 21:38:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 25, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 21:38:25'
2026-05-02 21:38:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 26, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:38:26'
2026-05-02 21:38:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 27, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:38:26'
2026-05-02 21:38:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 27, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:38:27'
2026-05-02 21:38:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 27, 765000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:38:27'
2026-05-02 21:38:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 28, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:38:28'
2026-05-02 21:38:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 32, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 21:38:32'
2026-05-02 21:38:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 32, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 21:38:32'
2026-05-02 21:38:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 32, 730000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 21:38:32'
2026-05-02 21:38:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 32, 854000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1734, 'bid_price': 1.17066, 'volume': 0.0} | asctime='2026-05-02 21:38:32'
2026-05-02 21:38:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 33, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17339, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 21:38:33'
2026-05-02 21:38:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 33, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:38:33'
2026-05-02 21:38:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 34, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:38:34'
2026-05-02 21:38:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 37, 323000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:38:37'
2026-05-02 21:38:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 37, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 21:38:37'
2026-05-02 21:38:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 39, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:38:39'
2026-05-02 21:38:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 39, 929000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 21:38:39'
2026-05-02 21:38:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 40, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 21:38:39'
2026-05-02 21:38:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 40, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17301, 'bid_price': 1.17073, 'volume': 0.0} | asctime='2026-05-02 21:38:40'
2026-05-02 21:38:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 40, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17299, 'bid_price': 1.17071, 'volume': 0.0} | asctime='2026-05-02 21:38:40'
2026-05-02 21:38:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 40, 922000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 21:38:40'
2026-05-02 21:38:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 42, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17063, 'volume': 0.0} | asctime='2026-05-02 21:38:42'
2026-05-02 21:38:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 43, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:38:43'
2026-05-02 21:38:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 43, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:38:43'
2026-05-02 21:38:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 43, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:38:43'
2026-05-02 21:38:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 43, 653000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17313, 'bid_price': 1.17085, 'volume': 0.0} | asctime='2026-05-02 21:38:43'
2026-05-02 21:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 45, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 21:38:45'
2026-05-02 21:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 45, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 21:38:45'
2026-05-02 21:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 45, 763000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 21:38:45'
2026-05-02 21:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 46, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 21:38:45'
2026-05-02 21:38:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 47, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 21:38:47'
2026-05-02 21:38:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 48, 370000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:38:48'
2026-05-02 21:38:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 48, 742000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:38:48'
2026-05-02 21:38:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 48, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 21:38:48'
2026-05-02 21:38:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 48, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.1709, 'volume': 0.0} | asctime='2026-05-02 21:38:48'
2026-05-02 21:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 50, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 21:38:50'
2026-05-02 21:38:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 58, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 21:38:57'
2026-05-02 21:38:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 58, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 21:38:58'
2026-05-02 21:38:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 38, 58, 927000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 21:38:58'
2026-05-02 21:39:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 1, 429460, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17161, 'low': 1.17063, 'close': 1.17159, 'volume': 68.0} | asctime='2026-05-02 21:39:01'
2026-05-02 21:39:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 1, 430588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.1734, 'low': 1.17227, 'close': 1.17249, 'volume': 68.0} | asctime='2026-05-02 21:39:01'
2026-05-02 21:39:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 1, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 21:39:01'
2026-05-02 21:39:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 2, 892000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 21:39:02'
2026-05-02 21:39:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 3, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 21:39:03'
2026-05-02 21:39:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 4, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 21:39:04'
2026-05-02 21:39:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 10, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:39:10'
2026-05-02 21:39:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 17, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17407, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:39:17'
2026-05-02 21:39:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 17, 538000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.174, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:39:17'
2026-05-02 21:39:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 19, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17067, 'volume': 0.0} | asctime='2026-05-02 21:39:19'
2026-05-02 21:39:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 24, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:39:24'
2026-05-02 21:39:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 24, 861000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 21:39:24'
2026-05-02 21:39:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 27, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:39:27'
2026-05-02 21:39:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 30, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 21:39:30'
2026-05-02 21:39:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 33, 922000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 21:39:33'
2026-05-02 21:39:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 36, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 21:39:36'
2026-05-02 21:39:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 42, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17078, 'volume': 0.0} | asctime='2026-05-02 21:39:42'
2026-05-02 21:39:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 42, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 21:39:42'
2026-05-02 21:39:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 45, 714000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:39:45'
2026-05-02 21:39:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 46, 334000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 21:39:46'
2026-05-02 21:39:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 46, 830000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 21:39:46'
2026-05-02 21:39:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 48, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 21:39:48'
2026-05-02 21:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 54, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 21:39:54'
2026-05-02 21:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 54, 402000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 21:39:54'
2026-05-02 21:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 39, 58, 1000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 21:39:57'
2026-05-02 21:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 0, 529024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17155, 'low': 1.17067, 'close': 1.17144, 'volume': 23.0} | asctime='2026-05-02 21:40:00'
2026-05-02 21:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 0, 531837, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17407, 'low': 1.17234, 'close': 1.17234, 'volume': 23.0} | asctime='2026-05-02 21:40:00'
2026-05-02 21:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 0, 533468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17155, 'high': 1.17169, 'low': 1.16906, 'close': 1.17144, 'volume': 215.0} | asctime='2026-05-02 21:40:00'
2026-05-02 21:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 0, 534617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17245, 'high': 1.17551, 'low': 1.17221, 'close': 1.17234, 'volume': 215.0} | asctime='2026-05-02 21:40:00'
2026-05-02 21:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 0, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 21:40:00'
2026-05-02 21:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 0, 856000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:40:00'
2026-05-02 21:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 1, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 21:40:01'
2026-05-02 21:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 1, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:40:01'
2026-05-02 21:40:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 2, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 21:40:02'
2026-05-02 21:40:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 8, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:40:08'
2026-05-02 21:40:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 14, 509000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:40:14'
2026-05-02 21:40:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 15, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 21:40:15'
2026-05-02 21:40:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 16, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:40:16'
2026-05-02 21:40:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 16, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:40:16'
2026-05-02 21:40:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 32, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 21:40:32'
2026-05-02 21:40:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 33, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 21:40:33'
2026-05-02 21:40:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 36, 479000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:40:36'
2026-05-02 21:40:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 36, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:40:36'
2026-05-02 21:40:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 37, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 21:40:37'
2026-05-02 21:40:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 41, 444000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 21:40:41'
2026-05-02 21:40:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 41, 568000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 21:40:41'
2026-05-02 21:40:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 41, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 21:40:41'
2026-05-02 21:40:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 42, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:40:42'
2026-05-02 21:40:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 42, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 21:40:42'
2026-05-02 21:40:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 49, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:40:49'
2026-05-02 21:40:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 57, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 21:40:57'
2026-05-02 21:40:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 57, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:40:57'
2026-05-02 21:40:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 58, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:40:58'
2026-05-02 21:40:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 58, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17303, 'bid_price': 1.17075, 'volume': 0.0} | asctime='2026-05-02 21:40:58'
2026-05-02 21:40:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 59, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 21:40:59'
2026-05-02 21:40:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 59, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:40:59'
2026-05-02 21:40:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 40, 59, 938000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 21:40:59'
2026-05-02 21:41:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 11, 279662, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17153, 'low': 1.17075, 'close': 1.17142, 'volume': 28.0} | asctime='2026-05-02 21:41:11'
2026-05-02 21:41:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 11, 281468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17251, 'high': 1.17303, 'low': 1.17233, 'close': 1.17274, 'volume': 28.0} | asctime='2026-05-02 21:41:11'
2026-05-02 21:41:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 11, 357000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:41:11'
2026-05-02 21:41:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 17, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:41:17'
2026-05-02 21:41:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 31, 464000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 21:41:31'
2026-05-02 21:41:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 32, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:41:31'
2026-05-02 21:41:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 40, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:41:40'
2026-05-02 21:41:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 43, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:41:43'
2026-05-02 21:41:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 44, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:41:44'
2026-05-02 21:41:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 48, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 21:41:48'
2026-05-02 21:41:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 50, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17322, 'bid_price': 1.1707, 'volume': 0.0} | asctime='2026-05-02 21:41:50'
2026-05-02 21:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 57, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 21:41:57'
2026-05-02 21:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 41, 58, 27000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 21:41:57'
2026-05-02 21:42:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 1, 278681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17124, 'high': 1.17141, 'low': 1.1707, 'close': 1.1711, 'volume': 11.0} | asctime='2026-05-02 21:42:01'
2026-05-02 21:42:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 1, 279643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1728, 'high': 1.17322, 'low': 1.17231, 'close': 1.17266, 'volume': 11.0} | asctime='2026-05-02 21:42:01'
2026-05-02 21:42:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 1, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:42:01'
2026-05-02 21:42:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 1, 874000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:42:01'
2026-05-02 21:42:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 1, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:42:01'
2026-05-02 21:42:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 8, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17421, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 21:42:07'
2026-05-02 21:42:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 8, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 21:42:08'
2026-05-02 21:42:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 9, 817000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 21:42:09'
2026-05-02 21:42:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 11, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:42:11'
2026-05-02 21:42:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 12, 797000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 21:42:12'
2026-05-02 21:42:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 18, 878000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 21:42:18'
2026-05-02 21:42:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 19, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 21:42:19'
2026-05-02 21:42:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 20, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 21:42:20'
2026-05-02 21:42:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 20, 865000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:42:20'
2026-05-02 21:42:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 22, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:42:22'
2026-05-02 21:42:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 32, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 21:42:32'
2026-05-02 21:42:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 34, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 21:42:34'
2026-05-02 21:42:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 39, 234000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:42:39'
2026-05-02 21:42:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 39, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17223, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:42:39'
2026-05-02 21:42:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 41, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 21:42:41'
2026-05-02 21:42:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 41, 468000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 21:42:41'
2026-05-02 21:42:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 44, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 21:42:44'
2026-05-02 21:42:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 48, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 21:42:48'
2026-05-02 21:42:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 50, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 21:42:50'
2026-05-02 21:42:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 50, 777000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 21:42:50'
2026-05-02 21:42:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 51, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:42:51'
2026-05-02 21:42:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 42, 54, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 21:42:54'
2026-05-02 21:43:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 22, 477042, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17161, 'low': 1.17105, 'close': 1.17106, 'volume': 25.0} | asctime='2026-05-02 21:43:22'
2026-05-02 21:43:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 22, 478405, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17421, 'low': 1.17223, 'close': 1.17238, 'volume': 25.0} | asctime='2026-05-02 21:43:22'
2026-05-02 21:43:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 22, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17097, 'volume': 0.0} | asctime='2026-05-02 21:43:22'
2026-05-02 21:43:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 24, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 21:43:24'
2026-05-02 21:43:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 26, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 21:43:26'
2026-05-02 21:43:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 26, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 21:43:26'
2026-05-02 21:43:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 28, 759000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1722, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:43:28'
2026-05-02 21:43:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 30, 868000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 21:43:30'
2026-05-02 21:43:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 43, 50, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 21:43:50'
2026-05-02 21:44:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 14, 576200, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17097, 'high': 1.17139, 'low': 1.17097, 'close': 1.17107, 'volume': 7.0} | asctime='2026-05-02 21:44:14'
2026-05-02 21:44:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 14, 577053, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17263, 'low': 1.1722, 'close': 1.17263, 'volume': 7.0} | asctime='2026-05-02 21:44:14'
2026-05-02 21:44:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 14, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:44:14'
2026-05-02 21:44:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 22, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 21:44:22'
2026-05-02 21:44:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 36, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:44:35'
2026-05-02 21:44:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 42, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:44:42'
2026-05-02 21:44:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 43, 355000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17224, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:44:43'
2026-05-02 21:44:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 47, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 21:44:47'
2026-05-02 21:44:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 52, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 21:44:52'
2026-05-02 21:44:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 53, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:44:53'
2026-05-02 21:44:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 44, 55, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:44:54'
2026-05-02 21:47:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 47, 37, 774552, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17157, 'low': 1.17109, 'close': 1.17109, 'volume': 9.0} | asctime='2026-05-02 21:47:37'
2026-05-02 21:47:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 47, 37, 775370, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17383, 'low': 1.17224, 'close': 1.17383, 'volume': 9.0} | asctime='2026-05-02 21:47:37'
2026-05-02 21:47:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 47, 37, 776394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17119, 'high': 1.17161, 'low': 1.1707, 'close': 1.17109, 'volume': 80.0} | asctime='2026-05-02 21:47:37'
2026-05-02 21:47:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 47, 37, 776843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17251, 'high': 1.17421, 'low': 1.1722, 'close': 1.17383, 'volume': 80.0} | asctime='2026-05-02 21:47:37'
2026-05-02 21:47:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 47, 37, 777556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17137, 'high': 1.17169, 'low': 1.16906, 'close': 1.17109, 'volume': 303.0} | asctime='2026-05-02 21:47:37'
2026-05-02 21:47:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 47, 37, 777919, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17269, 'high': 1.17551, 'low': 1.1722, 'close': 1.17383, 'volume': 303.0} | asctime='2026-05-02 21:47:37'
2026-05-02 21:47:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 47, 37, 868000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:47:37'
2026-05-02 21:49:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 26, 373833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17109, 'low': 1.17109, 'close': 1.17109, 'volume': 1.0} | asctime='2026-05-02 21:49:26'
2026-05-02 21:49:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 26, 374681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17383, 'high': 1.17383, 'low': 1.17383, 'close': 1.17383, 'volume': 1.0} | asctime='2026-05-02 21:49:26'
2026-05-02 21:49:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 26, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17813, 'bid_price': 1.16913, 'volume': 0.0} | asctime='2026-05-02 21:49:26'
2026-05-02 21:49:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 26, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:26'
2026-05-02 21:49:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 26, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17813, 'bid_price': 1.16913, 'volume': 0.0} | asctime='2026-05-02 21:49:26'
2026-05-02 21:49:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 26, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:26'
2026-05-02 21:49:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 27, 344000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17813, 'bid_price': 1.16913, 'volume': 0.0} | asctime='2026-05-02 21:49:27'
2026-05-02 21:49:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 27, 468000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:27'
2026-05-02 21:49:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 30, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17816, 'bid_price': 1.16916, 'volume': 0.0} | asctime='2026-05-02 21:49:29'
2026-05-02 21:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 30, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:30'
2026-05-02 21:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 30, 446000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17816, 'bid_price': 1.16916, 'volume': 0.0} | asctime='2026-05-02 21:49:30'
2026-05-02 21:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 30, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17801, 'bid_price': 1.16901, 'volume': 0.0} | asctime='2026-05-02 21:49:30'
2026-05-02 21:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 30, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:30'
2026-05-02 21:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 31, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17813, 'bid_price': 1.16913, 'volume': 0.0} | asctime='2026-05-02 21:49:30'
2026-05-02 21:49:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 31, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:31'
2026-05-02 21:49:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 31, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17813, 'bid_price': 1.16913, 'volume': 0.0} | asctime='2026-05-02 21:49:31'
2026-05-02 21:49:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 31, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:31'
2026-05-02 21:49:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 32, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17816, 'bid_price': 1.16916, 'volume': 0.0} | asctime='2026-05-02 21:49:32'
2026-05-02 21:49:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 32, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:32'
2026-05-02 21:49:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 33, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17805, 'bid_price': 1.16905, 'volume': 0.0} | asctime='2026-05-02 21:49:33'
2026-05-02 21:49:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 33, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:33'
2026-05-02 21:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 34, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.178, 'bid_price': 1.169, 'volume': 0.0} | asctime='2026-05-02 21:49:34'
2026-05-02 21:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 34, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:34'
2026-05-02 21:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 34, 791000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17802, 'bid_price': 1.16902, 'volume': 0.0} | asctime='2026-05-02 21:49:34'
2026-05-02 21:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 34, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:34'
2026-05-02 21:49:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 36, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17817, 'bid_price': 1.16917, 'volume': 0.0} | asctime='2026-05-02 21:49:36'
2026-05-02 21:49:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 36, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17815, 'bid_price': 1.16915, 'volume': 0.0} | asctime='2026-05-02 21:49:36'
2026-05-02 21:49:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 36, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:36'
2026-05-02 21:49:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 36, 901000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17817, 'bid_price': 1.16917, 'volume': 0.0} | asctime='2026-05-02 21:49:36'
2026-05-02 21:49:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 37, 25000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:36'
2026-05-02 21:49:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 37, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17811, 'bid_price': 1.16911, 'volume': 0.0} | asctime='2026-05-02 21:49:37'
2026-05-02 21:49:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 37, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:37'
2026-05-02 21:49:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 37, 894000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17811, 'bid_price': 1.16911, 'volume': 0.0} | asctime='2026-05-02 21:49:37'
2026-05-02 21:49:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 38, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:37'
2026-05-02 21:49:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 38, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17817, 'bid_price': 1.16917, 'volume': 0.0} | asctime='2026-05-02 21:49:38'
2026-05-02 21:49:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 38, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:38'
2026-05-02 21:49:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 38, 390000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17817, 'bid_price': 1.16917, 'volume': 0.0} | asctime='2026-05-02 21:49:38'
2026-05-02 21:49:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 38, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:38'
2026-05-02 21:49:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 38, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17798, 'bid_price': 1.16898, 'volume': 0.0} | asctime='2026-05-02 21:49:38'
2026-05-02 21:49:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 38, 763000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:38'
2026-05-02 21:49:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 39, 756000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17811, 'bid_price': 1.16911, 'volume': 0.0} | asctime='2026-05-02 21:49:39'
2026-05-02 21:49:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 39, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:39'
2026-05-02 21:49:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 40, 4000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17818, 'bid_price': 1.16918, 'volume': 0.0} | asctime='2026-05-02 21:49:39'
2026-05-02 21:49:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 40, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:40'
2026-05-02 21:49:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 40, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17818, 'bid_price': 1.16918, 'volume': 0.0} | asctime='2026-05-02 21:49:40'
2026-05-02 21:49:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 40, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:40'
2026-05-02 21:49:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 41, 370000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17818, 'bid_price': 1.16918, 'volume': 0.0} | asctime='2026-05-02 21:49:41'
2026-05-02 21:49:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 41, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:41'
2026-05-02 21:49:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 42, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17818, 'bid_price': 1.16918, 'volume': 0.0} | asctime='2026-05-02 21:49:42'
2026-05-02 21:49:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 42, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:42'
2026-05-02 21:49:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 42, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17818, 'bid_price': 1.16918, 'volume': 0.0} | asctime='2026-05-02 21:49:42'
2026-05-02 21:49:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 42, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:42'
2026-05-02 21:49:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 43, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17807, 'bid_price': 1.16907, 'volume': 0.0} | asctime='2026-05-02 21:49:43'
2026-05-02 21:49:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 43, 728000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:43'
2026-05-02 21:49:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 43, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17812, 'bid_price': 1.16912, 'volume': 0.0} | asctime='2026-05-02 21:49:43'
2026-05-02 21:49:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 44, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:44'
2026-05-02 21:49:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 44, 721000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17803, 'bid_price': 1.16903, 'volume': 0.0} | asctime='2026-05-02 21:49:44'
2026-05-02 21:49:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 44, 845000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:44'
2026-05-02 21:49:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 45, 963000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17797, 'bid_price': 1.16897, 'volume': 0.0} | asctime='2026-05-02 21:49:45'
2026-05-02 21:49:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 46, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:45'
2026-05-02 21:49:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 51, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17815, 'bid_price': 1.16915, 'volume': 0.0} | asctime='2026-05-02 21:49:51'
2026-05-02 21:49:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 51, 424000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:51'
2026-05-02 21:49:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 51, 920000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17815, 'bid_price': 1.16915, 'volume': 0.0} | asctime='2026-05-02 21:49:51'
2026-05-02 21:49:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 52, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:51'
2026-05-02 21:49:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 55, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17816, 'bid_price': 1.16916, 'volume': 0.0} | asctime='2026-05-02 21:49:54'
2026-05-02 21:49:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 55, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:55'
2026-05-02 21:49:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 55, 396000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17816, 'bid_price': 1.16916, 'volume': 0.0} | asctime='2026-05-02 21:49:55'
2026-05-02 21:49:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 55, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:55'
2026-05-02 21:49:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 57, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17816, 'bid_price': 1.16916, 'volume': 0.0} | asctime='2026-05-02 21:49:57'
2026-05-02 21:49:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 57, 754000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:57'
2026-05-02 21:49:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 59, 492000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17815, 'bid_price': 1.16915, 'volume': 0.0} | asctime='2026-05-02 21:49:59'
2026-05-02 21:49:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 49, 59, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:49:59'
2026-05-02 21:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 0, 622981, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16913, 'high': 1.17109, 'low': 1.16897, 'close': 1.17109, 'volume': 70.0} | asctime='2026-05-02 21:50:00'
2026-05-02 21:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 0, 624015, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17813, 'high': 1.17818, 'low': 1.17383, 'close': 1.17383, 'volume': 70.0} | asctime='2026-05-02 21:50:00'
2026-05-02 21:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 0, 625418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.17109, 'low': 1.16897, 'close': 1.17109, 'volume': 71.0} | asctime='2026-05-02 21:50:00'
2026-05-02 21:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 0, 626812, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17383, 'high': 1.17818, 'low': 1.17383, 'close': 1.17383, 'volume': 71.0} | asctime='2026-05-02 21:50:00'
2026-05-02 21:50:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 0, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17823, 'bid_price': 1.16923, 'volume': 0.0} | asctime='2026-05-02 21:50:00'
2026-05-02 21:50:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 0, 857000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:00'
2026-05-02 21:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 1, 230000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17821, 'bid_price': 1.16921, 'volume': 0.0} | asctime='2026-05-02 21:50:01'
2026-05-02 21:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 1, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:01'
2026-05-02 21:50:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 2, 347000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17821, 'bid_price': 1.16921, 'volume': 0.0} | asctime='2026-05-02 21:50:02'
2026-05-02 21:50:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 2, 470000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:02'
2026-05-02 21:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 4, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17817, 'bid_price': 1.16917, 'volume': 0.0} | asctime='2026-05-02 21:50:03'
2026-05-02 21:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 4, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:04'
2026-05-02 21:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 4, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17817, 'bid_price': 1.16917, 'volume': 0.0} | asctime='2026-05-02 21:50:04'
2026-05-02 21:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 4, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:04'
2026-05-02 21:50:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 6, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.178, 'bid_price': 1.169, 'volume': 0.0} | asctime='2026-05-02 21:50:05'
2026-05-02 21:50:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 6, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:06'
2026-05-02 21:50:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 6, 939000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17807, 'bid_price': 1.16907, 'volume': 0.0} | asctime='2026-05-02 21:50:06'
2026-05-02 21:50:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 7, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:06'
2026-05-02 21:50:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 9, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17808, 'bid_price': 1.16908, 'volume': 0.0} | asctime='2026-05-02 21:50:09'
2026-05-02 21:50:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 9, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:09'
2026-05-02 21:50:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 10, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17805, 'bid_price': 1.16905, 'volume': 0.0} | asctime='2026-05-02 21:50:09'
2026-05-02 21:50:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 10, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:10'
2026-05-02 21:50:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 10, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17808, 'bid_price': 1.16908, 'volume': 0.0} | asctime='2026-05-02 21:50:10'
2026-05-02 21:50:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 11, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:10'
2026-05-02 21:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 11, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17808, 'bid_price': 1.16908, 'volume': 0.0} | asctime='2026-05-02 21:50:11'
2026-05-02 21:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 11, 780000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:11'
2026-05-02 21:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 11, 904000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17808, 'bid_price': 1.16908, 'volume': 0.0} | asctime='2026-05-02 21:50:11'
2026-05-02 21:50:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 12, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:12'
2026-05-02 21:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 18, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17798, 'bid_price': 1.16898, 'volume': 0.0} | asctime='2026-05-02 21:50:18'
2026-05-02 21:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 18, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:18'
2026-05-02 21:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 19, 476000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17802, 'bid_price': 1.16902, 'volume': 0.0} | asctime='2026-05-02 21:50:19'
2026-05-02 21:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 19, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:19'
2026-05-02 21:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 19, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17803, 'bid_price': 1.16903, 'volume': 0.0} | asctime='2026-05-02 21:50:19'
2026-05-02 21:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 19, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:19'
2026-05-02 21:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 21, 462000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17806, 'bid_price': 1.16906, 'volume': 0.0} | asctime='2026-05-02 21:50:21'
2026-05-02 21:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 21, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:21'
2026-05-02 21:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 22, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17806, 'bid_price': 1.16906, 'volume': 0.0} | asctime='2026-05-02 21:50:21'
2026-05-02 21:50:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 22, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:22'
2026-05-02 21:50:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 22, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17795, 'bid_price': 1.16895, 'volume': 0.0} | asctime='2026-05-02 21:50:22'
2026-05-02 21:50:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 22, 826000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:22'
2026-05-02 21:50:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 23, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.178, 'bid_price': 1.169, 'volume': 0.0} | asctime='2026-05-02 21:50:23'
2026-05-02 21:50:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 23, 323000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:23'
2026-05-02 21:50:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 28, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17793, 'bid_price': 1.16893, 'volume': 0.0} | asctime='2026-05-02 21:50:28'
2026-05-02 21:50:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 28, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:28'
2026-05-02 21:50:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 31, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.178, 'bid_price': 1.169, 'volume': 0.0} | asctime='2026-05-02 21:50:31'
2026-05-02 21:50:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 31, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:31'
2026-05-02 21:50:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 32, 757000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17798, 'bid_price': 1.16898, 'volume': 0.0} | asctime='2026-05-02 21:50:32'
2026-05-02 21:50:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 32, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:32'
2026-05-02 21:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 33, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17797, 'bid_price': 1.16897, 'volume': 0.0} | asctime='2026-05-02 21:50:33'
2026-05-02 21:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 33, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:33'
2026-05-02 21:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 33, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17793, 'bid_price': 1.16893, 'volume': 0.0} | asctime='2026-05-02 21:50:33'
2026-05-02 21:50:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 34, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:34'
2026-05-02 21:50:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 35, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17794, 'bid_price': 1.16894, 'volume': 0.0} | asctime='2026-05-02 21:50:35'
2026-05-02 21:50:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 35, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:35'
2026-05-02 21:50:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 35, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17798, 'bid_price': 1.16898, 'volume': 0.0} | asctime='2026-05-02 21:50:35'
2026-05-02 21:50:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 35, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:35'
2026-05-02 21:50:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 40, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17793, 'bid_price': 1.16893, 'volume': 0.0} | asctime='2026-05-02 21:50:40'
2026-05-02 21:50:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 40, 824000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:40'
2026-05-02 21:50:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 42, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17792, 'bid_price': 1.16892, 'volume': 0.0} | asctime='2026-05-02 21:50:41'
2026-05-02 21:50:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 42, 190000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:42'
2026-05-02 21:50:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 43, 184000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1779, 'bid_price': 1.1689, 'volume': 0.0} | asctime='2026-05-02 21:50:43'
2026-05-02 21:50:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 43, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:43'
2026-05-02 21:50:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 44, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17608, 'bid_price': 1.17048, 'volume': 0.0} | asctime='2026-05-02 21:50:44'
2026-05-02 21:50:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 44, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:44'
2026-05-02 21:50:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 47, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17791, 'bid_price': 1.16891, 'volume': 0.0} | asctime='2026-05-02 21:50:47'
2026-05-02 21:50:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 48, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:47'
2026-05-02 21:50:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 49, 761000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17789, 'bid_price': 1.16889, 'volume': 0.0} | asctime='2026-05-02 21:50:49'
2026-05-02 21:50:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 50, 49, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17383, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 21:50:49'
2026-05-02 21:51:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 7, 22070, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16923, 'high': 1.17109, 'low': 1.16889, 'close': 1.17109, 'volume': 64.0} | asctime='2026-05-02 21:51:07'
2026-05-02 21:51:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 7, 22763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17823, 'high': 1.17823, 'low': 1.17383, 'close': 1.17383, 'volume': 64.0} | asctime='2026-05-02 21:51:07'
2026-05-02 21:51:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 7, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 21:51:07'
2026-05-02 21:51:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 15, 579000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 21:51:15'
2026-05-02 21:51:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 17, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 21:51:16'
2026-05-02 21:51:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 21, 785000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:51:21'
2026-05-02 21:51:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 27, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:51:27'
2026-05-02 21:51:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 27, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 21:51:27'
2026-05-02 21:51:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 36, 555000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 21:51:36'
2026-05-02 21:51:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 36, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 21:51:36'
2026-05-02 21:51:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 39, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 21:51:39'
2026-05-02 21:51:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 40, 899000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17087, 'volume': 0.0} | asctime='2026-05-02 21:51:40'
2026-05-02 21:51:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 44, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 21:51:43'
2026-05-02 21:51:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 56, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 21:51:56'
2026-05-02 21:51:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 51, 57, 780000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 21:51:57'
2026-05-02 21:52:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 52, 22, 121211, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17141, 'low': 1.17087, 'close': 1.17101, 'volume': 13.0} | asctime='2026-05-02 21:52:22'
2026-05-02 21:52:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 52, 22, 123090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17291, 'low': 1.17231, 'close': 1.17281, 'volume': 13.0} | asctime='2026-05-02 21:52:22'
2026-05-02 21:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 52, 22, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 21:52:22'
2026-05-02 21:52:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 52, 24, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 21:52:24'
2026-05-02 21:52:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 52, 33, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17087, 'volume': 0.0} | asctime='2026-05-02 21:52:33'
2026-05-02 21:52:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 52, 33, 899000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 21:52:33'
2026-05-02 21:52:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 52, 52, 766000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:52:52'
2026-05-02 21:53:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 0, 121275, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17119, 'high': 1.17137, 'low': 1.17081, 'close': 1.17134, 'volume': 5.0} | asctime='2026-05-02 21:53:00'
2026-05-02 21:53:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 0, 122130, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17275, 'high': 1.17285, 'low': 1.17266, 'close': 1.17266, 'volume': 5.0} | asctime='2026-05-02 21:53:00'
2026-05-02 21:53:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 0, 213000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 21:53:00'
2026-05-02 21:53:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 9, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:53:09'
2026-05-02 21:53:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 29, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 21:53:29'
2026-05-02 21:53:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 30, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:53:30'
2026-05-02 21:53:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 32, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:53:32'
2026-05-02 21:53:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 32, 856000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 21:53:32'
2026-05-02 21:53:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 36, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17228, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 21:53:36'
2026-05-02 21:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 38, 193000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17231, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 21:53:38'
2026-05-02 21:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 38, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:53:38'
2026-05-02 21:53:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 42, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17101, 'volume': 0.0} | asctime='2026-05-02 21:53:42'
2026-05-02 21:53:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 47, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17086, 'volume': 0.0} | asctime='2026-05-02 21:53:47'
2026-05-02 21:53:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 53, 57, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 21:53:57'
2026-05-02 21:54:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 3, 770252, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17165, 'low': 1.17086, 'close': 1.17132, 'volume': 12.0} | asctime='2026-05-02 21:54:03'
2026-05-02 21:54:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 3, 770903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1729, 'low': 1.17228, 'close': 1.17264, 'volume': 12.0} | asctime='2026-05-02 21:54:03'
2026-05-02 21:54:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 3, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 21:54:03'
2026-05-02 21:54:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 20, 394000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 21:54:20'
2026-05-02 21:54:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 40, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 21:54:40'
2026-05-02 21:54:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 40, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:54:40'
2026-05-02 21:54:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 50, 435000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 21:54:50'
2026-05-02 21:54:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 51, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 21:54:51'
2026-05-02 21:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 58, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:54:58'
2026-05-02 21:54:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 54, 59, 368000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 21:54:59'
2026-05-02 21:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 0, 269620, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17157, 'high': 1.17157, 'low': 1.17112, 'close': 1.17127, 'volume': 8.0} | asctime='2026-05-02 21:55:00'
2026-05-02 21:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 0, 270403, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17247, 'high': 1.17271, 'low': 1.17245, 'close': 1.17259, 'volume': 8.0} | asctime='2026-05-02 21:55:00'
2026-05-02 21:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 0, 271463, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16923, 'high': 1.17165, 'low': 1.16889, 'close': 1.17127, 'volume': 102.0} | asctime='2026-05-02 21:55:00'
2026-05-02 21:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 0, 271884, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17823, 'high': 1.17823, 'low': 1.17228, 'close': 1.17259, 'volume': 102.0} | asctime='2026-05-02 21:55:00'
2026-05-02 21:55:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 0, 361000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 21:55:00'
2026-05-02 21:55:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 3, 464000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 21:55:03'
2026-05-02 21:55:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 6, 815000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 21:55:06'
2026-05-02 21:55:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 55, 38, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 21:55:37'
2026-05-02 21:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 4, 69318, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17159, 'low': 1.17128, 'close': 1.17131, 'volume': 4.0} | asctime='2026-05-02 21:56:04'
2026-05-02 21:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 4, 70409, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17263, 'low': 1.17249, 'close': 1.17263, 'volume': 4.0} | asctime='2026-05-02 21:56:04'
2026-05-02 21:56:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 4, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 21:56:04'
2026-05-02 21:56:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 6, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 21:56:06'
2026-05-02 21:56:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 6, 392000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 21:56:06'
2026-05-02 21:56:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 6, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 21:56:06'
2026-05-02 21:56:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 12, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:56:12'
2026-05-02 21:56:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 15, 330000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 21:56:15'
2026-05-02 21:56:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 31, 341000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 21:56:31'
2026-05-02 21:56:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 32, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 21:56:31'
2026-05-02 21:56:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 56, 41, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 21:56:41'
2026-05-02 21:57:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 57, 41, 119024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17173, 'low': 1.1713, 'close': 1.17173, 'volume': 9.0} | asctime='2026-05-02 21:57:41'
2026-05-02 21:57:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 57, 41, 120125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.1729, 'low': 1.17253, 'close': 1.17263, 'volume': 9.0} | asctime='2026-05-02 21:57:41'
2026-05-02 21:57:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 57, 41, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 21:57:41'
2026-05-02 21:58:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 58, 36, 117902, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17167, 'high': 1.17167, 'low': 1.17167, 'close': 1.17167, 'volume': 1.0} | asctime='2026-05-02 21:58:36'
2026-05-02 21:58:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 58, 36, 119002, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17257, 'close': 1.17257, 'volume': 1.0} | asctime='2026-05-02 21:58:36'
2026-05-02 21:58:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 58, 36, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 21:58:36'
2026-05-02 21:58:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 58, 42, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 21:58:42'
2026-05-02 21:58:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 58, 45, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 21:58:45'
2026-05-02 21:59:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 10, 717158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.1712, 'close': 1.1712, 'volume': 3.0} | asctime='2026-05-02 21:59:10'
2026-05-02 21:59:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 10, 718038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.1728, 'low': 1.17268, 'close': 1.17276, 'volume': 3.0} | asctime='2026-05-02 21:59:10'
2026-05-02 21:59:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 10, 836000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17312, 'bid_price': 1.17084, 'volume': 0.0} | asctime='2026-05-02 21:59:10'
2026-05-02 21:59:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 10, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17307, 'bid_price': 1.17055, 'volume': 0.0} | asctime='2026-05-02 21:59:10'
2026-05-02 21:59:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 11, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17052, 'volume': 0.0} | asctime='2026-05-02 21:59:11'
2026-05-02 21:59:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 11, 953000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 21:59:11'
2026-05-02 21:59:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 18, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 21:59:18'
2026-05-02 21:59:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 19, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 21:59:18'
2026-05-02 21:59:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 24, 365000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 21:59:24'
2026-05-02 21:59:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 28, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 21:59:28'
2026-05-02 21:59:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 48, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 21:59:48'
2026-05-02 21:59:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 21, 59, 49, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 21:59:49'
2026-05-02 22:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 1, 617092, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17084, 'high': 1.17158, 'low': 1.17052, 'close': 1.1713, 'volume': 10.0} | asctime='2026-05-02 22:00:01'
2026-05-02 22:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 1, 617955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17312, 'high': 1.17312, 'low': 1.17248, 'close': 1.17262, 'volume': 10.0} | asctime='2026-05-02 22:00:01'
2026-05-02 22:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 1, 619382, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17128, 'high': 1.17173, 'low': 1.17052, 'close': 1.1713, 'volume': 27.0} | asctime='2026-05-02 22:00:01'
2026-05-02 22:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 1, 620609, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1726, 'high': 1.17312, 'low': 1.17248, 'close': 1.17262, 'volume': 27.0} | asctime='2026-05-02 22:00:01'
2026-05-02 22:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 1, 621717, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17109, 'high': 1.17173, 'low': 1.16889, 'close': 1.1713, 'volume': 200.0} | asctime='2026-05-02 22:00:01'
2026-05-02 22:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 1, 622837, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17383, 'high': 1.17823, 'low': 1.17228, 'close': 1.17262, 'volume': 200.0} | asctime='2026-05-02 22:00:01'
2026-05-02 22:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 1, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:00:01'
2026-05-02 22:00:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 11, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:00:11'
2026-05-02 22:00:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 14, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 22:00:14'
2026-05-02 22:00:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 20, 716000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:00:20'
2026-05-02 22:00:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 31, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 22:00:31'
2026-05-02 22:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 32, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 22:00:32'
2026-05-02 22:00:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 38, 340000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 22:00:38'
2026-05-02 22:00:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 39, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:00:39'
2026-05-02 22:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 48, 394000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:00:48'
2026-05-02 22:00:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 54, 476000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 22:00:54'
2026-05-02 22:00:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 54, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:00:54'
2026-05-02 22:00:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 0, 57, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:00:57'
2026-05-02 22:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 2, 416712, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17151, 'low': 1.17119, 'close': 1.17124, 'volume': 12.0} | asctime='2026-05-02 22:01:02'
2026-05-02 22:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 2, 417626, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17291, 'low': 1.1724, 'close': 1.1728, 'volume': 12.0} | asctime='2026-05-02 22:01:02'
2026-05-02 22:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 2, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:01:02'
2026-05-02 22:01:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 3, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:01:03'
2026-05-02 22:01:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 3, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:01:03'
2026-05-02 22:01:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 4, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:01:04'
2026-05-02 22:01:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 10, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:01:10'
2026-05-02 22:01:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 14, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:01:14'
2026-05-02 22:01:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 17, 190000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 22:01:17'
2026-05-02 22:01:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 23, 768000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 22:01:23'
2026-05-02 22:01:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 24, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:01:24'
2026-05-02 22:01:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 27, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 22:01:27'
2026-05-02 22:01:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 33, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:01:33'
2026-05-02 22:01:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 33, 946000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17091, 'volume': 0.0} | asctime='2026-05-02 22:01:33'
2026-05-02 22:01:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 34, 940000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:01:34'
2026-05-02 22:01:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 41, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:01:41'
2026-05-02 22:01:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 43, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:01:43'
2026-05-02 22:01:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 45, 862000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:01:45'
2026-05-02 22:01:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 45, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 22:01:45'
2026-05-02 22:01:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 1, 46, 358000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 22:01:46'
2026-05-02 22:03:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 31, 164552, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17122, 'high': 1.17157, 'low': 1.17091, 'close': 1.17123, 'volume': 18.0} | asctime='2026-05-02 22:03:31'
2026-05-02 22:03:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 31, 165647, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17295, 'low': 1.17234, 'close': 1.17255, 'volume': 18.0} | asctime='2026-05-02 22:03:31'
2026-05-02 22:03:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 31, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 22:03:31'
2026-05-02 22:03:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 31, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 22:03:31'
2026-05-02 22:03:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 32, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:03:32'
2026-05-02 22:03:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 32, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:03:32'
2026-05-02 22:03:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 34, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 22:03:34'
2026-05-02 22:03:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 35, 385000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:03:35'
2026-05-02 22:03:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 39, 977000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:03:39'
2026-05-02 22:03:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 41, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 22:03:41'
2026-05-02 22:03:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 50, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17229, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 22:03:50'
2026-05-02 22:03:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 52, 886000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:03:52'
2026-05-02 22:03:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 3, 58, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 22:03:58'
2026-05-02 22:04:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 7, 165133, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17158, 'low': 1.17125, 'close': 1.17153, 'volume': 11.0} | asctime='2026-05-02 22:04:07'
2026-05-02 22:04:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 7, 166563, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.17285, 'low': 1.17229, 'close': 1.17285, 'volume': 11.0} | asctime='2026-05-02 22:04:07'
2026-05-02 22:04:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 7, 284000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 22:04:07'
2026-05-02 22:04:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 9, 890000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 22:04:09'
2026-05-02 22:04:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 11, 379000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 22:04:11'
2026-05-02 22:04:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 12, 993000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 22:04:12'
2026-05-02 22:04:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 17, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:04:17'
2026-05-02 22:04:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 19, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 22:04:19'
2026-05-02 22:04:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 30, 742000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:04:30'
2026-05-02 22:04:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 38, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 22:04:38'
2026-05-02 22:04:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 4, 40, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 22:04:40'
2026-05-02 22:05:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 5, 14291, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17156, 'high': 1.17163, 'low': 1.17105, 'close': 1.17149, 'volume': 9.0} | asctime='2026-05-02 22:05:05'
2026-05-02 22:05:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 5, 16206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17246, 'high': 1.17285, 'low': 1.17241, 'close': 1.17281, 'volume': 9.0} | asctime='2026-05-02 22:05:05'
2026-05-02 22:05:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 5, 17274, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17126, 'high': 1.17163, 'low': 1.17091, 'close': 1.17149, 'volume': 50.0} | asctime='2026-05-02 22:05:05'
2026-05-02 22:05:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 5, 18240, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17258, 'high': 1.17295, 'low': 1.17229, 'close': 1.17281, 'volume': 50.0} | asctime='2026-05-02 22:05:05'
2026-05-02 22:05:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 5, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17178, 'volume': 0.0} | asctime='2026-05-02 22:05:05'
2026-05-02 22:05:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 11, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 22:05:11'
2026-05-02 22:05:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 21, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 22:05:21'
2026-05-02 22:05:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 28, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:05:28'
2026-05-02 22:05:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 35, 906000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:05:35'
2026-05-02 22:05:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 39, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:05:39'
2026-05-02 22:05:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 42, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:05:42'
2026-05-02 22:05:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 45, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 22:05:45'
2026-05-02 22:05:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 45, 835000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:05:45'
2026-05-02 22:05:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 47, 946000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:05:47'
2026-05-02 22:05:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 5, 57, 262000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 22:05:57'
2026-05-02 22:06:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 5, 875655, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17178, 'high': 1.17178, 'low': 1.17129, 'close': 1.17135, 'volume': 11.0} | asctime='2026-05-02 22:06:05'
2026-05-02 22:06:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 5, 877244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17296, 'low': 1.17267, 'close': 1.17267, 'volume': 11.0} | asctime='2026-05-02 22:06:05'
2026-05-02 22:06:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 5, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:06:05'
2026-05-02 22:06:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 12, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 22:06:12'
2026-05-02 22:06:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 15, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:06:15'
2026-05-02 22:06:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 21, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:06:20'
2026-05-02 22:06:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 21, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 22:06:21'
2026-05-02 22:06:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 23, 196000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:06:23'
2026-05-02 22:06:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 38, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:06:38'
2026-05-02 22:06:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 6, 47, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 22:06:47'
2026-05-02 22:07:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 9, 13047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17113, 'close': 1.17132, 'volume': 8.0} | asctime='2026-05-02 22:07:09'
2026-05-02 22:07:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 9, 14015, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17283, 'low': 1.17264, 'close': 1.17264, 'volume': 8.0} | asctime='2026-05-02 22:07:09'
2026-05-02 22:07:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 9, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 22:07:09'
2026-05-02 22:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 16, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 22:07:16'
2026-05-02 22:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 24, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17222, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 22:07:24'
2026-05-02 22:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 24, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 22:07:24'
2026-05-02 22:07:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 28, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17299, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 22:07:28'
2026-05-02 22:07:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 29, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 22:07:29'
2026-05-02 22:07:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 30, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 22:07:30'
2026-05-02 22:07:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 34, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:07:34'
2026-05-02 22:07:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 41, 889000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 22:07:41'
2026-05-02 22:07:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 42, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:07:42'
2026-05-02 22:07:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 43, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:07:43'
2026-05-02 22:07:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 7, 51, 446000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:07:51'
2026-05-02 22:08:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 8, 9, 212934, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17147, 'low': 1.17095, 'close': 1.17138, 'volume': 12.0} | asctime='2026-05-02 22:08:09'
2026-05-02 22:08:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 8, 9, 214629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.173, 'low': 1.17222, 'close': 1.17294, 'volume': 12.0} | asctime='2026-05-02 22:08:09'
2026-05-02 22:08:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 8, 9, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:08:09'
2026-05-02 22:08:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 8, 37, 370000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 22:08:37'
2026-05-02 22:08:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 8, 43, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 22:08:43'
2026-05-02 22:08:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 8, 49, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 22:08:49'
2026-05-02 22:09:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 9, 8, 61551, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17173, 'low': 1.17127, 'close': 1.17173, 'volume': 4.0} | asctime='2026-05-02 22:09:08'
2026-05-02 22:09:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 9, 8, 62531, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17283, 'high': 1.17283, 'low': 1.17258, 'close': 1.17263, 'volume': 4.0} | asctime='2026-05-02 22:09:08'
2026-05-02 22:09:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 9, 8, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 22:09:08'
2026-05-02 22:09:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 9, 17, 214000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 22:09:17'
2026-05-02 22:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 9, 24, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 22:09:24'
2026-05-02 22:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 10, 34, 311471, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17139, 'high': 1.17155, 'low': 1.17139, 'close': 1.17155, 'volume': 3.0} | asctime='2026-05-02 22:10:34'
2026-05-02 22:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 10, 34, 312556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17273, 'low': 1.17245, 'close': 1.17245, 'volume': 3.0} | asctime='2026-05-02 22:10:34'
2026-05-02 22:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 10, 34, 314435, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17178, 'high': 1.17178, 'low': 1.17095, 'close': 1.17155, 'volume': 38.0} | asctime='2026-05-02 22:10:34'
2026-05-02 22:10:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 10, 34, 315546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17268, 'high': 1.173, 'low': 1.17222, 'close': 1.17245, 'volume': 38.0} | asctime='2026-05-02 22:10:34'
2026-05-02 22:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 10, 34, 418000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:10:34'
2026-05-02 22:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 10, 34, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 22:10:34'
2026-05-02 22:10:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 10, 38, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:10:38'
2026-05-02 22:11:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 5, 611257, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17124, 'low': 1.17113, 'close': 1.17124, 'volume': 3.0} | asctime='2026-05-02 22:11:05'
2026-05-02 22:11:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 5, 612715, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17293, 'low': 1.17276, 'close': 1.1728, 'volume': 3.0} | asctime='2026-05-02 22:11:05'
2026-05-02 22:11:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 5, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:11:05'
2026-05-02 22:11:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 15, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:11:15'
2026-05-02 22:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 33, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 22:11:33'
2026-05-02 22:11:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 50, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:11:50'
2026-05-02 22:11:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 51, 372000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:11:51'
2026-05-02 22:11:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 51, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:11:51'
2026-05-02 22:11:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 51, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 22:11:51'
2026-05-02 22:11:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 52, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 22:11:52'
2026-05-02 22:11:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 11, 52, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:11:52'
2026-05-02 22:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 12, 359967, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17143, 'low': 1.17103, 'close': 1.17131, 'volume': 9.0} | asctime='2026-05-02 22:12:12'
2026-05-02 22:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 12, 360773, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17287, 'low': 1.17273, 'close': 1.17287, 'volume': 9.0} | asctime='2026-05-02 22:12:12'
2026-05-02 22:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 12, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17293, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:12:12'
2026-05-02 22:12:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 13, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 22:12:13'
2026-05-02 22:12:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 20, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:12:20'
2026-05-02 22:12:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 24, 886000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 22:12:24'
2026-05-02 22:12:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 36, 428000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:12:36'
2026-05-02 22:12:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 40, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 22:12:40'
2026-05-02 22:12:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 12, 45, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:12:45'
2026-05-02 22:13:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 13, 29, 209852, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17171, 'low': 1.17131, 'close': 1.17133, 'volume': 7.0} | asctime='2026-05-02 22:13:29'
2026-05-02 22:13:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 13, 29, 210792, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17293, 'high': 1.17293, 'low': 1.1725, 'close': 1.17265, 'volume': 7.0} | asctime='2026-05-02 22:13:29'
2026-05-02 22:13:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 13, 29, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 22:13:29'
2026-05-02 22:14:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 14, 22, 58562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.17146, 'close': 1.17146, 'volume': 1.0} | asctime='2026-05-02 22:14:22'
2026-05-02 22:14:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 14, 22, 59675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17236, 'low': 1.17236, 'close': 1.17236, 'volume': 1.0} | asctime='2026-05-02 22:14:22'
2026-05-02 22:14:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 14, 22, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:14:22'
2026-05-02 22:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 14, 58, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 22:14:58'
2026-05-02 22:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 14, 59, 415000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:14:59'
2026-05-02 22:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 0, 558499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17158, 'low': 1.17142, 'close': 1.17142, 'volume': 3.0} | asctime='2026-05-02 22:15:00'
2026-05-02 22:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 0, 560272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17274, 'low': 1.1724, 'close': 1.17274, 'volume': 3.0} | asctime='2026-05-02 22:15:00'
2026-05-02 22:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 0, 561776, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17171, 'low': 1.17103, 'close': 1.17142, 'volume': 23.0} | asctime='2026-05-02 22:15:00'
2026-05-02 22:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 0, 563107, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17276, 'high': 1.17293, 'low': 1.17236, 'close': 1.17274, 'volume': 23.0} | asctime='2026-05-02 22:15:00'
2026-05-02 22:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 0, 564367, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17126, 'high': 1.17178, 'low': 1.17091, 'close': 1.17142, 'volume': 111.0} | asctime='2026-05-02 22:15:00'
2026-05-02 22:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 0, 566115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17258, 'high': 1.173, 'low': 1.17222, 'close': 1.17274, 'volume': 111.0} | asctime='2026-05-02 22:15:00'
2026-05-02 22:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 0, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17173, 'volume': 0.0} | asctime='2026-05-02 22:15:00'
2026-05-02 22:15:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 13, 813000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:15:13'
2026-05-02 22:15:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 18, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 22:15:18'
2026-05-02 22:15:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 27, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:15:27'
2026-05-02 22:15:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 29, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 22:15:28'
2026-05-02 22:15:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 31, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 22:15:30'
2026-05-02 22:15:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 36, 30000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:15:35'
2026-05-02 22:15:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 15, 39, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 22:15:39'
2026-05-02 22:16:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 16, 33, 199925, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17173, 'high': 1.17173, 'low': 1.17117, 'close': 1.17117, 'volume': 8.0} | asctime='2026-05-02 22:16:33'
2026-05-02 22:16:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 16, 33, 201623, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17263, 'high': 1.17277, 'low': 1.17236, 'close': 1.17273, 'volume': 8.0} | asctime='2026-05-02 22:16:33'
2026-05-02 22:16:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 16, 33, 249000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 22:16:33'
2026-05-02 22:16:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 16, 34, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 22:16:34'
2026-05-02 22:16:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 16, 42, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 22:16:42'
2026-05-02 22:16:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 16, 42, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 22:16:42'
2026-05-02 22:16:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 16, 51, 247000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:16:51'
2026-05-02 22:17:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 17, 1, 864080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.17112, 'close': 1.17126, 'volume': 5.0} | asctime='2026-05-02 22:17:01'
2026-05-02 22:17:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 17, 1, 864852, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17282, 'low': 1.17268, 'close': 1.17282, 'volume': 5.0} | asctime='2026-05-02 22:17:01'
2026-05-02 22:17:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 17, 1, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 22:17:01'
2026-05-02 22:17:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 17, 48, 963000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 22:17:48'
2026-05-02 22:17:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 17, 50, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 22:17:50'
2026-05-02 22:17:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 17, 55, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:17:55'
2026-05-02 22:18:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 18, 10, 299022, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17113, 'high': 1.1715, 'low': 1.17112, 'close': 1.1715, 'volume': 4.0} | asctime='2026-05-02 22:18:10'
2026-05-02 22:18:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 18, 10, 307874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.1724, 'close': 1.1724, 'volume': 4.0} | asctime='2026-05-02 22:18:10'
2026-05-02 22:18:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 18, 10, 312000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 22:18:10'
2026-05-02 22:18:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 18, 35, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:18:35'
2026-05-02 22:18:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 18, 35, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:18:35'
2026-05-02 22:18:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 18, 45, 314000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 22:18:45'
2026-05-02 22:18:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 18, 53, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 22:18:53'
2026-05-02 22:19:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 18, 480293, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17154, 'low': 1.1712, 'close': 1.17154, 'volume': 5.0} | asctime='2026-05-02 22:19:18'
2026-05-02 22:19:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 18, 482205, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17279, 'low': 1.17243, 'close': 1.17244, 'volume': 5.0} | asctime='2026-05-02 22:19:18'
2026-05-02 22:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 18, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 22:19:18'
2026-05-02 22:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 18, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 22:19:18'
2026-05-02 22:19:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 19, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 22:19:19'
2026-05-02 22:19:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 23, 790000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 22:19:23'
2026-05-02 22:19:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 33, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 22:19:33'
2026-05-02 22:19:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 39, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:19:39'
2026-05-02 22:19:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 44, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 22:19:44'
2026-05-02 22:19:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 19, 53, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:19:53'
2026-05-02 22:20:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 41, 921769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17153, 'low': 1.17102, 'close': 1.17138, 'volume': 8.0} | asctime='2026-05-02 22:20:41'
2026-05-02 22:20:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 41, 923307, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17282, 'low': 1.17234, 'close': 1.1727, 'volume': 8.0} | asctime='2026-05-02 22:20:41'
2026-05-02 22:20:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 41, 925242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17173, 'high': 1.17173, 'low': 1.17102, 'close': 1.17138, 'volume': 30.0} | asctime='2026-05-02 22:20:41'
2026-05-02 22:20:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 41, 925763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17263, 'high': 1.17282, 'low': 1.17234, 'close': 1.1727, 'volume': 30.0} | asctime='2026-05-02 22:20:41'
2026-05-02 22:20:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 41, 863000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:20:41'
2026-05-02 22:20:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 43, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:20:43'
2026-05-02 22:20:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 44, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:20:44'
2026-05-02 22:20:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 53, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:20:53'
2026-05-02 22:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 20, 57, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 22:20:57'
2026-05-02 22:21:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 21, 27, 344826, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17117, 'close': 1.17117, 'volume': 5.0} | asctime='2026-05-02 22:21:27'
2026-05-02 22:21:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 21, 27, 346619, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17269, 'low': 1.17249, 'close': 1.17249, 'volume': 5.0} | asctime='2026-05-02 22:21:27'
2026-05-02 22:21:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 21, 27, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17221, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:21:27'
2026-05-02 22:21:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 21, 33, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 22:21:33'
2026-05-02 22:21:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 21, 40, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 22:21:40'
2026-05-02 22:21:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 21, 49, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 22:21:49'
2026-05-02 22:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 21, 59, 935000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:22:00'
2026-05-02 22:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 0, 159924, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17138, 'low': 1.17103, 'close': 1.17138, 'volume': 5.0} | asctime='2026-05-02 22:22:00'
2026-05-02 22:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 0, 161677, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17221, 'high': 1.1727, 'low': 1.17221, 'close': 1.1727, 'volume': 5.0} | asctime='2026-05-02 22:22:00'
2026-05-02 22:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 0, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17315, 'bid_price': 1.17087, 'volume': 0.0} | asctime='2026-05-02 22:22:00'
2026-05-02 22:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 0, 183000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17322, 'bid_price': 1.17094, 'volume': 0.0} | asctime='2026-05-02 22:22:00'
2026-05-02 22:22:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 0, 928000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:22:01'
2026-05-02 22:22:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 1, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 22:22:02'
2026-05-02 22:22:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 9, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 22:22:09'
2026-05-02 22:22:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 9, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 22:22:09'
2026-05-02 22:22:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 9, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 22:22:09'
2026-05-02 22:22:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 42, 757000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17099, 'volume': 0.0} | asctime='2026-05-02 22:22:42'
2026-05-02 22:22:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 44, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17105, 'volume': 0.0} | asctime='2026-05-02 22:22:44'
2026-05-02 22:22:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 22, 57, 775000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17095, 'volume': 0.0} | asctime='2026-05-02 22:22:57'
2026-05-02 22:23:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 23, 50, 369804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17087, 'high': 1.17148, 'low': 1.17087, 'close': 1.17095, 'volume': 10.0} | asctime='2026-05-02 22:23:50'
2026-05-02 22:23:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 23, 50, 370764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17315, 'high': 1.17322, 'low': 1.17236, 'close': 1.17275, 'volume': 10.0} | asctime='2026-05-02 22:23:50'
2026-05-02 22:23:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 23, 50, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 22:23:50'
2026-05-02 22:23:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 23, 56, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 22:23:56'
2026-05-02 22:24:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 2, 269664, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17103, 'high': 1.17112, 'low': 1.17103, 'close': 1.17112, 'volume': 2.0} | asctime='2026-05-02 22:24:02'
2026-05-02 22:24:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 2, 270737, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17268, 'low': 1.17259, 'close': 1.17268, 'volume': 2.0} | asctime='2026-05-02 22:24:02'
2026-05-02 22:24:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 2, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17402, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 22:24:02'
2026-05-02 22:24:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 11, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17425, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 22:24:11'
2026-05-02 22:24:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 27, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17428, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 22:24:27'
2026-05-02 22:24:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 27, 390000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17425, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 22:24:27'
2026-05-02 22:24:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 27, 638000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17422, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 22:24:27'
2026-05-02 22:24:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 29, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:24:29'
2026-05-02 22:24:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 41, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 22:24:41'
2026-05-02 22:24:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 24, 55, 814000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 22:24:55'
2026-05-02 22:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 0, 869805, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17154, 'low': 1.17128, 'close': 1.17148, 'volume': 8.0} | asctime='2026-05-02 22:25:00'
2026-05-02 22:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 0, 871077, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17402, 'high': 1.17428, 'low': 1.17233, 'close': 1.17238, 'volume': 8.0} | asctime='2026-05-02 22:25:00'
2026-05-02 22:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 0, 871546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.17154, 'low': 1.17087, 'close': 1.17148, 'volume': 30.0} | asctime='2026-05-02 22:25:00'
2026-05-02 22:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 0, 871977, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17269, 'high': 1.17428, 'low': 1.17221, 'close': 1.17238, 'volume': 30.0} | asctime='2026-05-02 22:25:00'
2026-05-02 22:25:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 0, 779000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 22:25:00'
2026-05-02 22:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 3, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:25:03'
2026-05-02 22:25:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 17, 908000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:25:18'
2026-05-02 22:25:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 29, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 22:25:29'
2026-05-02 22:25:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 42, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 22:25:42'
2026-05-02 22:25:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 25, 42, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:25:42'
2026-05-02 22:26:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 26, 4, 168279, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17143, 'high': 1.17153, 'low': 1.1712, 'close': 1.1712, 'volume': 6.0} | asctime='2026-05-02 22:26:04'
2026-05-02 22:26:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 26, 4, 170073, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17233, 'high': 1.17276, 'low': 1.17233, 'close': 1.17276, 'volume': 6.0} | asctime='2026-05-02 22:26:04'
2026-05-02 22:26:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 26, 4, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:26:04'
2026-05-02 22:26:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 26, 5, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:26:05'
2026-05-02 22:26:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 26, 29, 898000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:26:30'
2026-05-02 22:26:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 26, 32, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:26:32'
2026-05-02 22:27:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 27, 34, 417962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.1713, 'close': 1.17133, 'volume': 4.0} | asctime='2026-05-02 22:27:34'
2026-05-02 22:27:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 27, 34, 419874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17262, 'close': 1.17265, 'volume': 4.0} | asctime='2026-05-02 22:27:34'
2026-05-02 22:27:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 27, 34, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:27:34'
2026-05-02 22:28:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 28, 2, 717432, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17136, 'low': 1.17136, 'close': 1.17136, 'volume': 1.0} | asctime='2026-05-02 22:28:02'
2026-05-02 22:28:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 28, 2, 718415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17268, 'low': 1.17268, 'close': 1.17268, 'volume': 1.0} | asctime='2026-05-02 22:28:02'
2026-05-02 22:28:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 28, 2, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:28:02'
2026-05-02 22:28:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 28, 7, 705000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:28:07'
2026-05-02 22:28:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 28, 40, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 22:28:40'
2026-05-02 22:28:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 28, 49, 285000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 22:28:49'
2026-05-02 22:29:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 8, 367009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17134, 'low': 1.17108, 'close': 1.17108, 'volume': 4.0} | asctime='2026-05-02 22:29:08'
2026-05-02 22:29:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 8, 367806, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17272, 'low': 1.17252, 'close': 1.17264, 'volume': 4.0} | asctime='2026-05-02 22:29:08'
2026-05-02 22:29:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 8, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 22:29:08'
2026-05-02 22:29:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 11, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 22:29:11'
2026-05-02 22:29:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 18, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:29:18'
2026-05-02 22:29:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 23, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:29:23'
2026-05-02 22:29:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 35, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:29:35'
2026-05-02 22:29:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 29, 43, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 22:29:43'
2026-05-02 22:30:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 30, 57, 866049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17102, 'high': 1.17145, 'low': 1.17102, 'close': 1.1714, 'volume': 6.0} | asctime='2026-05-02 22:30:57'
2026-05-02 22:30:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 30, 57, 867128, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17283, 'low': 1.17258, 'close': 1.17272, 'volume': 6.0} | asctime='2026-05-02 22:30:57'
2026-05-02 22:30:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 30, 57, 868627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17143, 'high': 1.17153, 'low': 1.17102, 'close': 1.1714, 'volume': 21.0} | asctime='2026-05-02 22:30:57'
2026-05-02 22:30:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 30, 57, 869334, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17233, 'high': 1.17283, 'low': 1.17233, 'close': 1.17272, 'volume': 21.0} | asctime='2026-05-02 22:30:57'
2026-05-02 22:30:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 30, 57, 869794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17173, 'high': 1.17173, 'low': 1.17087, 'close': 1.1714, 'volume': 81.0} | asctime='2026-05-02 22:30:57'
2026-05-02 22:30:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 30, 57, 871187, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17263, 'high': 1.17428, 'low': 1.17221, 'close': 1.17272, 'volume': 81.0} | asctime='2026-05-02 22:30:57'
2026-05-02 22:30:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 30, 57, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 22:30:57'
2026-05-02 22:31:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 31, 30, 965779, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17169, 'high': 1.17169, 'low': 1.17169, 'close': 1.17169, 'volume': 1.0} | asctime='2026-05-02 22:31:30'
2026-05-02 22:31:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 31, 30, 966445, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17259, 'low': 1.17259, 'close': 1.17259, 'volume': 1.0} | asctime='2026-05-02 22:31:30'
2026-05-02 22:31:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 31, 30, 890000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 22:31:30'
2026-05-02 22:32:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 1, 415063, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17128, 'low': 1.17128, 'close': 1.17128, 'volume': 1.0} | asctime='2026-05-02 22:32:01'
2026-05-02 22:32:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 1, 416085, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17284, 'high': 1.17284, 'low': 1.17284, 'close': 1.17284, 'volume': 1.0} | asctime='2026-05-02 22:32:01'
2026-05-02 22:32:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 1, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 22:32:01'
2026-05-02 22:32:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 1, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1731, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 22:32:01'
2026-05-02 22:32:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 10, 236000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17298, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:32:10'
2026-05-02 22:32:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 11, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:32:11'
2026-05-02 22:32:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 21, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:32:21'
2026-05-02 22:32:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 22, 27000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:32:22'
2026-05-02 22:32:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 24, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:32:24'
2026-05-02 22:32:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 32, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:32:32'
2026-05-02 22:32:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 38, 783000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:32:38'
2026-05-02 22:32:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 46, 851000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17175, 'volume': 0.0} | asctime='2026-05-02 22:32:46'
2026-05-02 22:32:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 48, 216000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:32:48'
2026-05-02 22:32:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 32, 51, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 22:32:51'
2026-05-02 22:33:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 33, 14, 264669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17141, 'high': 1.17175, 'low': 1.17106, 'close': 1.17141, 'volume': 12.0} | asctime='2026-05-02 22:33:14'
2026-05-02 22:33:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 33, 14, 266406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17273, 'high': 1.1731, 'low': 1.1724, 'close': 1.17273, 'volume': 12.0} | asctime='2026-05-02 22:33:14'
2026-05-02 22:33:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 33, 14, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 22:33:14'
2026-05-02 22:33:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 33, 14, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:33:15'
2026-05-02 22:33:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 33, 23, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:33:23'
2026-05-02 22:33:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 33, 31, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 22:33:31'
2026-05-02 22:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 10, 113588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17166, 'low': 1.17129, 'close': 1.17166, 'volume': 4.0} | asctime='2026-05-02 22:34:10'
2026-05-02 22:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 10, 114737, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17285, 'low': 1.17239, 'close': 1.17256, 'volume': 4.0} | asctime='2026-05-02 22:34:10'
2026-05-02 22:34:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 10, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:34:10'
2026-05-02 22:34:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 12, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:34:12'
2026-05-02 22:34:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 12, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:34:13'
2026-05-02 22:34:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 16, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 22:34:16'
2026-05-02 22:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 22, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:34:22'
2026-05-02 22:34:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 25, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 22:34:25'
2026-05-02 22:34:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 34, 58, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:34:58'
2026-05-02 22:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 2, 362701, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17154, 'low': 1.17124, 'close': 1.17142, 'volume': 7.0} | asctime='2026-05-02 22:35:02'
2026-05-02 22:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 2, 363761, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17274, 'low': 1.17244, 'close': 1.17274, 'volume': 7.0} | asctime='2026-05-02 22:35:02'
2026-05-02 22:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 2, 366003, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17169, 'high': 1.17175, 'low': 1.17106, 'close': 1.17142, 'volume': 25.0} | asctime='2026-05-02 22:35:02'
2026-05-02 22:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 2, 367111, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17259, 'high': 1.1731, 'low': 1.17239, 'close': 1.17274, 'volume': 25.0} | asctime='2026-05-02 22:35:02'
2026-05-02 22:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 2, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 22:35:02'
2026-05-02 22:35:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 9, 216000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:35:09'
2026-05-02 22:35:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 30, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:35:30'
2026-05-02 22:35:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 37, 268000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:35:37'
2026-05-02 22:35:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 35, 48, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 22:35:48'
2026-05-02 22:36:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 28, 762892, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17152, 'low': 1.17121, 'close': 1.17152, 'volume': 5.0} | asctime='2026-05-02 22:36:28'
2026-05-02 22:36:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 28, 763617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17286, 'low': 1.17277, 'close': 1.17284, 'volume': 5.0} | asctime='2026-05-02 22:36:28'
2026-05-02 22:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 28, 653000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 22:36:28'
2026-05-02 22:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 28, 776000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:36:28'
2026-05-02 22:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 34, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:36:34'
2026-05-02 22:36:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 35, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:36:35'
2026-05-02 22:36:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 42, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:36:42'
2026-05-02 22:36:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 45, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 22:36:45'
2026-05-02 22:36:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 36, 57, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17254, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:36:57'
2026-05-02 22:37:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 37, 31, 312780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17167, 'high': 1.17167, 'low': 1.17122, 'close': 1.17122, 'volume': 7.0} | asctime='2026-05-02 22:37:31'
2026-05-02 22:37:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 37, 31, 313774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17284, 'low': 1.17237, 'close': 1.17254, 'volume': 7.0} | asctime='2026-05-02 22:37:31'
2026-05-02 22:37:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 37, 31, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17227, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:37:31'
2026-05-02 22:38:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 38, 34, 211492, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17137, 'low': 1.17137, 'close': 1.17137, 'volume': 1.0} | asctime='2026-05-02 22:38:34'
2026-05-02 22:38:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 38, 34, 212524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17227, 'high': 1.17227, 'low': 1.17227, 'close': 1.17227, 'volume': 1.0} | asctime='2026-05-02 22:38:34'
2026-05-02 22:38:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 38, 34, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17097, 'volume': 0.0} | asctime='2026-05-02 22:38:34'
2026-05-02 22:38:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 38, 53, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 22:38:53'
2026-05-02 22:39:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 39, 8, 610450, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17097, 'high': 1.17116, 'low': 1.17097, 'close': 1.17116, 'volume': 2.0} | asctime='2026-05-02 22:39:08'
2026-05-02 22:39:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 39, 8, 611151, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17277, 'high': 1.17277, 'low': 1.17272, 'close': 1.17272, 'volume': 2.0} | asctime='2026-05-02 22:39:08'
2026-05-02 22:39:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 39, 8, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17084, 'volume': 0.0} | asctime='2026-05-02 22:39:08'
2026-05-02 22:39:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 39, 11, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17079, 'volume': 0.0} | asctime='2026-05-02 22:39:11'
2026-05-02 22:39:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 39, 18, 326000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:39:18'
2026-05-02 22:39:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 39, 24, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:39:24'
2026-05-02 22:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 39, 57, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 22:39:58'
2026-05-02 22:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 0, 610095, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17084, 'high': 1.1715, 'low': 1.17079, 'close': 1.17108, 'volume': 5.0} | asctime='2026-05-02 22:40:00'
2026-05-02 22:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 0, 611014, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17264, 'high': 1.17283, 'low': 1.1724, 'close': 1.17264, 'volume': 5.0} | asctime='2026-05-02 22:40:00'
2026-05-02 22:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 0, 612350, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17121, 'high': 1.17167, 'low': 1.17079, 'close': 1.17108, 'volume': 20.0} | asctime='2026-05-02 22:40:00'
2026-05-02 22:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 0, 613162, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17277, 'high': 1.17286, 'low': 1.17227, 'close': 1.17264, 'volume': 20.0} | asctime='2026-05-02 22:40:00'
2026-05-02 22:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 0, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 22:40:00'
2026-05-02 22:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 1, 396000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 22:40:01'
2026-05-02 22:40:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 13, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:40:13'
2026-05-02 22:40:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 24, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 22:40:24'
2026-05-02 22:40:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 25, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:40:25'
2026-05-02 22:40:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 27, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 22:40:27'
2026-05-02 22:40:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 30, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 22:40:30'
2026-05-02 22:40:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 34, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 22:40:34'
2026-05-02 22:40:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 38, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:40:38'
2026-05-02 22:40:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 40, 38, 507000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:40:38'
2026-05-02 22:41:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 41, 38, 909068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17168, 'low': 1.17109, 'close': 1.17122, 'volume': 10.0} | asctime='2026-05-02 22:41:38'
2026-05-02 22:41:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 41, 38, 912546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17282, 'low': 1.17253, 'close': 1.17278, 'volume': 10.0} | asctime='2026-05-02 22:41:38'
2026-05-02 22:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 41, 38, 830000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:41:38'
2026-05-02 22:41:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 41, 38, 953000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:41:39'
2026-05-02 22:41:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 41, 39, 202000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 22:41:39'
2026-05-02 22:41:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 41, 49, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:41:49'
2026-05-02 22:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 41, 57, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 22:41:57'
2026-05-02 22:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 42, 9, 58352, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17158, 'low': 1.17111, 'close': 1.17158, 'volume': 5.0} | asctime='2026-05-02 22:42:09'
2026-05-02 22:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 42, 9, 59116, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17282, 'low': 1.17248, 'close': 1.17248, 'volume': 5.0} | asctime='2026-05-02 22:42:09'
2026-05-02 22:42:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 42, 8, 992000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 22:42:09'
2026-05-02 22:43:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 43, 47, 407665, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17153, 'high': 1.17153, 'low': 1.17153, 'close': 1.17153, 'volume': 1.0} | asctime='2026-05-02 22:43:47'
2026-05-02 22:43:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 43, 47, 409384, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17243, 'high': 1.17243, 'low': 1.17243, 'close': 1.17243, 'volume': 1.0} | asctime='2026-05-02 22:43:47'
2026-05-02 22:43:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 43, 47, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:43:47'
2026-05-02 22:44:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 44, 12, 807899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17125, 'high': 1.17125, 'low': 1.17125, 'close': 1.17125, 'volume': 1.0} | asctime='2026-05-02 22:44:12'
2026-05-02 22:44:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 44, 12, 809590, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17257, 'high': 1.17257, 'low': 1.17257, 'close': 1.17257, 'volume': 1.0} | asctime='2026-05-02 22:44:12'
2026-05-02 22:44:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 44, 12, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 22:44:12'
2026-05-02 22:45:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 19, 357752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17149, 'close': 1.17149, 'volume': 1.0} | asctime='2026-05-02 22:45:19'
2026-05-02 22:45:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 19, 358553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17239, 'close': 1.17239, 'volume': 1.0} | asctime='2026-05-02 22:45:19'
2026-05-02 22:45:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 19, 359460, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17109, 'high': 1.17168, 'low': 1.17109, 'close': 1.17149, 'volume': 18.0} | asctime='2026-05-02 22:45:19'
2026-05-02 22:45:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 19, 360191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17282, 'low': 1.17239, 'close': 1.17239, 'volume': 18.0} | asctime='2026-05-02 22:45:19'
2026-05-02 22:45:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 19, 360651, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17169, 'high': 1.17175, 'low': 1.17079, 'close': 1.17149, 'volume': 63.0} | asctime='2026-05-02 22:45:19'
2026-05-02 22:45:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 19, 361075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17259, 'high': 1.1731, 'low': 1.17227, 'close': 1.17239, 'volume': 63.0} | asctime='2026-05-02 22:45:19'
2026-05-02 22:45:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 19, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:45:19'
2026-05-02 22:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 33, 418000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 22:45:33'
2026-05-02 22:45:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 36, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 22:45:36'
2026-05-02 22:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 39, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:45:39'
2026-05-02 22:45:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 45, 51, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 22:45:52'
2026-05-02 22:46:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 38, 656428, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17153, 'low': 1.17117, 'close': 1.17152, 'volume': 5.0} | asctime='2026-05-02 22:46:38'
2026-05-02 22:46:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 38, 658498, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.1725, 'low': 1.1724, 'close': 1.17242, 'volume': 5.0} | asctime='2026-05-02 22:46:38'
2026-05-02 22:46:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 38, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:46:38'
2026-05-02 22:46:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 38, 829000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 22:46:38'
2026-05-02 22:46:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 41, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 22:46:41'
2026-05-02 22:46:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 42, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 22:46:42'
2026-05-02 22:46:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 43, 918000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 22:46:44'
2026-05-02 22:46:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 52, 234000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:46:52'
2026-05-02 22:46:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 46, 57, 323000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 22:46:57'
2026-05-02 22:47:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 47, 15, 405728, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17141, 'low': 1.17109, 'close': 1.17141, 'volume': 7.0} | asctime='2026-05-02 22:47:15'
2026-05-02 22:47:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 47, 15, 406869, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1725, 'high': 1.17275, 'low': 1.1725, 'close': 1.17273, 'volume': 7.0} | asctime='2026-05-02 22:47:15'
2026-05-02 22:47:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 47, 15, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17171, 'volume': 0.0} | asctime='2026-05-02 22:47:15'
2026-05-02 22:47:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 47, 43, 868000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17165, 'volume': 0.0} | asctime='2026-05-02 22:47:43'
2026-05-02 22:47:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 47, 43, 992000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 22:47:44'
2026-05-02 22:47:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 47, 44, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:47:45'
2026-05-02 22:47:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 47, 57, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:47:57'
2026-05-02 22:49:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 49, 12, 304053, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17171, 'high': 1.17171, 'low': 1.17118, 'close': 1.17126, 'volume': 5.0} | asctime='2026-05-02 22:49:12'
2026-05-02 22:49:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 49, 12, 305026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17274, 'low': 1.17255, 'close': 1.17258, 'volume': 5.0} | asctime='2026-05-02 22:49:12'
2026-05-02 22:49:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 49, 12, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:49:12'
2026-05-02 22:49:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 49, 32, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 22:49:32'
2026-05-02 22:49:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 49, 42, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:49:42'
2026-05-02 22:49:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 49, 48, 237000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:49:48'
2026-05-02 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 1, 704266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17148, 'low': 1.17122, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 22:50:01'
2026-05-02 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 1, 705225, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17278, 'low': 1.17238, 'close': 1.17268, 'volume': 4.0} | asctime='2026-05-02 22:50:01'
2026-05-02 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 1, 705796, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1715, 'high': 1.17171, 'low': 1.17109, 'close': 1.17136, 'volume': 21.0} | asctime='2026-05-02 22:50:01'
2026-05-02 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 1, 706264, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1724, 'high': 1.17278, 'low': 1.17238, 'close': 1.17268, 'volume': 21.0} | asctime='2026-05-02 22:50:01'
2026-05-02 22:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 1, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:50:01'
2026-05-02 22:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 3, 255000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17087, 'volume': 0.0} | asctime='2026-05-02 22:50:03'
2026-05-02 22:50:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 8, 344000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 22:50:08'
2026-05-02 22:50:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 8, 840000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:50:08'
2026-05-02 22:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 11, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 22:50:11'
2026-05-02 22:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 19, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 22:50:19'
2026-05-02 22:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 32, 920000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17304, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 22:50:33'
2026-05-02 22:50:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 41, 240000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 22:50:41'
2026-05-02 22:50:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 50, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1728, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 22:50:51'
2026-05-02 22:50:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 50, 52, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:50:52'
2026-05-02 22:51:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 0, 953392, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17157, 'low': 1.17087, 'close': 1.17126, 'volume': 10.0} | asctime='2026-05-02 22:51:00'
2026-05-02 22:51:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 0, 954429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17304, 'low': 1.17247, 'close': 1.17282, 'volume': 10.0} | asctime='2026-05-02 22:51:00'
2026-05-02 22:51:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 0, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:51:00'
2026-05-02 22:51:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 5, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:51:05'
2026-05-02 22:51:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 12, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 22:51:12'
2026-05-02 22:51:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 12, 886000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:51:12'
2026-05-02 22:51:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 14, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:51:14'
2026-05-02 22:51:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 14, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17296, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 22:51:14'
2026-05-02 22:51:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 19, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:51:20'
2026-05-02 22:51:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 22, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 22:51:22'
2026-05-02 22:51:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 25, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:51:25'
2026-05-02 22:51:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 33, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 22:51:33'
2026-05-02 22:51:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 35, 476000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:51:35'
2026-05-02 22:51:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 35, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:51:35'
2026-05-02 22:51:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 41, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 22:51:41'
2026-05-02 22:51:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 42, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:51:42'
2026-05-02 22:51:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 43, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:51:43'
2026-05-02 22:51:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 51, 45, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:51:45'
2026-05-02 22:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 4, 353231, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17136, 'high': 1.17147, 'low': 1.1712, 'close': 1.17137, 'volume': 16.0} | asctime='2026-05-02 22:52:04'
2026-05-02 22:52:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 4, 354862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17292, 'high': 1.17296, 'low': 1.17265, 'close': 1.17269, 'volume': 16.0} | asctime='2026-05-02 22:52:04'
2026-05-02 22:52:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 4, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 22:52:04'
2026-05-02 22:52:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 5, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 22:52:05'
2026-05-02 22:52:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 7, 375000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17309, 'bid_price': 1.17081, 'volume': 0.0} | asctime='2026-05-02 22:52:07'
2026-05-02 22:52:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 21, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 22:52:21'
2026-05-02 22:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 32, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 22:52:32'
2026-05-02 22:52:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 42, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 22:52:42'
2026-05-02 22:52:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 48, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17295, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 22:52:48'
2026-05-02 22:52:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 56, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 22:52:56'
2026-05-02 22:52:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 52, 57, 769000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:52:57'
2026-05-02 22:53:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 17, 352085, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.17081, 'close': 1.17142, 'volume': 9.0} | asctime='2026-05-02 22:53:17'
2026-05-02 22:53:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 17, 352784, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17309, 'low': 1.1724, 'close': 1.17274, 'volume': 9.0} | asctime='2026-05-02 22:53:17'
2026-05-02 22:53:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 17, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 22:53:17'
2026-05-02 22:53:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 20, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 22:53:20'
2026-05-02 22:53:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 24, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 22:53:24'
2026-05-02 22:53:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 28, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:53:28'
2026-05-02 22:53:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 32, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1725, 'bid_price': 1.1716, 'volume': 0.0} | asctime='2026-05-02 22:53:32'
2026-05-02 22:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 53, 38, 852000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:53:38'
2026-05-02 22:54:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 54, 7, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.1716, 'low': 1.17129, 'close': 1.17129, 'volume': 6.0} | asctime='2026-05-02 22:54:07'
2026-05-02 22:54:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 54, 7, 753995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17286, 'low': 1.17244, 'close': 1.17261, 'volume': 6.0} | asctime='2026-05-02 22:54:07'
2026-05-02 22:54:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 54, 7, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:54:07'
2026-05-02 22:54:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 54, 17, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 22:54:17'
2026-05-02 22:54:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 54, 43, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 22:54:43'
2026-05-02 22:54:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 54, 46, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 22:54:46'
2026-05-02 22:54:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 54, 51, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 22:54:51'
2026-05-02 22:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 12, 151354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17152, 'low': 1.17114, 'close': 1.17114, 'volume': 5.0} | asctime='2026-05-02 22:55:12'
2026-05-02 22:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 12, 152303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17273, 'low': 1.17242, 'close': 1.1727, 'volume': 5.0} | asctime='2026-05-02 22:55:12'
2026-05-02 22:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 12, 153663, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17137, 'high': 1.1716, 'low': 1.17081, 'close': 1.17114, 'volume': 46.0} | asctime='2026-05-02 22:55:12'
2026-05-02 22:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 12, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17269, 'high': 1.17309, 'low': 1.1724, 'close': 1.1727, 'volume': 46.0} | asctime='2026-05-02 22:55:12'
2026-05-02 22:55:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 12, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 22:55:12'
2026-05-02 22:55:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 12, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:55:12'
2026-05-02 22:55:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 16, 287000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:55:16'
2026-05-02 22:55:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 25, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:55:26'
2026-05-02 22:55:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 33, 788000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 22:55:33'
2026-05-02 22:55:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 35, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 22:55:35'
2026-05-02 22:55:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 39, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 22:55:39'
2026-05-02 22:55:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 41, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 22:55:41'
2026-05-02 22:55:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 44, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 22:55:44'
2026-05-02 22:55:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 45, 455000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17233, 'bid_price': 1.17143, 'volume': 0.0} | asctime='2026-05-02 22:55:45'
2026-05-02 22:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 56, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 22:55:56'
2026-05-02 22:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 56, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 22:55:56'
2026-05-02 22:55:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 55, 57, 747000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 22:55:57'
2026-05-02 22:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 4, 150741, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17167, 'low': 1.1712, 'close': 1.17132, 'volume': 13.0} | asctime='2026-05-02 22:56:04'
2026-05-02 22:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 4, 152425, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17283, 'low': 1.17233, 'close': 1.17264, 'volume': 13.0} | asctime='2026-05-02 22:56:04'
2026-05-02 22:56:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 4, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17166, 'volume': 0.0} | asctime='2026-05-02 22:56:04'
2026-05-02 22:56:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 7, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 22:56:07'
2026-05-02 22:56:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 7, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17316, 'bid_price': 1.17088, 'volume': 0.0} | asctime='2026-05-02 22:56:07'
2026-05-02 22:56:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 22, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 22:56:22'
2026-05-02 22:56:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 22, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 22:56:22'
2026-05-02 22:56:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 22, 815000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 22:56:22'
2026-05-02 22:56:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 24, 926000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 22:56:25'
2026-05-02 22:56:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 27, 905000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 22:56:28'
2026-05-02 22:56:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 30, 760000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:56:30'
2026-05-02 22:56:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 39, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.17162, 'volume': 0.0} | asctime='2026-05-02 22:56:39'
2026-05-02 22:56:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 40, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 22:56:40'
2026-05-02 22:56:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 49, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 22:56:49'
2026-05-02 22:56:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 49, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.17116, 'volume': 0.0} | asctime='2026-05-02 22:56:50'
2026-05-02 22:56:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 56, 57, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 22:56:57'
2026-05-02 22:57:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 57, 25, 100669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17166, 'high': 1.17166, 'low': 1.17088, 'close': 1.17128, 'volume': 14.0} | asctime='2026-05-02 22:57:25'
2026-05-02 22:57:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 57, 25, 101772, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17256, 'high': 1.17316, 'low': 1.17252, 'close': 1.1726, 'volume': 14.0} | asctime='2026-05-02 22:57:25'
2026-05-02 22:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 57, 25, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 22:57:25'
2026-05-02 22:58:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 58, 35, 349604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17154, 'close': 1.17154, 'volume': 1.0} | asctime='2026-05-02 22:58:35'
2026-05-02 22:58:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 58, 35, 350589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17244, 'low': 1.17244, 'close': 1.17244, 'volume': 1.0} | asctime='2026-05-02 22:58:35'
2026-05-02 22:58:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 58, 35, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 22:58:35'
2026-05-02 22:58:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 58, 52, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 22:58:52'
2026-05-02 22:58:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 58, 57, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 22:58:57'
2026-05-02 22:59:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 59, 16, 299489, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17142, 'low': 1.17108, 'close': 1.17142, 'volume': 3.0} | asctime='2026-05-02 22:59:16'
2026-05-02 22:59:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 59, 16, 300528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.17264, 'low': 1.17232, 'close': 1.17232, 'volume': 3.0} | asctime='2026-05-02 22:59:16'
2026-05-02 22:59:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 59, 16, 213000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 22:59:16'
2026-05-02 22:59:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 59, 19, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 22:59:19'
2026-05-02 22:59:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 22, 59, 30, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17302, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 22:59:30'
2026-05-02 23:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 1, 448188, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17131, 'low': 1.1705, 'close': 1.1705, 'volume': 3.0} | asctime='2026-05-02 23:00:01'
2026-05-02 23:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 1, 449908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17258, 'high': 1.17302, 'low': 1.17258, 'close': 1.17302, 'volume': 3.0} | asctime='2026-05-02 23:00:01'
2026-05-02 23:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 1, 450458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1712, 'high': 1.17167, 'low': 1.1705, 'close': 1.1705, 'volume': 34.0} | asctime='2026-05-02 23:00:01'
2026-05-02 23:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 1, 451021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17276, 'high': 1.17316, 'low': 1.17232, 'close': 1.17302, 'volume': 34.0} | asctime='2026-05-02 23:00:01'
2026-05-02 23:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 1, 451485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1715, 'high': 1.17171, 'low': 1.1705, 'close': 1.1705, 'volume': 101.0} | asctime='2026-05-02 23:00:01'
2026-05-02 23:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 1, 451910, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1724, 'high': 1.17316, 'low': 1.17232, 'close': 1.17302, 'volume': 101.0} | asctime='2026-05-02 23:00:01'
2026-05-02 23:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 1, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.1705, 'volume': 0.0} | asctime='2026-05-02 23:00:01'
2026-05-02 23:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 3, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 23:00:03'
2026-05-02 23:00:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 13, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 23:00:13'
2026-05-02 23:00:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 16, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 23:00:16'
2026-05-02 23:00:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 22, 368000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 23:00:22'
2026-05-02 23:00:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 30, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 23:00:30'
2026-05-02 23:00:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 30, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 23:00:30'
2026-05-02 23:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 32, 306000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.1711, 'volume': 0.0} | asctime='2026-05-02 23:00:32'
2026-05-02 23:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 32, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17096, 'volume': 0.0} | asctime='2026-05-02 23:00:32'
2026-05-02 23:00:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 36, 891000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 23:00:36'
2026-05-02 23:00:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 0, 45, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 23:00:45'
2026-05-02 23:01:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 9, 497227, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1705, 'high': 1.17156, 'low': 1.1705, 'close': 1.17139, 'volume': 11.0} | asctime='2026-05-02 23:01:09'
2026-05-02 23:01:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 9, 498769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.173, 'low': 1.17234, 'close': 1.17271, 'volume': 11.0} | asctime='2026-05-02 23:01:09'
2026-05-02 23:01:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 9, 410000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 23:01:09'
2026-05-02 23:01:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 12, 761000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 23:01:12'
2026-05-02 23:01:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 19, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17242, 'bid_price': 1.17152, 'volume': 0.0} | asctime='2026-05-02 23:01:19'
2026-05-02 23:01:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 23, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 23:01:23'
2026-05-02 23:01:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 24, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:01:24'
2026-05-02 23:01:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 33, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17226, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 23:01:33'
2026-05-02 23:01:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 1, 57, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 23:01:57'
2026-05-02 23:02:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 2, 4, 97255, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17152, 'low': 1.17111, 'close': 1.17111, 'volume': 7.0} | asctime='2026-05-02 23:02:04'
2026-05-02 23:02:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 2, 4, 100957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17267, 'low': 1.17226, 'close': 1.17267, 'volume': 7.0} | asctime='2026-05-02 23:02:04'
2026-05-02 23:02:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 2, 4, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 23:02:04'
2026-05-02 23:02:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 2, 12, 464000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 23:02:12'
2026-05-02 23:02:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 2, 21, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 23:02:21'
2026-05-02 23:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 2, 29, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17174, 'volume': 0.0} | asctime='2026-05-02 23:02:30'
2026-05-02 23:02:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 2, 55, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 23:02:55'
2026-05-02 23:03:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 23, 645915, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17135, 'high': 1.17174, 'low': 1.17135, 'close': 1.17144, 'volume': 5.0} | asctime='2026-05-02 23:03:23'
2026-05-02 23:03:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 23, 646733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17279, 'low': 1.17264, 'close': 1.17276, 'volume': 5.0} | asctime='2026-05-02 23:03:23'
2026-05-02 23:03:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 23, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 23:03:23'
2026-05-02 23:03:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 23, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 23:03:24'
2026-05-02 23:03:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 24, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 23:03:24'
2026-05-02 23:03:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 26, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 23:03:26'
2026-05-02 23:03:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 47, 415000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.17106, 'volume': 0.0} | asctime='2026-05-02 23:03:47'
2026-05-02 23:03:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 47, 787000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.171, 'volume': 0.0} | asctime='2026-05-02 23:03:47'
2026-05-02 23:03:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 55, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:03:55'
2026-05-02 23:03:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 3, 55, 484000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17103, 'volume': 0.0} | asctime='2026-05-02 23:03:55'
2026-05-02 23:04:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 4, 6, 345473, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17151, 'low': 1.171, 'close': 1.17103, 'volume': 8.0} | asctime='2026-05-02 23:04:06'
2026-05-02 23:04:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 4, 6, 346418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17283, 'low': 1.1724, 'close': 1.17283, 'volume': 8.0} | asctime='2026-05-02 23:04:06'
2026-05-02 23:04:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 4, 6, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:04:06'
2026-05-02 23:04:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 4, 9, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 23:04:09'
2026-05-02 23:04:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 4, 10, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 23:04:10'
2026-05-02 23:04:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 4, 46, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 23:04:46'
2026-05-02 23:04:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 4, 54, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17285, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 23:04:54'
2026-05-02 23:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 5, 1, 195410, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17146, 'low': 1.1712, 'close': 1.17129, 'volume': 5.0} | asctime='2026-05-02 23:05:01'
2026-05-02 23:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 5, 1, 196170, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17289, 'low': 1.17273, 'close': 1.17285, 'volume': 5.0} | asctime='2026-05-02 23:05:01'
2026-05-02 23:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 5, 1, 197150, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1705, 'high': 1.17174, 'low': 1.1705, 'close': 1.17129, 'volume': 36.0} | asctime='2026-05-02 23:05:01'
2026-05-02 23:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 5, 1, 198070, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17278, 'high': 1.173, 'low': 1.17226, 'close': 1.17285, 'volume': 36.0} | asctime='2026-05-02 23:05:01'
2026-05-02 23:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 5, 1, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 23:05:01'
2026-05-02 23:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 5, 1, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17289, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 23:05:01'
2026-05-02 23:05:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 5, 15, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 23:05:15'
2026-05-02 23:06:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 6, 17, 294333, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17109, 'close': 1.17112, 'volume': 3.0} | asctime='2026-05-02 23:06:17'
2026-05-02 23:06:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 6, 17, 295447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17279, 'high': 1.17292, 'low': 1.17279, 'close': 1.17292, 'volume': 3.0} | asctime='2026-05-02 23:06:17'
2026-05-02 23:06:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 6, 17, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 23:06:17'
2026-05-02 23:06:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 6, 20, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 23:06:20'
2026-05-02 23:06:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 6, 24, 924000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 23:06:24'
2026-05-02 23:06:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 6, 33, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17246, 'bid_price': 1.17156, 'volume': 0.0} | asctime='2026-05-02 23:06:33'
2026-05-02 23:07:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 7, 34, 143244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17156, 'low': 1.17047, 'close': 1.17156, 'volume': 4.0} | asctime='2026-05-02 23:07:34'
2026-05-02 23:07:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 7, 34, 145789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17282, 'low': 1.17246, 'close': 1.17246, 'volume': 4.0} | asctime='2026-05-02 23:07:34'
2026-05-02 23:07:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 7, 34, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 23:07:34'
2026-05-02 23:07:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 7, 34, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:07:34'
2026-05-02 23:07:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 7, 43, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 23:07:43'
2026-05-02 23:07:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 7, 44, 361000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17247, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 23:07:44'
2026-05-02 23:08:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 1, 293482, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17113, 'high': 1.17157, 'low': 1.17113, 'close': 1.17157, 'volume': 4.0} | asctime='2026-05-02 23:08:01'
2026-05-02 23:08:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 1, 294365, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17278, 'low': 1.17247, 'close': 1.17247, 'volume': 4.0} | asctime='2026-05-02 23:08:01'
2026-05-02 23:08:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 1, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 23:08:01'
2026-05-02 23:08:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 1, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:08:01'
2026-05-02 23:08:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 2, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 23:08:02'
2026-05-02 23:08:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 14, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:08:14'
2026-05-02 23:08:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 23, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17107, 'volume': 0.0} | asctime='2026-05-02 23:08:24'
2026-05-02 23:08:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 8, 33, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 23:08:33'
2026-05-02 23:09:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 11, 792027, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17155, 'high': 1.17155, 'low': 1.17107, 'close': 1.17108, 'volume': 6.0} | asctime='2026-05-02 23:09:11'
2026-05-02 23:09:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 11, 793077, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17245, 'high': 1.1727, 'low': 1.1724, 'close': 1.17264, 'volume': 6.0} | asctime='2026-05-02 23:09:11'
2026-05-02 23:09:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 11, 743000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 23:09:11'
2026-05-02 23:09:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 12, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 23:09:12'
2026-05-02 23:09:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 18, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 23:09:18'
2026-05-02 23:09:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 18, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17251, 'bid_price': 1.17161, 'volume': 0.0} | asctime='2026-05-02 23:09:18'
2026-05-02 23:09:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 19, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 23:09:19'
2026-05-02 23:09:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 20, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 23:09:20'
2026-05-02 23:09:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 29, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 23:09:29'
2026-05-02 23:09:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 48, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 23:09:48'
2026-05-02 23:09:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 9, 49, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17232, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 23:09:50'
2026-05-02 23:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 10, 30, 392172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17161, 'low': 1.17122, 'close': 1.17142, 'volume': 9.0} | asctime='2026-05-02 23:10:30'
2026-05-02 23:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 10, 30, 393812, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17286, 'low': 1.17232, 'close': 1.17232, 'volume': 9.0} | asctime='2026-05-02 23:10:30'
2026-05-02 23:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 10, 30, 394936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17147, 'high': 1.17161, 'low': 1.17047, 'close': 1.17142, 'volume': 26.0} | asctime='2026-05-02 23:10:30'
2026-05-02 23:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 10, 30, 395968, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17279, 'high': 1.17292, 'low': 1.17232, 'close': 1.17232, 'volume': 26.0} | asctime='2026-05-02 23:10:30'
2026-05-02 23:10:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 10, 30, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 23:10:30'
2026-05-02 23:10:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 10, 35, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 23:10:35'
2026-05-02 23:11:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 11, 52, 791000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17121, 'close': 1.17121, 'volume': 2.0} | asctime='2026-05-02 23:11:52'
2026-05-02 23:11:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 11, 52, 791933, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17253, 'low': 1.17239, 'close': 1.17253, 'volume': 2.0} | asctime='2026-05-02 23:11:52'
2026-05-02 23:11:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 11, 52, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17237, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 23:11:52'
2026-05-02 23:12:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 27, 40374, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17147, 'high': 1.17147, 'low': 1.17147, 'close': 1.17147, 'volume': 1.0} | asctime='2026-05-02 23:12:27'
2026-05-02 23:12:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 27, 41401, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17237, 'high': 1.17237, 'low': 1.17237, 'close': 1.17237, 'volume': 1.0} | asctime='2026-05-02 23:12:27'
2026-05-02 23:12:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 26, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:12:27'
2026-05-02 23:12:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 27, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 23:12:28'
2026-05-02 23:12:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 42, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17169, 'volume': 0.0} | asctime='2026-05-02 23:12:42'
2026-05-02 23:12:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 42, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17327, 'bid_price': 1.17053, 'volume': 0.0} | asctime='2026-05-02 23:12:42'
2026-05-02 23:12:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 43, 243000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17045, 'volume': 0.0} | asctime='2026-05-02 23:12:43'
2026-05-02 23:12:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 43, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17039, 'volume': 0.0} | asctime='2026-05-02 23:12:43'
2026-05-02 23:12:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 48, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17047, 'volume': 0.0} | asctime='2026-05-02 23:12:48'
2026-05-02 23:12:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 52, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 23:12:52'
2026-05-02 23:12:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 12, 57, 765000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 23:12:57'
2026-05-02 23:13:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 27, 139770, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17169, 'low': 1.17039, 'close': 1.17133, 'volume': 9.0} | asctime='2026-05-02 23:13:27'
2026-05-02 23:13:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 27, 141582, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17327, 'low': 1.1724, 'close': 1.17265, 'volume': 9.0} | asctime='2026-05-02 23:13:27'
2026-05-02 23:13:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 27, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 23:13:27'
2026-05-02 23:13:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 30, 285000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 23:13:30'
2026-05-02 23:13:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 35, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 23:13:35'
2026-05-02 23:13:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 44, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 23:13:44'
2026-05-02 23:13:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 56, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 23:13:56'
2026-05-02 23:13:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 13, 57, 840000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 23:13:57'
2026-05-02 23:14:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 14, 45, 338957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17134, 'low': 1.17109, 'close': 1.17132, 'volume': 6.0} | asctime='2026-05-02 23:14:45'
2026-05-02 23:14:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 14, 45, 340060, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17266, 'low': 1.17255, 'close': 1.17264, 'volume': 6.0} | asctime='2026-05-02 23:14:45'
2026-05-02 23:14:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 14, 45, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 23:14:45'
2026-05-02 23:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 6, 939261, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.17146, 'close': 1.17146, 'volume': 1.0} | asctime='2026-05-02 23:15:06'
2026-05-02 23:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 6, 940182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17236, 'high': 1.17236, 'low': 1.17236, 'close': 1.17236, 'volume': 1.0} | asctime='2026-05-02 23:15:06'
2026-05-02 23:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 6, 940735, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17149, 'high': 1.17169, 'low': 1.17039, 'close': 1.17146, 'volume': 19.0} | asctime='2026-05-02 23:15:06'
2026-05-02 23:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 6, 941127, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17239, 'high': 1.17327, 'low': 1.17236, 'close': 1.17236, 'volume': 19.0} | asctime='2026-05-02 23:15:06'
2026-05-02 23:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 6, 941546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1705, 'high': 1.17174, 'low': 1.17039, 'close': 1.17146, 'volume': 81.0} | asctime='2026-05-02 23:15:06'
2026-05-02 23:15:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 6, 941958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17278, 'high': 1.17327, 'low': 1.17226, 'close': 1.17236, 'volume': 81.0} | asctime='2026-05-02 23:15:06'
2026-05-02 23:15:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 6, 852000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:15:06'
2026-05-02 23:15:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 15, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 23:15:15'
2026-05-02 23:15:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 38, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17245, 'bid_price': 1.17155, 'volume': 0.0} | asctime='2026-05-02 23:15:38'
2026-05-02 23:15:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 39, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 23:15:39'
2026-05-02 23:15:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 15, 43, 839000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:15:43'
2026-05-02 23:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 16, 14, 938879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.17155, 'low': 1.1715, 'close': 1.1715, 'volume': 5.0} | asctime='2026-05-02 23:16:14'
2026-05-02 23:16:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 16, 14, 940558, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1724, 'high': 1.17245, 'low': 1.1724, 'close': 1.1724, 'volume': 5.0} | asctime='2026-05-02 23:16:14'
2026-05-02 23:16:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 16, 14, 868000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 23:16:14'
2026-05-02 23:16:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 16, 17, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 23:16:17'
2026-05-02 23:17:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 16, 487672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17125, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 23:17:16'
2026-05-02 23:17:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 16, 488604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17257, 'low': 1.17244, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 23:17:16'
2026-05-02 23:17:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 16, 432000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 23:17:16'
2026-05-02 23:17:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 16, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 23:17:16'
2026-05-02 23:17:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 18, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 23:17:18'
2026-05-02 23:17:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 20, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 23:17:20'
2026-05-02 23:17:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 21, 396000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 23:17:21'
2026-05-02 23:17:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 25, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 23:17:25'
2026-05-02 23:17:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 33, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 23:17:33'
2026-05-02 23:17:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 35, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1729, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 23:17:35'
2026-05-02 23:17:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 36, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 23:17:36'
2026-05-02 23:17:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 36, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 23:17:36'
2026-05-02 23:17:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 17, 45, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17279, 'bid_price': 1.17147, 'volume': 0.0} | asctime='2026-05-02 23:17:45'
2026-05-02 23:18:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 11, 737513, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17127, 'high': 1.17147, 'low': 1.17121, 'close': 1.17147, 'volume': 11.0} | asctime='2026-05-02 23:18:11'
2026-05-02 23:18:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 11, 739308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17259, 'high': 1.1729, 'low': 1.17259, 'close': 1.17279, 'volume': 11.0} | asctime='2026-05-02 23:18:11'
2026-05-02 23:18:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 11, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 23:18:11'
2026-05-02 23:18:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 19, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 23:18:20'
2026-05-02 23:18:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 24, 326000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17306, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 23:18:24'
2026-05-02 23:18:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 29, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17313, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 23:18:29'
2026-05-02 23:18:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 33, 387000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 23:18:33'
2026-05-02 23:18:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 18, 43, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17167, 'volume': 0.0} | asctime='2026-05-02 23:18:43'
2026-05-02 23:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 3, 86205, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17137, 'high': 1.17167, 'low': 1.17102, 'close': 1.17167, 'volume': 6.0} | asctime='2026-05-02 23:20:03'
2026-05-02 23:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 3, 87287, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17269, 'high': 1.17313, 'low': 1.17257, 'close': 1.17257, 'volume': 6.0} | asctime='2026-05-02 23:20:03'
2026-05-02 23:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 3, 88366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1715, 'high': 1.17167, 'low': 1.17102, 'close': 1.17167, 'volume': 24.0} | asctime='2026-05-02 23:20:03'
2026-05-02 23:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 3, 88814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1724, 'high': 1.17313, 'low': 1.1724, 'close': 1.17257, 'volume': 24.0} | asctime='2026-05-02 23:20:03'
2026-05-02 23:20:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 3, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 23:20:03'
2026-05-02 23:20:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 11, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 23:20:11'
2026-05-02 23:20:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 39, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 23:20:39'
2026-05-02 23:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 20, 57, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17139, 'volume': 0.0} | asctime='2026-05-02 23:20:57'
2026-05-02 23:21:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 21, 57, 884830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.17139, 'low': 1.17117, 'close': 1.17139, 'volume': 4.0} | asctime='2026-05-02 23:21:57'
2026-05-02 23:21:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 21, 57, 885891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17273, 'low': 1.17265, 'close': 1.17271, 'volume': 4.0} | asctime='2026-05-02 23:21:57'
2026-05-02 23:21:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 21, 57, 812000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 23:21:57'
2026-05-02 23:22:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 22, 4, 434681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17159, 'close': 1.17159, 'volume': 1.0} | asctime='2026-05-02 23:22:04'
2026-05-02 23:22:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 22, 4, 435951, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17249, 'low': 1.17249, 'close': 1.17249, 'volume': 1.0} | asctime='2026-05-02 23:22:04'
2026-05-02 23:22:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 22, 4, 390000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 23:22:04'
2026-05-02 23:22:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 22, 30, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17294, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 23:22:30'
2026-05-02 23:22:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 22, 30, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17422, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 23:22:30'
2026-05-02 23:22:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 22, 39, 268000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17428, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 23:22:39'
2026-05-02 23:22:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 22, 49, 322000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17431, 'bid_price': 1.17157, 'volume': 0.0} | asctime='2026-05-02 23:22:49'
2026-05-02 23:24:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 24, 29, 283563, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17157, 'low': 1.17138, 'close': 1.17157, 'volume': 5.0} | asctime='2026-05-02 23:24:29'
2026-05-02 23:24:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 24, 29, 284422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17431, 'low': 1.17276, 'close': 1.17431, 'volume': 5.0} | asctime='2026-05-02 23:24:29'
2026-05-02 23:24:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 24, 29, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17424, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:24:29'
2026-05-02 23:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 0, 583072, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1715, 'high': 1.1715, 'low': 1.1715, 'close': 1.1715, 'volume': 1.0} | asctime='2026-05-02 23:25:00'
2026-05-02 23:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 0, 583818, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17424, 'high': 1.17424, 'low': 1.17424, 'close': 1.17424, 'volume': 1.0} | asctime='2026-05-02 23:25:00'
2026-05-02 23:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 0, 585189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17133, 'high': 1.17159, 'low': 1.17117, 'close': 1.1715, 'volume': 11.0} | asctime='2026-05-02 23:25:00'
2026-05-02 23:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 0, 585661, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17265, 'high': 1.17431, 'low': 1.17249, 'close': 1.17424, 'volume': 11.0} | asctime='2026-05-02 23:25:00'
2026-05-02 23:25:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 0, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 23:25:00'
2026-05-02 23:25:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 1, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 23:25:01'
2026-05-02 23:25:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 5, 730000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 23:25:05'
2026-05-02 23:25:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 25, 15, 287000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 23:25:15'
2026-05-02 23:26:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 26, 19, 632708, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17127, 'close': 1.17145, 'volume': 4.0} | asctime='2026-05-02 23:26:19'
2026-05-02 23:26:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 26, 19, 634233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17249, 'high': 1.17284, 'low': 1.17249, 'close': 1.17277, 'volume': 4.0} | asctime='2026-05-02 23:26:19'
2026-05-02 23:26:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 26, 19, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 23:26:19'
2026-05-02 23:26:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 26, 22, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17286, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 23:26:22'
2026-05-02 23:26:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 26, 25, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 23:26:25'
2026-05-02 23:26:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 26, 34, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:26:34'
2026-05-02 23:27:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 27, 43, 284456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17146, 'low': 1.1712, 'close': 1.1712, 'volume': 4.0} | asctime='2026-05-02 23:27:43'
2026-05-02 23:27:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 27, 43, 285443, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17286, 'low': 1.17276, 'close': 1.17276, 'volume': 4.0} | asctime='2026-05-02 23:27:43'
2026-05-02 23:27:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 27, 43, 237000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 23:27:43'
2026-05-02 23:29:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 29, 4, 81024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17115, 'high': 1.17115, 'low': 1.17115, 'close': 1.17115, 'volume': 1.0} | asctime='2026-05-02 23:29:04'
2026-05-02 23:29:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 29, 4, 81803, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17271, 'high': 1.17271, 'low': 1.17271, 'close': 1.17271, 'volume': 1.0} | asctime='2026-05-02 23:29:04'
2026-05-02 23:29:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 29, 4, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 23:29:04'
2026-05-02 23:29:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 29, 30, 478000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 23:29:30'
2026-05-02 23:30:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 10, 380232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.17153, 'low': 1.17138, 'close': 1.17153, 'volume': 2.0} | asctime='2026-05-02 23:30:10'
2026-05-02 23:30:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 10, 381427, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17243, 'close': 1.17243, 'volume': 2.0} | asctime='2026-05-02 23:30:10'
2026-05-02 23:30:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 10, 382440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17159, 'high': 1.17159, 'low': 1.17115, 'close': 1.17153, 'volume': 11.0} | asctime='2026-05-02 23:30:10'
2026-05-02 23:30:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 10, 382933, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17249, 'high': 1.17286, 'low': 1.17243, 'close': 1.17243, 'volume': 11.0} | asctime='2026-05-02 23:30:10'
2026-05-02 23:30:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 10, 383400, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1715, 'high': 1.17167, 'low': 1.17102, 'close': 1.17153, 'volume': 46.0} | asctime='2026-05-02 23:30:10'
2026-05-02 23:30:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 10, 383798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1724, 'high': 1.17431, 'low': 1.1724, 'close': 1.17243, 'volume': 46.0} | asctime='2026-05-02 23:30:10'
2026-05-02 23:30:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 10, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 23:30:10'
2026-05-02 23:30:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 11, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17288, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 23:30:11'
2026-05-02 23:30:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 30, 55, 4000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 23:30:55'
2026-05-02 23:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 31, 14, 280162, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17104, 'high': 1.17113, 'low': 1.17104, 'close': 1.17113, 'volume': 3.0} | asctime='2026-05-02 23:31:14'
2026-05-02 23:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 31, 14, 280870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17288, 'low': 1.1726, 'close': 1.17269, 'volume': 3.0} | asctime='2026-05-02 23:31:14'
2026-05-02 23:31:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 31, 14, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 23:31:14'
2026-05-02 23:31:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 31, 15, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 23:31:16'
2026-05-02 23:31:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 31, 16, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 23:31:16'
2026-05-02 23:31:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 31, 43, 287000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17168, 'volume': 0.0} | asctime='2026-05-02 23:31:43'
2026-05-02 23:31:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 31, 55, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17142, 'volume': 0.0} | asctime='2026-05-02 23:31:55'
2026-05-02 23:33:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 33, 34, 578470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17109, 'high': 1.17168, 'low': 1.17109, 'close': 1.17142, 'volume': 5.0} | asctime='2026-05-02 23:33:34'
2026-05-02 23:33:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 33, 34, 580419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17274, 'low': 1.17258, 'close': 1.17274, 'volume': 5.0} | asctime='2026-05-02 23:33:34'
2026-05-02 23:33:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 33, 34, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17138, 'volume': 0.0} | asctime='2026-05-02 23:33:34'
2026-05-02 23:33:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 33, 46, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:33:46'
2026-05-02 23:33:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 33, 47, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 23:33:47'
2026-05-02 23:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 34, 10, 330597, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17138, 'high': 1.1715, 'low': 1.17112, 'close': 1.17112, 'volume': 3.0} | asctime='2026-05-02 23:34:10'
2026-05-02 23:34:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 34, 10, 331429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.1724, 'close': 1.17268, 'volume': 3.0} | asctime='2026-05-02 23:34:10'
2026-05-02 23:34:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 34, 10, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 23:34:10'
2026-05-02 23:34:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 34, 11, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17272, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 23:34:11'
2026-05-02 23:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 35, 27, 376828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17133, 'high': 1.1714, 'low': 1.17133, 'close': 1.1714, 'volume': 2.0} | asctime='2026-05-02 23:35:27'
2026-05-02 23:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 35, 27, 377747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17265, 'high': 1.17272, 'low': 1.17265, 'close': 1.17272, 'volume': 2.0} | asctime='2026-05-02 23:35:27'
2026-05-02 23:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 35, 27, 378284, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17104, 'high': 1.17168, 'low': 1.17104, 'close': 1.1714, 'volume': 13.0} | asctime='2026-05-02 23:35:27'
2026-05-02 23:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 35, 27, 378664, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1726, 'high': 1.17288, 'low': 1.1724, 'close': 1.17272, 'volume': 13.0} | asctime='2026-05-02 23:35:27'
2026-05-02 23:35:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 35, 27, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 23:35:27'
2026-05-02 23:36:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 15, 26591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17149, 'high': 1.17149, 'low': 1.17149, 'close': 1.17149, 'volume': 1.0} | asctime='2026-05-02 23:36:15'
2026-05-02 23:36:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 15, 27654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17239, 'high': 1.17239, 'low': 1.17239, 'close': 1.17239, 'volume': 1.0} | asctime='2026-05-02 23:36:15'
2026-05-02 23:36:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 14, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17261, 'bid_price': 1.17129, 'volume': 0.0} | asctime='2026-05-02 23:36:15'
2026-05-02 23:36:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 18, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 23:36:18'
2026-05-02 23:36:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 22, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17117, 'volume': 0.0} | asctime='2026-05-02 23:36:22'
2026-05-02 23:36:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 30, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 23:36:30'
2026-05-02 23:36:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 46, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17109, 'volume': 0.0} | asctime='2026-05-02 23:36:46'
2026-05-02 23:36:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 46, 760000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17098, 'volume': 0.0} | asctime='2026-05-02 23:36:46'
2026-05-02 23:36:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 36, 55, 325000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 23:36:55'
2026-05-02 23:37:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 37, 40, 675203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17129, 'high': 1.17132, 'low': 1.17098, 'close': 1.17118, 'volume': 7.0} | asctime='2026-05-02 23:37:40'
2026-05-02 23:37:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 37, 40, 676684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17261, 'high': 1.17278, 'low': 1.17253, 'close': 1.17274, 'volume': 7.0} | asctime='2026-05-02 23:37:40'
2026-05-02 23:37:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 37, 40, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 23:37:40'
2026-05-02 23:37:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 37, 51, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 23:37:51'
2026-05-02 23:37:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 37, 51, 924000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 23:37:51'
2026-05-02 23:37:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 37, 55, 399000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 23:37:55'
2026-05-02 23:38:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 38, 4, 125722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.1714, 'low': 1.17124, 'close': 1.1714, 'volume': 4.0} | asctime='2026-05-02 23:38:04'
2026-05-02 23:38:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 38, 4, 126564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.1726, 'low': 1.1723, 'close': 1.1723, 'volume': 4.0} | asctime='2026-05-02 23:38:04'
2026-05-02 23:38:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 38, 4, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 23:38:04'
2026-05-02 23:38:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 38, 24, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17275, 'bid_price': 1.17119, 'volume': 0.0} | asctime='2026-05-02 23:38:24'
2026-05-02 23:38:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 38, 29, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17113, 'volume': 0.0} | asctime='2026-05-02 23:38:29'
2026-05-02 23:39:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 39, 19, 374684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17112, 'high': 1.17119, 'low': 1.17112, 'close': 1.17113, 'volume': 3.0} | asctime='2026-05-02 23:39:19'
2026-05-02 23:39:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 39, 19, 375808, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17268, 'high': 1.17275, 'low': 1.17268, 'close': 1.17269, 'volume': 3.0} | asctime='2026-05-02 23:39:19'
2026-05-02 23:39:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 39, 19, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 23:39:19'
2026-05-02 23:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 39, 54, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 23:39:54'
2026-05-02 23:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 39, 57, 782000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17236, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 23:39:57'
2026-05-02 23:40:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 40, 48, 374576, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1713, 'high': 1.17151, 'low': 1.1713, 'close': 1.17146, 'volume': 3.0} | asctime='2026-05-02 23:40:48'
2026-05-02 23:40:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 40, 48, 376991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17262, 'high': 1.17262, 'low': 1.17236, 'close': 1.17236, 'volume': 3.0} | asctime='2026-05-02 23:40:48'
2026-05-02 23:40:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 40, 48, 378397, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17149, 'high': 1.17151, 'low': 1.17098, 'close': 1.17146, 'volume': 18.0} | asctime='2026-05-02 23:40:48'
2026-05-02 23:40:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 40, 48, 379802, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17239, 'high': 1.17278, 'low': 1.1723, 'close': 1.17236, 'volume': 18.0} | asctime='2026-05-02 23:40:48'
2026-05-02 23:40:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 40, 48, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1723, 'bid_price': 1.1714, 'volume': 0.0} | asctime='2026-05-02 23:40:48'
2026-05-02 23:40:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 40, 53, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17239, 'bid_price': 1.17149, 'volume': 0.0} | asctime='2026-05-02 23:40:53'
2026-05-02 23:42:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 42, 11, 272633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1714, 'high': 1.17149, 'low': 1.1714, 'close': 1.17149, 'volume': 2.0} | asctime='2026-05-02 23:42:11'
2026-05-02 23:42:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 42, 11, 273471, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1723, 'high': 1.17239, 'low': 1.1723, 'close': 1.17239, 'volume': 2.0} | asctime='2026-05-02 23:42:11'
2026-05-02 23:42:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 42, 11, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17244, 'bid_price': 1.17154, 'volume': 0.0} | asctime='2026-05-02 23:42:11'
2026-05-02 23:42:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 42, 54, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17257, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 23:42:54'
2026-05-02 23:43:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 43, 0, 172525, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17154, 'high': 1.17154, 'low': 1.17125, 'close': 1.17125, 'volume': 2.0} | asctime='2026-05-02 23:43:00'
2026-05-02 23:43:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 43, 0, 173787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17244, 'high': 1.17257, 'low': 1.17244, 'close': 1.17257, 'volume': 2.0} | asctime='2026-05-02 23:43:00'
2026-05-02 23:43:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 43, 0, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17234, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 23:43:00'
2026-05-02 23:43:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 43, 12, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 23:43:12'
2026-05-02 23:43:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 43, 21, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17225, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 23:43:21'
2026-05-02 23:44:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 44, 54, 374189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17144, 'high': 1.17151, 'low': 1.17135, 'close': 1.17135, 'volume': 3.0} | asctime='2026-05-02 23:44:54'
2026-05-02 23:44:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 44, 54, 375568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17234, 'high': 1.17241, 'low': 1.17225, 'close': 1.17225, 'volume': 3.0} | asctime='2026-05-02 23:44:54'
2026-05-02 23:44:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 44, 54, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 23:44:54'
2026-05-02 23:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 6, 21319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17121, 'high': 1.17121, 'low': 1.17121, 'close': 1.17121, 'volume': 1.0} | asctime='2026-05-02 23:45:06'
2026-05-02 23:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 6, 22342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17253, 'high': 1.17253, 'low': 1.17253, 'close': 1.17253, 'volume': 1.0} | asctime='2026-05-02 23:45:06'
2026-05-02 23:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 6, 23022, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1714, 'high': 1.17154, 'low': 1.17121, 'close': 1.17121, 'volume': 8.0} | asctime='2026-05-02 23:45:06'
2026-05-02 23:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 6, 23544, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1723, 'high': 1.17257, 'low': 1.17225, 'close': 1.17253, 'volume': 8.0} | asctime='2026-05-02 23:45:06'
2026-05-02 23:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 6, 23986, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.17104, 'high': 1.17168, 'low': 1.17098, 'close': 1.17121, 'volume': 39.0} | asctime='2026-05-02 23:45:06'
2026-05-02 23:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 6, 24453, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1726, 'high': 1.17288, 'low': 1.17225, 'close': 1.17253, 'volume': 39.0} | asctime='2026-05-02 23:45:06'
2026-05-02 23:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 5, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 23:45:06'
2026-05-02 23:45:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 19, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 23:45:19'
2026-05-02 23:45:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 29, 306000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17259, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 23:45:29'
2026-05-02 23:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 46, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 23:45:46'
2026-05-02 23:45:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 50, 531000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 23:45:50'
2026-05-02 23:45:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 50, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 23:45:50'
2026-05-02 23:45:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 50, 781000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:45:50'
2026-05-02 23:45:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 45, 56, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 23:45:56'
2026-05-02 23:46:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 46, 21, 970082, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17118, 'high': 1.17153, 'low': 1.17118, 'close': 1.17132, 'volume': 8.0} | asctime='2026-05-02 23:46:21'
2026-05-02 23:46:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 46, 21, 971560, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17274, 'high': 1.17276, 'low': 1.17243, 'close': 1.17264, 'volume': 8.0} | asctime='2026-05-02 23:46:21'
2026-05-02 23:46:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 46, 21, 934000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:46:21'
2026-05-02 23:46:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 46, 25, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 23:46:25'
2026-05-02 23:46:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 46, 28, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17271, 'bid_price': 1.17115, 'volume': 0.0} | asctime='2026-05-02 23:46:28'
2026-05-02 23:46:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 46, 34, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17256, 'bid_price': 1.17124, 'volume': 0.0} | asctime='2026-05-02 23:46:34'
2026-05-02 23:46:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 46, 37, 325000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17108, 'volume': 0.0} | asctime='2026-05-02 23:46:37'
2026-05-02 23:47:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 47, 27, 269626, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1712, 'high': 1.17124, 'low': 1.17108, 'close': 1.17108, 'volume': 5.0} | asctime='2026-05-02 23:47:27'
2026-05-02 23:47:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 47, 27, 270758, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17276, 'high': 1.17278, 'low': 1.17256, 'close': 1.17264, 'volume': 5.0} | asctime='2026-05-02 23:47:27'
2026-05-02 23:47:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 47, 27, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1727, 'bid_price': 1.17114, 'volume': 0.0} | asctime='2026-05-02 23:47:27'
2026-05-02 23:47:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 47, 34, 916000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17269, 'bid_price': 1.17137, 'volume': 0.0} | asctime='2026-05-02 23:47:34'
2026-05-02 23:47:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 47, 39, 881000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17241, 'bid_price': 1.17151, 'volume': 0.0} | asctime='2026-05-02 23:47:39'
2026-05-02 23:47:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 47, 43, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17252, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:47:43'
2026-05-02 23:48:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 48, 48, 573559, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17114, 'high': 1.17151, 'low': 1.17114, 'close': 1.1712, 'volume': 4.0} | asctime='2026-05-02 23:48:48'
2026-05-02 23:48:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 48, 48, 574887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1727, 'high': 1.1727, 'low': 1.17241, 'close': 1.17252, 'volume': 4.0} | asctime='2026-05-02 23:48:48'
2026-05-02 23:48:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 48, 48, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17267, 'bid_price': 1.17111, 'volume': 0.0} | asctime='2026-05-02 23:48:48'
2026-05-02 23:48:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 48, 49, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17274, 'bid_price': 1.17118, 'volume': 0.0} | asctime='2026-05-02 23:48:49'
2026-05-02 23:48:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 48, 49, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17281, 'bid_price': 1.17125, 'volume': 0.0} | asctime='2026-05-02 23:48:49'
2026-05-02 23:48:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 48, 51, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17253, 'bid_price': 1.17163, 'volume': 0.0} | asctime='2026-05-02 23:48:51'
2026-05-02 23:48:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 48, 57, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1724, 'bid_price': 1.1715, 'volume': 0.0} | asctime='2026-05-02 23:48:57'
2026-05-02 23:49:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 49, 33, 368358, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17111, 'high': 1.17163, 'low': 1.17111, 'close': 1.1715, 'volume': 5.0} | asctime='2026-05-02 23:49:33'
2026-05-02 23:49:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 49, 33, 369300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17267, 'high': 1.17281, 'low': 1.1724, 'close': 1.1724, 'volume': 5.0} | asctime='2026-05-02 23:49:33'
2026-05-02 23:49:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 49, 33, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17255, 'bid_price': 1.17123, 'volume': 0.0} | asctime='2026-05-02 23:49:33'
2026-05-02 23:50:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 50, 45, 18448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17123, 'high': 1.17123, 'low': 1.17123, 'close': 1.17123, 'volume': 1.0} | asctime='2026-05-02 23:50:45'
2026-05-02 23:50:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 50, 45, 19494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17255, 'high': 1.17255, 'low': 1.17255, 'close': 1.17255, 'volume': 1.0} | asctime='2026-05-02 23:50:45'
2026-05-02 23:50:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 50, 45, 20579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17118, 'high': 1.17163, 'low': 1.17108, 'close': 1.17123, 'volume': 23.0} | asctime='2026-05-02 23:50:45'
2026-05-02 23:50:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 50, 45, 21003, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17274, 'high': 1.17281, 'low': 1.1724, 'close': 1.17255, 'volume': 23.0} | asctime='2026-05-02 23:50:45'
2026-05-02 23:50:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 50, 44, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17087, 'volume': 0.0} | asctime='2026-05-02 23:50:45'
2026-05-02 23:51:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 17, 617338, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17087, 'high': 1.17087, 'low': 1.17087, 'close': 1.17087, 'volume': 1.0} | asctime='2026-05-02 23:51:17'
2026-05-02 23:51:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 17, 618870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17291, 'high': 1.17291, 'low': 1.17291, 'close': 1.17291, 'volume': 1.0} | asctime='2026-05-02 23:51:17'
2026-05-02 23:51:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 17, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17287, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 23:51:17'
2026-05-02 23:51:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 24, 663000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1733, 'bid_price': 1.17102, 'volume': 0.0} | asctime='2026-05-02 23:51:24'
2026-05-02 23:51:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 26, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17308, 'bid_price': 1.17104, 'volume': 0.0} | asctime='2026-05-02 23:51:26'
2026-05-02 23:51:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 33, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.173, 'bid_price': 1.17144, 'volume': 0.0} | asctime='2026-05-02 23:51:33'
2026-05-02 23:51:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 47, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17238, 'bid_price': 1.17148, 'volume': 0.0} | asctime='2026-05-02 23:51:47'
2026-05-02 23:51:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 51, 50, 728000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 23:51:50'
2026-05-02 23:52:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 52, 6, 767250, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17131, 'high': 1.17148, 'low': 1.17102, 'close': 1.17126, 'volume': 6.0} | asctime='2026-05-02 23:52:06'
2026-05-02 23:52:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 52, 6, 768842, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17287, 'high': 1.1733, 'low': 1.17238, 'close': 1.17258, 'volume': 6.0} | asctime='2026-05-02 23:52:06'
2026-05-02 23:52:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 52, 6, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1726, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 23:52:06'
2026-05-02 23:52:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 52, 14, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17264, 'bid_price': 1.17132, 'volume': 0.0} | asctime='2026-05-02 23:52:14'
2026-05-02 23:52:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 52, 21, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17265, 'bid_price': 1.17133, 'volume': 0.0} | asctime='2026-05-02 23:52:21'
2026-05-02 23:52:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 52, 26, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17283, 'bid_price': 1.17127, 'volume': 0.0} | asctime='2026-05-02 23:52:26'
2026-05-02 23:52:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 52, 35, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17258, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 23:52:35'
2026-05-02 23:53:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 53, 33, 416912, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17128, 'high': 1.17133, 'low': 1.17126, 'close': 1.17126, 'volume': 5.0} | asctime='2026-05-02 23:53:33'
2026-05-02 23:53:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 53, 33, 419078, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1726, 'high': 1.17283, 'low': 1.17258, 'close': 1.17258, 'volume': 5.0} | asctime='2026-05-02 23:53:33'
2026-05-02 23:53:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 53, 33, 375000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 23:53:33'
2026-05-02 23:54:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 54, 52, 465149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17126, 'low': 1.17126, 'close': 1.17126, 'volume': 1.0} | asctime='2026-05-02 23:54:52'
2026-05-02 23:54:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 54, 52, 466279, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17282, 'low': 1.17282, 'close': 1.17282, 'volume': 1.0} | asctime='2026-05-02 23:54:52'
2026-05-02 23:54:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 54, 52, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17266, 'bid_price': 1.17134, 'volume': 0.0} | asctime='2026-05-02 23:54:52'
2026-05-02 23:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 54, 55, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:54:55'
2026-05-02 23:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 54, 55, 419000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17284, 'bid_price': 1.17128, 'volume': 0.0} | asctime='2026-05-02 23:54:55'
2026-05-02 23:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 54, 55, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17292, 'bid_price': 1.17136, 'volume': 0.0} | asctime='2026-05-02 23:54:55'
2026-05-02 23:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 4, 15910, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17134, 'high': 1.17136, 'low': 1.1712, 'close': 1.17136, 'volume': 4.0} | asctime='2026-05-02 23:55:04'
2026-05-02 23:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 4, 16787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17266, 'high': 1.17292, 'low': 1.17266, 'close': 1.17292, 'volume': 4.0} | asctime='2026-05-02 23:55:04'
2026-05-02 23:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 4, 17350, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17087, 'high': 1.17148, 'low': 1.17087, 'close': 1.17136, 'volume': 17.0} | asctime='2026-05-02 23:55:04'
2026-05-02 23:55:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 4, 17928, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.17291, 'high': 1.1733, 'low': 1.17238, 'close': 1.17292, 'volume': 17.0} | asctime='2026-05-02 23:55:04'
2026-05-02 23:55:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 3, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17146, 'volume': 0.0} | asctime='2026-05-02 23:55:04'
2026-05-02 23:55:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 8, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17249, 'bid_price': 1.17159, 'volume': 0.0} | asctime='2026-05-02 23:55:08'
2026-05-02 23:55:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 49, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17263, 'bid_price': 1.17131, 'volume': 0.0} | asctime='2026-05-02 23:55:49'
2026-05-02 23:55:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 55, 57, 851000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17248, 'bid_price': 1.17158, 'volume': 0.0} | asctime='2026-05-02 23:55:57'
2026-05-02 23:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 56, 4, 464411, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17146, 'high': 1.17159, 'low': 1.17131, 'close': 1.17158, 'volume': 4.0} | asctime='2026-05-02 23:56:04'
2026-05-02 23:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 56, 4, 465158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17278, 'high': 1.17278, 'low': 1.17248, 'close': 1.17248, 'volume': 4.0} | asctime='2026-05-02 23:56:04'
2026-05-02 23:56:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 56, 4, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17235, 'bid_price': 1.17145, 'volume': 0.0} | asctime='2026-05-02 23:56:04'
2026-05-02 23:56:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 56, 18, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17262, 'bid_price': 1.1713, 'volume': 0.0} | asctime='2026-05-02 23:56:19'
2026-05-02 23:56:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 56, 46, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17268, 'bid_price': 1.17112, 'volume': 0.0} | asctime='2026-05-02 23:56:46'
2026-05-02 23:56:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 56, 50, 230000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17277, 'bid_price': 1.17121, 'volume': 0.0} | asctime='2026-05-02 23:56:50'
2026-05-02 23:56:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 56, 55, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17276, 'bid_price': 1.1712, 'volume': 0.0} | asctime='2026-05-02 23:56:55'
2026-05-02 23:58:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 58, 34, 262994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17145, 'high': 1.17145, 'low': 1.17112, 'close': 1.1712, 'volume': 5.0} | asctime='2026-05-02 23:58:34'
2026-05-02 23:58:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 58, 34, 264614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17235, 'high': 1.17277, 'low': 1.17235, 'close': 1.17276, 'volume': 5.0} | asctime='2026-05-02 23:58:34'
2026-05-02 23:58:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 58, 34, 243000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17282, 'bid_price': 1.17126, 'volume': 0.0} | asctime='2026-05-02 23:58:34'
2026-05-02 23:58:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 58, 35, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17243, 'bid_price': 1.17153, 'volume': 0.0} | asctime='2026-05-02 23:58:35'
2026-05-02 23:58:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 58, 35, 731000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17273, 'bid_price': 1.17141, 'volume': 0.0} | asctime='2026-05-02 23:58:35'
2026-05-02 23:59:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 59, 12, 912616, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17126, 'high': 1.17153, 'low': 1.17126, 'close': 1.17141, 'volume': 3.0} | asctime='2026-05-02 23:59:12'
2026-05-02 23:59:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 59, 12, 914069, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.17282, 'high': 1.17282, 'low': 1.17243, 'close': 1.17273, 'volume': 3.0} | asctime='2026-05-02 23:59:12'
2026-05-02 23:59:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 59, 12, 844000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17278, 'bid_price': 1.17122, 'volume': 0.0} | asctime='2026-05-02 23:59:12'
2026-05-02 23:59:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 2, 23, 59, 21, 284000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.17291, 'bid_price': 1.17135, 'volume': 0.0} | asctime='2026-05-02 23:59:21'
